Index: CONFIG/trunk/IPSLCM5/scripts/BB_make
===================================================================
--- CONFIG/trunk/IPSLCM5/scripts/BB_make	(revision 387)
+++ CONFIG/trunk/IPSLCM5/scripts/BB_make	(revision 445)
@@ -2,24 +2,26 @@
 # some variables
 TMP = ../../../tmp
-#-Q- platine # Compiler options NEMO (CCRT Itanium Bull)
-#-Q- platine F_O = -O3 -i4 -r8 -module $(MODDIR)/oce -I$(MODDIR) -I$(MODDIR)/oce -I$(NCDF_INC) $(USER_INC)
-#-Q- platine L_X = $(L_O)
-#-Q- sx8mercure  # Compiler options NEMO (CCRT SX8-NEC) 
-#-Q- sx8mercure  F_O = -size_t64 -dw -Wf\"-A dbl4\" -sx8 -C vopt -Wf"-P nh" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
+
+#WARNING : NEMO does NOT support fortran 95 signed zero behaviour when using intrinsec SIGN function
+#          This doesnt happen whith Fortran 90 compilers but
+#          Check your compilers option in consequence when using real F95 compilers
+
+#-Q- sx8mercure  # Compiler options NEMO (CEA SX6-NEC) 
+#-Q- sx8mercure  F_O = -f2003 nocbind noopt_ieee -size_t64 -dw -Wf\"-A dbl4\" -sx8 -C vopt -Wf"-P nh" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
 #-Q- sx8mercure  F_F = $(F_O) -f3
 #-Q- sx8mercure  L_X = $(L_O)
-#-Q- sx8brodie  # Compiler options NEMO (IDRIS SX8-NEC) 
-#-Q- sx8brodie  F_O = -dw -Wf\"-A idbl4\" -sx8 -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
+#-Q- sx8brodie  # Compiler options NEMO (CEA SX6-NEC) 
+#-Q- sx8brodie  F_O =  -f2003 nocbind noopt_ieee -dw -Wf\"-A idbl4\" -sx8 -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
 #-Q- sx8brodie  F_F = $(F_O) -f3
 #-Q- sx8brodie  L_X = $(L_O)
 #-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 -O overlap" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
+#-Q- sxdkrz  F_O =  -f2003 nocbind noopt_ieee -ew -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
 #-Q- sxdkrz  F_F = $(F_O) -f3
 #-Q- sxdkrz  L_X = $(L_O) -ftrace
 #-Q- eshpux  # Compiler options for NEMO (Earth Simulator)
 #-Q- eshpux  # for super perfs!
-#-Q- eshpux  # F_O = $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
+#-Q- eshpux  # F_O = -f2003 nocbind noopt_ieee $(FTRACE) -pi nest=5 line=10000 expin=Fmpplib.F -Wf,-A idbl4 -C hopt -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
 #-Q- eshpux  # regular options!
-#-Q- eshpux  F_O = $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
+#-Q- eshpux  F_O = -f2003 nocbind noopt_ieee $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh -O overlap" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
 #-Q- eshpux  F_F = $(F_O) -f3
 #-Q- eshpux  L_X = $(L_O)
@@ -40,9 +42,17 @@
 #-Q- g95  F_F = $(F_O)-ffixed-form -ffixed-line-length-132
 #-Q- g95  L_X = -r8 -O3
+#-Q- gfortran  # Compiler options for NEMO (gfortran version)
+#-Q- gfortran  F_O = -fno-second-underscore -fdefault-real-8 -funroll-all-loops -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
+#-Q- gfortran  F_F = $(F_O)-ffixed-form -ffixed-line-length-132
+#-Q- gfortran  L_X = -fdefault-real-8
 #-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 -I $(NCDF_INC) $(USER_INC)
+#-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 -I $(NCDF_INC)
 #-Q- aix    F_F = -O3 -qsave -qrealsize=8 -qsuffix=f=f -qsuffix=cpp=F -qfixed=132 -qextname -qsource -q64 -qlargepage -qmaxmem=-1 -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
 #-Q- aix   L_O = $(F_P) -q64 -O3
 #-Q- aix   L_X = $(L_O)
+#-Q- babel  # Compiler options for NEMO (blue gene version)
+#-Q- babel  F_O =  -O3 -qsave -qrealsize=8 -qsuffix=f=f90 -qsuffix=cpp=F90 -qsource -qextname=flush -qlargepage -qmaxmem=-1 -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
+#-Q- babel  F_F = -O3 -qsave -qrealsize=8 -qsuffix=f=f -qsuffix=cpp=F -qfixed=132 -qsource -qextname=flush -qlargepage -qmaxmem=-1 -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
+#-Q- babel  L_X = $(L_O)
 #-Q- osxxlf    # Compiler options for NEMO (osxxlf version)
 #-Q- osxxlf    F_O = -O3 -qsave -qrealsize=8 -qsuffix=f=f90 -qsuffix=cpp=F90 -qsource -qextname -qstrict -qmaxmem=-1 -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC)
@@ -76,7 +86,5 @@
      key_antarctic \
      key_arctic \
-     key_barotropic \
      key_bdy \
-     key_bdy_tides \
      key_c1d \
      key_coupled \
@@ -129,5 +137,4 @@
      key_orca_r2 \
      key_orca_r4 \
-     key_passivetrc \
      key_pisces \
      key_sigma_vvl \
@@ -169,20 +176,19 @@
 		$(MODEL_LIB)(agrif_user.o)\
 		$(MODEL_LIB)(albedo.o)\
-		$(MODEL_LIB)(bdy_oce.o)\
-		$(MODEL_LIB)(bdy_par.o)\
 		$(MODEL_LIB)(bdydta.o)\
 		$(MODEL_LIB)(bdydyn.o)\
 		$(MODEL_LIB)(bdyini.o)\
+		$(MODEL_LIB)(bdy_oce.o)\
+		$(MODEL_LIB)(bdy_par.o)\
 		$(MODEL_LIB)(bdytides.o)\
 		$(MODEL_LIB)(bdytra.o)\
 		$(MODEL_LIB)(bdyvol.o)\
 		$(MODEL_LIB)(c1d.o)\
-		$(MODEL_LIB)(cla.o)\
 		$(MODEL_LIB)(cla_div.o)\
 		$(MODEL_LIB)(cla_dynspg.o)\
+		$(MODEL_LIB)(cla.o)\
 		$(MODEL_LIB)(closea.o)\
 		$(MODEL_LIB)(cpl_oasis3.o)\
 		$(MODEL_LIB)(cpl_oasis4.o)\
-		$(MODEL_LIB)(cpl_oce.o)\
 		$(MODEL_LIB)(ctlopn.o)\
 		$(MODEL_LIB)(daymod.o)\
@@ -195,13 +201,13 @@
 		$(MODEL_LIB)(diaptr.o)\
 		$(MODEL_LIB)(diaspr.o)\
+		$(MODEL_LIB)(diawri_c1d.o)\
 		$(MODEL_LIB)(diawri.o)\
-		$(MODEL_LIB)(diawri_c1d.o)\
 		$(MODEL_LIB)(divcur.o)\
-		$(MODEL_LIB)(dom_ice_2.o)\
-		$(MODEL_LIB)(dom_oce.o)\
 		$(MODEL_LIB)(domain.o)\
 		$(MODEL_LIB)(domcfg.o)\
 		$(MODEL_LIB)(domhgr.o)\
+		$(MODEL_LIB)(dom_ice_2.o)\
 		$(MODEL_LIB)(dommsk.o)\
+		$(MODEL_LIB)(dom_oce.o)\
 		$(MODEL_LIB)(domstp.o)\
 		$(MODEL_LIB)(domvvl.o)\
@@ -210,19 +216,19 @@
 		$(MODEL_LIB)(dtasal.o)\
 		$(MODEL_LIB)(dtatem.o)\
+		$(MODEL_LIB)(dynadv_cen2.o)\
 		$(MODEL_LIB)(dynadv.o)\
-		$(MODEL_LIB)(dynadv_cen2.o)\
 		$(MODEL_LIB)(dynadv_ubs.o)\
 		$(MODEL_LIB)(dyncor_c1d.o)\
 		$(MODEL_LIB)(dynhpg.o)\
 		$(MODEL_LIB)(dynkeg.o)\
-		$(MODEL_LIB)(dynldf.o)\
 		$(MODEL_LIB)(dynldf_bilap.o)\
 		$(MODEL_LIB)(dynldf_bilapg.o)\
+		$(MODEL_LIB)(dynldf.o)\
 		$(MODEL_LIB)(dynldf_iso.o)\
 		$(MODEL_LIB)(dynldf_lap.o)\
+		$(MODEL_LIB)(dynnxt_c1d.o)\
 		$(MODEL_LIB)(dynnxt.o)\
-		$(MODEL_LIB)(dynnxt_c1d.o)\
+		$(MODEL_LIB)(dynspg_exp.o)\
 		$(MODEL_LIB)(dynspg.o)\
-		$(MODEL_LIB)(dynspg_exp.o)\
 		$(MODEL_LIB)(dynspg_flt.o)\
 		$(MODEL_LIB)(dynspg_oce.o)\
@@ -231,23 +237,22 @@
 		$(MODEL_LIB)(dynvor.o)\
 		$(MODEL_LIB)(dynzad.o)\
+		$(MODEL_LIB)(dynzdf_exp.o)\
 		$(MODEL_LIB)(dynzdf.o)\
-		$(MODEL_LIB)(dynzdf_exp.o)\
 		$(MODEL_LIB)(dynzdf_imp.o)\
 		$(MODEL_LIB)(eosbn2.o)\
 		$(MODEL_LIB)(fldread.o)\
 		$(MODEL_LIB)(flo4rk.o)\
-		$(MODEL_LIB)(flo_oce.o)\
 		$(MODEL_LIB)(floats.o)\
 		$(MODEL_LIB)(floblk.o)\
 		$(MODEL_LIB)(flodom.o)\
+		$(MODEL_LIB)(flo_oce.o)\
 		$(MODEL_LIB)(flowri.o)\
 		$(MODEL_LIB)(geo2ocean.o)\
 		$(MODEL_LIB)(ice_2.o)\
+		$(MODEL_LIB)(iceini_2.o)\
 		$(MODEL_LIB)(ice_oce.o)\
-		$(MODEL_LIB)(iceini_2.o)\
 		$(MODEL_LIB)(in_out_manager.o)\
-		$(MODEL_LIB)(initrc.o)\
+		$(MODEL_LIB)(iom_def.o)\
 		$(MODEL_LIB)(iom.o)\
-		$(MODEL_LIB)(iom_def.o)\
 		$(MODEL_LIB)(iom_ioipsl.o)\
 		$(MODEL_LIB)(iom_nf90.o)\
@@ -281,13 +286,13 @@
 		$(MODEL_LIB)(mppini.o)\
 		$(MODEL_LIB)(oasis4_date.o)\
-		$(MODEL_LIB)(obc_oce.o)\
-		$(MODEL_LIB)(obc_par.o)\
 		$(MODEL_LIB)(obccli.o)\
 		$(MODEL_LIB)(obcdom.o)\
 		$(MODEL_LIB)(obcdta.o)\
+		$(MODEL_LIB)(obcdyn_bt.o)\
 		$(MODEL_LIB)(obcdyn.o)\
-		$(MODEL_LIB)(obcdyn_bt.o)\
 		$(MODEL_LIB)(obcfla.o)\
 		$(MODEL_LIB)(obcini.o)\
+		$(MODEL_LIB)(obc_oce.o)\
+		$(MODEL_LIB)(obc_par.o)\
 		$(MODEL_LIB)(obcrad.o)\
 		$(MODEL_LIB)(obcrst.o)\
@@ -296,5 +301,4 @@
 		$(MODEL_LIB)(obcvol.o)\
 		$(MODEL_LIB)(oce.o)\
-		$(MODEL_LIB)(ocfzpt.o)\
 		$(MODEL_LIB)(opa.o)\
 		$(MODEL_LIB)(par_ice_2.o)\
@@ -304,6 +308,4 @@
 		$(MODEL_LIB)(prtctl.o)\
 		$(MODEL_LIB)(restart.o)\
-		$(MODEL_LIB)(sbc_ice.o)\
-		$(MODEL_LIB)(sbc_oce.o)\
 		$(MODEL_LIB)(sbcana.o)\
 		$(MODEL_LIB)(sbcblk_clio.o)\
@@ -312,28 +314,30 @@
 		$(MODEL_LIB)(sbcflx.o)\
 		$(MODEL_LIB)(sbcfwb.o)\
+		$(MODEL_LIB)(sbc_ice.o)\
 		$(MODEL_LIB)(sbcice_if.o)\
+		$(MODEL_LIB)(sbcice_lim_2.o)\
 		$(MODEL_LIB)(sbcice_lim.o)\
-		$(MODEL_LIB)(sbcice_lim_2.o)\
 		$(MODEL_LIB)(sbcmod.o)\
+		$(MODEL_LIB)(sbc_oce.o)\
 		$(MODEL_LIB)(sbcrnf.o)\
 		$(MODEL_LIB)(sbcssm.o)\
 		$(MODEL_LIB)(sbcssr.o)\
 		$(MODEL_LIB)(sms.o)\
-		$(MODEL_LIB)(sol_oce.o)\
 		$(MODEL_LIB)(solfet.o)\
 		$(MODEL_LIB)(solisl.o)\
 		$(MODEL_LIB)(solmat.o)\
+		$(MODEL_LIB)(sol_oce.o)\
 		$(MODEL_LIB)(solpcg.o)\
 		$(MODEL_LIB)(solsor.o)\
 		$(MODEL_LIB)(solver.o)\
+		$(MODEL_LIB)(step_c1d.o)\
 		$(MODEL_LIB)(step.o)\
-		$(MODEL_LIB)(step_c1d.o)\
 		$(MODEL_LIB)(stpctl.o)\
 		$(MODEL_LIB)(thd_ice_2.o)\
-		$(MODEL_LIB)(traadv.o)\
 		$(MODEL_LIB)(traadv_cen2.o)\
 		$(MODEL_LIB)(traadv_eiv.o)\
+		$(MODEL_LIB)(traadv.o)\
+		$(MODEL_LIB)(traadv_muscl2.o)\
 		$(MODEL_LIB)(traadv_muscl.o)\
-		$(MODEL_LIB)(traadv_muscl2.o)\
 		$(MODEL_LIB)(traadv_qck.o)\
 		$(MODEL_LIB)(traadv_tvd.o)\
@@ -342,7 +346,7 @@
 		$(MODEL_LIB)(trabbl.o)\
 		$(MODEL_LIB)(tradmp.o)\
-		$(MODEL_LIB)(traldf.o)\
 		$(MODEL_LIB)(traldf_bilap.o)\
 		$(MODEL_LIB)(traldf_bilapg.o)\
+		$(MODEL_LIB)(traldf.o)\
 		$(MODEL_LIB)(traldf_iso.o)\
 		$(MODEL_LIB)(traldf_lap.o)\
@@ -351,7 +355,8 @@
 		$(MODEL_LIB)(traqsr.o)\
 		$(MODEL_LIB)(trasbc.o)\
+		$(MODEL_LIB)(trazdf_exp.o)\
 		$(MODEL_LIB)(trazdf.o)\
-		$(MODEL_LIB)(trazdf_exp.o)\
 		$(MODEL_LIB)(trazdf_imp.o)\
+		$(MODEL_LIB)(trcini.o)\
 		$(MODEL_LIB)(trc_oce.o)\
 		$(MODEL_LIB)(trcstp.o)\
@@ -366,5 +371,4 @@
 		$(MODEL_LIB)(trdvor_oce.o)\
 		$(MODEL_LIB)(wzvmod.o)\
-		$(MODEL_LIB)(zdf_oce.o)\
 		$(MODEL_LIB)(zdfbfr.o)\
 		$(MODEL_LIB)(zdfddm.o)\
@@ -373,4 +377,5 @@
 		$(MODEL_LIB)(zdfkpp.o)\
 		$(MODEL_LIB)(zdfmxl.o)\
+		$(MODEL_LIB)(zdf_oce.o)\
 		$(MODEL_LIB)(zdfric.o)\
 		$(MODEL_LIB)(zdftke.o)\
@@ -420,4 +425,5 @@
 	@$(F_C) \
 #-Q- aix		-qsuffix=f=F90 \
+#-Q- babel		-qsuffix=f=F90 \
 #-Q- osxxlf		-qsuffix=f=F90 \
 	$(P_P) $(F_O) \
@@ -428,4 +434,5 @@
 #-Q- eshpux		-R2 \
 #-Q- aix		-qsource \
+#-Q- babel		-qsource \
 	   OPAFILES/$*.F90 || { mv $(PREF).L $(TMP) ; false ; exit ; }
 #-Q- sxdkrz		@$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null
@@ -464,4 +471,5 @@
 #-Q- eshpux		-R2 \
 #-Q- aix		-qsource \
+#-Q- babel		-qsource \
 		$*.f90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; }
 #-Q- sxdkrz		@$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null
@@ -471,4 +479,5 @@
 		@if [ -f $*.mod ] ; then mv $*.mod $(MODDIR)/oce ; fi
 #-Q- aix		@mv $(PREF)$*.lst $(PREF)$*.L
+#-Q- babel		@mv $(PREF)$*.lst $(PREF)$*.L
 #-Q- linux		@mv $(PREF)$*.lst $(PREF)$*.L
 #-Q- osxxlf		@mv $(PREF)$*.lst $(PREF)$*.L
@@ -481,5 +490,4 @@
 		@(cd OPAFILES ; ./conv agrif_opa.in -rm \
 #-Q- linux		-SubloopScalar \
-#-Q- lxiv8		-SubloopScalar \
 #-Q- g95			-SubloopScalar \
 #-Q- f95			-SubloopScalar \
@@ -496,4 +504,5 @@
 #-Q- eshpux		-R2 \
 #-Q- aix		-qsource \
+#-Q- babel		-qsource \
 		OPAFILES/$*.F90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
 else
@@ -505,4 +514,5 @@
 #-Q- eshpux		-R2 \
 #-Q- aix		-qsource \
+#-Q- babel		-qsource \
 		$*.F90 || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; }
 endif
@@ -513,4 +523,5 @@
 		@if [ -f $*.mod ] ; then mv $*.mod $(MODDIR)/oce ; fi
 #-Q- aix		@mv $(PREF)$*.lst $(PREF)$*.L
+#-Q- babel		@mv $(PREF)$*.lst $(PREF)$*.L
 #-Q- linux		@mv $(PREF)$*.lst $(PREF)$*.L
 #-Q- osxxlf		@mv $(PREF)$*.lst $(PREF)$*.L
@@ -523,5 +534,4 @@
 		@(cd OPAFILES ; ./conv agrif_opa.in -rm \
 #-Q- linux		-SubloopScalar \
-#-Q- lxiv8		-SubloopScalar \
 #-Q- g95			-SubloopScalar \
 #-Q- f95			-SubloopScalar \
@@ -538,4 +548,5 @@
 #-Q- eshpux		-R2 \
 #-Q- aix		-qsource \
+#-Q- babel		-qsource \
 		OPAFILES/$*.F || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; } 
 else
@@ -547,4 +558,5 @@
 #-Q- eshpux		-R2 \
 #-Q- aix		-qsource \
+#-Q- babel		-qsource \
 		$*.F || { if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi ; false ; exit ; }
 endif
@@ -555,4 +567,5 @@
 		@if [ -f $*.mod ] ; then mv $*.mod $(MODDIR)/oce ; fi
 #-Q- aix		@mv $(PREF)$*.lst $(PREF)$*.L
+#-Q- babel		@mv $(PREF)$*.lst $(PREF)$*.L
 #-Q- linux		@mv $(PREF)$*.lst $(PREF)$*.L
 #-Q- osxxlf		@mv $(PREF)$*.lst $(PREF)$*.L
@@ -568,4 +581,5 @@
 #-Q- eshpux		-R2 \
 #-Q- aix		-qsource \
+#-Q- babel		-qsource \
 		$*.f|| { if [ -f $(PREF)$*.L ] ; then mv $*.L $(TMP) ; fi ; false ; exit ; }
 #-Q- sxdkrz		@$(A_X) $(SXMODEL_LIB) $*.o  > /dev/null
@@ -574,4 +588,5 @@
 		@$(RM) -f $*.o
 #-Q- aix		@mv $(PREF)$*.lst $(PREF)$*.L
+#-Q- babel		@mv $(PREF)$*.lst $(PREF)$*.L
 #-Q- linux	@mv $(PREF)$*.lst $(PREF)$*.L
 #-Q- osxxlf		@mv $(PREF)$*.lst $(PREF)$*.L
@@ -583,21 +598,24 @@
 	par_kind.F90 \
 	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
+	dom_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	par_oce.F90 \
 	KEY_CPP \
 	agrif_oce.F90
 $(MODEL_LIB)(agrif_opa_interp.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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	agrif_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -607,7 +625,4 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	oce.F90 \
 	par_oce.F90 \
@@ -620,12 +635,15 @@
 	agrif_opa_interp.F90
 $(MODEL_LIB)(agrif_opa_sponge.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	agrif_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -633,7 +651,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	oce.F90 \
 	par_oce.F90 \
@@ -643,4 +658,10 @@
 	agrif_opa_sponge.F90
 $(MODEL_LIB)(agrif_opa_update.o) :	\
+	bdy_oce.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -656,10 +677,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	bdy_oce.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	obc_oce.F90 \
 	oce.F90 \
@@ -669,4 +684,8 @@
 	prtctl.F90 \
 	sbc_oce.F90 \
+	agrif_oce.F90 \
+	cla_div.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
 	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(cla_div.o) \
@@ -674,13 +693,7 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(wzvmod.o) \
-	agrif_oce.F90 \
-	cla_div.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
+	oce.F90 \
 	par_oce.F90 \
 	wzvmod.F90 \
@@ -690,10 +703,12 @@
 	agrif_opa_update.F90
 $(MODEL_LIB)(agrif_top_interp.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	agrif_oce.F90 \
+	dom_oce.F90 \
 	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -703,6 +718,4 @@
 	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(trcstp.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
 	oce.F90 \
 	par_oce.F90 \
@@ -716,10 +729,12 @@
 	agrif_top_interp.F90
 $(MODEL_LIB)(agrif_top_update.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	agrif_oce.F90 \
+	dom_oce.F90 \
 	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -728,6 +743,4 @@
 	$(MODEL_LIB)(sms.o) \
 	$(MODEL_LIB)(trcstp.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
 	oce.F90 \
 	par_oce.F90 \
@@ -739,17 +752,42 @@
 	agrif_top_update.F90
 $(MODEL_LIB)(agrif_user.o) :	\
+	agrif_oce.F90 \
+	bdyini.F90 \
+	bdy_par.F90 \
+	c1d.F90 \
+	cla_div.F90 \
+	cpl_oasis3.F90 \
+	cpl_oasis4.F90 \
+	daymod.F90 \
+	diaptr.F90 \
+	divcur.F90 \
+	domain.F90 \
+	domcfg.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	dyncor_c1d.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	istate.F90 \
+	ldfdyn.F90 \
+	ldftra.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(agrif_oce.o) \
+	$(MODEL_LIB)(bdyini.o) \
 	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdyini.o) \
-	$(MODEL_LIB)(bdytides.o) \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(cla_div.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(cpl_oasis4.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)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtatem.o) \
@@ -758,5 +796,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(initrc.o) \
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(istate.o) \
@@ -766,8 +803,7 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(mppini.o) \
+	$(MODEL_LIB)(obcini.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcini.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -777,45 +813,19 @@
 	$(MODEL_LIB)(sms.o) \
 	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(step_c1d.o) \
 	$(MODEL_LIB)(step.o) \
-	$(MODEL_LIB)(step_c1d.o) \
+	$(MODEL_LIB)(trcini.o) \
 	$(MODEL_LIB)(trcstp.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(wzvmod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfini.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	agrif_oce.F90 \
-	bdy_par.F90 \
-	bdyini.F90 \
-	bdytides.F90 \
-	c1d.F90 \
-	cla_div.F90 \
-	cpl_oasis3.F90 \
-	daymod.F90 \
-	diaptr.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	domain.F90 \
-	domcfg.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dyncor_c1d.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	initrc.F90 \
-	iom.F90 \
-	istate.F90 \
-	ldfdyn.F90 \
-	ldftra.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	mppini.F90 \
+	obcini.F90 \
 	obc_par.F90 \
-	obcini.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
+	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -825,14 +835,24 @@
 	sms.F90 \
 	sol_oce.F90 \
+	step_c1d.F90 \
 	step.F90 \
-	step_c1d.F90 \
+	trcini.F90 \
 	trcstp.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
 	wzvmod.F90 \
-	zdf_oce.F90 \
 	zdfini.F90 \
 	zdfmxl.F90 \
+	zdf_oce.F90 \
 	zpshde.F90 \
+	agrif_oce.F90 \
+	agrif_opa_interp.F90 \
+	agrif_opa_sponge.F90 \
+	agrif_opa_update.F90 \
+	agrif_top_interp.F90 \
+	agrif_top_update.F90 \
+	dom_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
 	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(agrif_opa_interp.o) \
@@ -850,13 +870,4 @@
 	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(tradmp.o) \
-	agrif_oce.F90 \
-	agrif_opa_interp.F90 \
-	agrif_opa_sponge.F90 \
-	agrif_opa_update.F90 \
-	agrif_top_interp.F90 \
-	agrif_top_update.F90 \
-	dom_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
 	oce.F90 \
 	opa.F90 \
@@ -869,37 +880,31 @@
 	agrif_user.F90
 $(MODEL_LIB)(albedo.o) :	\
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(phycst.o) \
-	in_out_manager.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(phycst.o) \
 	phycst.F90 \
 	KEY_CPP \
 	albedo.F90
-$(MODEL_LIB)(bdy_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(par_oce.o) \
+$(MODEL_LIB)(bdydta.o) :	\
+	bdy_oce.F90 \
 	bdy_par.F90 \
-	par_oce.F90 \
-	KEY_CPP \
-	bdy_oce.F90
-$(MODEL_LIB)(bdy_par.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	bdy_par.F90
-$(MODEL_LIB)(bdydta.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
@@ -907,8 +912,8 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -919,4 +924,31 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	bdy_oce.F90 \
+	bdytides.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	oce.F90 \
+	phycst.F90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	bdydta.F90
+$(MODEL_LIB)(bdydyn.o) :	\
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -925,35 +957,56 @@
 	in_out_manager.F90 \
 	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.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) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	bdy_oce.F90 \
+	bdytides.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	bdydyn.F90
+$(MODEL_LIB)(bdyini.o) :	\
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	bdy_oce.F90 \
-	bdytides.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	oce.F90 \
-	phycst.F90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	bdydta.F90
-$(MODEL_LIB)(bdydyn.o) :	\
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
@@ -961,12 +1014,85 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	bdy_oce.F90 \
+	bdytides.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	oce.F90 \
+	KEY_CPP \
+	bdyini.F90
+$(MODEL_LIB)(bdy_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	bdy_par.F90 \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	bdy_oce.F90
+$(MODEL_LIB)(bdy_par.o) :	\
+	KEY_CPP \
+	bdy_par.F90
+$(MODEL_LIB)(bdytides.o) :	\
+	bdy_par.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -976,29 +1102,4 @@
 	iom.F90 \
 	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	bdy_oce.F90 \
-	bdytides.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	phycst.F90 \
-	KEY_CPP \
-	bdydyn.F90
-$(MODEL_LIB)(bdyini.o) :	\
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
@@ -1007,97 +1108,7 @@
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	bdy_oce.F90 \
-	bdytides.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	KEY_CPP \
-	bdyini.F90
-$(MODEL_LIB)(bdytides.o) :	\
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	bdy_par.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -1105,27 +1116,37 @@
 	bdytides.F90
 $(MODEL_LIB)(bdytra.o) :	\
+	bdy_par.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(bdy_par.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	bdy_par.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	bdy_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	bdy_oce.F90 \
-	dom_oce.F90 \
-	lbclnk.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
 	oce.F90 \
 	KEY_CPP \
 	bdytra.F90
 $(MODEL_LIB)(bdyvol.o) :	\
+	bdy_par.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(bdy_par.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -1134,10 +1155,10 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	bdy_par.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	bdy_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -1147,8 +1168,4 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	bdy_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -1160,60 +1177,29 @@
 	KEY_CPP \
 	c1d.F90
-$(MODEL_LIB)(cla.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)(sbc_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	cla.F90
 $(MODEL_LIB)(cla_div.o) :	\
-	$(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)(sbc_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	oce.F90 \
 	sbc_oce.F90 \
@@ -1222,4 +1208,10 @@
 	cla_div.F90
 $(MODEL_LIB)(cla_dynspg.o) :	\
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
@@ -1228,7 +1220,7 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obccli.o) \
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -1238,13 +1230,7 @@
 	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(zdf_oce.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 \
-	obccli.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -1254,31 +1240,31 @@
 	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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obcvol.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(solfet.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 \
+	obcdyn.F90 \
 	obc_oce.F90 \
-	obcdyn.F90 \
 	obcvol.F90 \
 	oce.F90 \
 	phycst.F90 \
 	sbc_oce.F90 \
+	solfet.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
@@ -1288,29 +1274,60 @@
 	KEY_CPP \
 	cla_dynspg.F90
+$(MODEL_LIB)(cla.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	cla.F90
 $(MODEL_LIB)(closea.o) :	\
-	$(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)(sbc_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	oce.F90 \
 	sbc_oce.F90 \
@@ -1319,45 +1336,53 @@
 	closea.F90
 $(MODEL_LIB)(cpl_oasis3.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)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	par_oce.F90 \
 	KEY_CPP \
 	cpl_oasis3.F90
 $(MODEL_LIB)(cpl_oasis4.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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -1367,8 +1392,4 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
 	oasis4_date.F90 \
 	par_oce.F90 \
@@ -1376,67 +1397,92 @@
 	KEY_CPP \
 	cpl_oasis4.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) :	\
-	$(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) \
-	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(in_out_manager.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 \
+	c1d.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(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)(trdmld_oce.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trdmld_oce.F90 \
+	zpshde.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.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 \
@@ -1444,14 +1490,17 @@
 	diadimg.F90
 $(MODEL_LIB)(diafwb.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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1461,7 +1510,4 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -1473,4 +1519,10 @@
 	diafwb.F90
 $(MODEL_LIB)(diagap.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -1484,15 +1536,18 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -1503,11 +1558,4 @@
 	$(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 \
@@ -1516,18 +1564,18 @@
 	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 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -1536,18 +1584,18 @@
 	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 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -1556,29 +1604,43 @@
 	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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.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) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -1587,4 +1649,5 @@
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -1594,17 +1657,17 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -1616,11 +1679,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -1631,4 +1687,9 @@
 	diaptr.F90
 $(MODEL_LIB)(diaspr.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1641,9 +1702,4 @@
 	$(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 \
@@ -1651,67 +1707,46 @@
 	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) \
+	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)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.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 \
+	oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
 	KEY_CPP \
 	diaspr.F90
-$(MODEL_LIB)(diawri.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(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)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+$(MODEL_LIB)(diawri_c1d.o) :	\
+	closea.F90 \
+	cpl_oasis3.F90 \
 	daymod.F90 \
-	dom_oce.F90 \
+	diadimg.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaspr.F90 \
+	dom_oce.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.F90 \
 	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	zdf_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diadimg.o) \
@@ -1720,55 +1755,4 @@
 	$(MODEL_LIB)(diaspr.o) \
 	$(MODEL_LIB)(dom_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)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcssr.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	diadimg.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diaspr.F90 \
-	dom_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbcssr.F90 \
-	sol_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(lib_mpp.o) \
-	lib_mpp.F90 \
-	diawri_dimg.h90 \
-	zdfddm_substitute.h90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	diawri.F90
-$(MODEL_LIB)(diawri_c1d.o) :	\
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(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)(dynzdf_exp.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -1783,5 +1767,4 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -1789,6 +1772,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcana.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
@@ -1798,6 +1779,8 @@
 	$(MODEL_LIB)(sbcfwb.o) \
 	$(MODEL_LIB)(sbcice_if.o) \
+	$(MODEL_LIB)(sbcice_lim_2.o) \
 	$(MODEL_LIB)(sbcice_lim.o) \
-	$(MODEL_LIB)(sbcice_lim_2.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sbcssm.o) \
@@ -1806,27 +1789,8 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	closea.F90 \
-	daymod.F90 \
-	diadimg.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diaspr.F90 \
-	dom_oce.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.F90 \
-	fldread.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1834,6 +1798,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
 	sbcana.F90 \
 	sbcblk_clio.F90 \
@@ -1842,7 +1804,9 @@
 	sbcflx.F90 \
 	sbcfwb.F90 \
+	sbc_ice.F90 \
 	sbcice_if.F90 \
+	sbcice_lim_2.F90 \
 	sbcice_lim.F90 \
-	sbcice_lim_2.F90 \
+	sbc_oce.F90 \
 	sbcrnf.F90 \
 	sbcssm.F90 \
@@ -1851,7 +1815,14 @@
 	trazdf_exp.F90 \
 	trdmod.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
+	zdf_oce.F90 \
+	daymod.F90 \
+	dianam.F90 \
+	diawri.F90 \
+	dom_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -1862,35 +1833,26 @@
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcmod.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcssr.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	daymod.F90 \
-	dianam.F90 \
-	diawri.F90 \
-	dom_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
+	oce.F90 \
 	phycst.F90 \
 	sbc_ice.F90 \
-	sbc_oce.F90 \
 	sbcmod.F90 \
+	sbc_oce.F90 \
 	sbcssr.F90 \
 	sol_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfkpp.F90 \
 	zdfmxl.F90 \
+	zdf_oce.F90 \
 	zdftke.F90 \
 	zdfddm_substitute.h90 \
@@ -1898,5 +1860,100 @@
 	KEY_CPP \
 	diawri_c1d.F90
+$(MODEL_LIB)(diawri.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	solfet.F90 \
+	sol_oce.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	zdf_oce.F90 \
+	daymod.F90 \
+	diadimg.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaspr.F90 \
+	dom_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_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)(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)(phycst.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcssr.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	sbcssr.F90 \
+	sol_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(lib_mpp.o) \
+	diawri_dimg.h90 \
+	zdfddm_substitute.h90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	diawri.F90
 $(MODEL_LIB)(divcur.o) :	\
+	bdy_par.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(bdy_par.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -1908,13 +1965,12 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	bdy_par.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	obc_par.F90 \
 	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
+	bdy_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -1923,8 +1979,4 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	bdy_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	obc_oce.F90 \
 	oce.F90 \
@@ -1933,19 +1985,15 @@
 	KEY_CPP \
 	divcur.F90
-$(MODEL_LIB)(dom_ice_2.o) :	\
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_ice_2.o) \
-	par_ice_2.F90 \
-	KEY_CPP \
-	dom_ice_2.F90
-$(MODEL_LIB)(dom_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	dom_oce.F90
 $(MODEL_LIB)(domain.o) :	\
+	bdy_oce.F90 \
+	c1d.F90 \
+	closea.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(c1d.o) \
@@ -1963,30 +2011,28 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(solisl.o) \
-	bdy_oce.F90 \
-	c1d.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	solisl.F90 \
 	closea.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	solisl.F90 \
+	domhgr.F90 \
+	dommsk.F90 \
+	dom_oce.F90 \
+	domstp.F90 \
+	domvvl.F90 \
+	domwri.F90 \
+	domzgr.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domhgr.o) \
 	$(MODEL_LIB)(dommsk.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domstp.o) \
 	$(MODEL_LIB)(domvvl.o) \
@@ -1999,16 +2045,4 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	closea.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	domhgr.F90 \
-	dommsk.F90 \
-	domstp.F90 \
-	domvvl.F90 \
-	domwri.F90 \
-	domzgr.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -2019,4 +2053,9 @@
 	domain.F90
 $(MODEL_LIB)(domcfg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2028,21 +2067,19 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	obc_oce.F90 \
 	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
+	solfet.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2050,11 +2087,16 @@
 	$(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) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2067,4 +2109,136 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(phycst.o) \
+	phycst.F90 \
+	KEY_CPP \
+	domhgr.F90
+$(MODEL_LIB)(dom_ice_2.o) :	\
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_ice_2.o) \
+	par_ice_2.F90 \
+	KEY_CPP \
+	dom_ice_2.F90
+$(MODEL_LIB)(dommsk.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.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)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	solfet.F90 \
+	sol_oce.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(solisl.o) \
+	obc_oce.F90 \
+	oce.F90 \
+	solisl.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dommsk.F90
+$(MODEL_LIB)(dom_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	dom_oce.F90
+$(MODEL_LIB)(domstp.o) :	\
+	lib_print.f90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	domstp.F90
+$(MODEL_LIB)(domvvl.o) :	\
+	bdy_par.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	bdy_oce.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(bdy_oce.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)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	domvvl.F90
+$(MODEL_LIB)(domwri.o) :	\
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -2074,123 +2248,6 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_mpp.F90 \
-	phycst.F90 \
-	KEY_CPP \
-	domhgr.F90
-$(MODEL_LIB)(dommsk.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.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) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.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 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	solisl.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dommsk.F90
-$(MODEL_LIB)(domstp.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	domstp.F90
-$(MODEL_LIB)(domvvl.o) :	\
-	$(MODEL_LIB)(bdy_par.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) \
-	bdy_par.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(bdy_oce.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)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	bdy_oce.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	domvvl.F90
-$(MODEL_LIB)(domwri.o) :	\
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2200,31 +2257,40 @@
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_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) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	domwri.F90
+$(MODEL_LIB)(domzgr.o) :	\
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	domwri.F90
-$(MODEL_LIB)(domzgr.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2236,12 +2302,44 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	sbc_oce.F90 \
+	solfet.F90 \
+	sol_oce.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	c1d.F90 \
+	closea.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(solisl.o) \
+	oce.F90 \
+	solisl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	domzgr.F90
+$(MODEL_LIB)(dtasal.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -2250,37 +2348,4 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	sbc_oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	c1d.F90 \
-	closea.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	solisl.F90 \
-	domzgr_substitute.h90 \
-	domzgr_zps.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	domzgr.F90
-$(MODEL_LIB)(dtasal.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2288,4 +2353,5 @@
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2297,7 +2363,33 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	oce.F90 \
+	phycst.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	dtasal.F90
+$(MODEL_LIB)(dtatem.o) :	\
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -2306,27 +2398,4 @@
 	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)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	dtasal.F90
-$(MODEL_LIB)(dtatem.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2334,4 +2403,5 @@
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2343,18 +2413,16 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2364,9 +2432,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -2374,48 +2437,13 @@
 	KEY_CPP \
 	dtatem.F90
-$(MODEL_LIB)(dynadv.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynspg_rl.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynadv_cen2.o) \
-	$(MODEL_LIB)(dynadv_ubs.o) \
-	$(MODEL_LIB)(dynkeg.o) \
-	$(MODEL_LIB)(dynzad.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	dom_oce.F90 \
-	dynadv_cen2.F90 \
-	dynadv_ubs.F90 \
-	dynkeg.F90 \
-	dynzad.F90 \
-	in_out_manager.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynadv.F90
 $(MODEL_LIB)(dynadv_cen2.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2432,735 +2460,8 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	restart.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynspg_rl.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynadv_cen2.F90
-$(MODEL_LIB)(dynadv_ubs.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	restart.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynspg_rl.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynadv_ubs.F90
-$(MODEL_LIB)(dyncor_c1d.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dyncor_c1d.F90
-$(MODEL_LIB)(dynhpg.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.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 \
-	lbclnk.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)(dynkeg.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)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(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.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)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynldf_bilap.o) \
-	$(MODEL_LIB)(dynldf_bilapg.o) \
-	$(MODEL_LIB)(dynldf_iso.o) \
-	$(MODEL_LIB)(dynldf_lap.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	dynldf_bilap.F90 \
-	dynldf_bilapg.F90 \
-	dynldf_iso.F90 \
-	dynldf_lap.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynldf.F90
-$(MODEL_LIB)(dynldf_bilap.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)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfdyn_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynldf_bilap.F90
-$(MODEL_LIB)(dynldf_bilapg.o) :	\
-	$(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)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(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) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfdyn_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynldf_iso.F90
-$(MODEL_LIB)(dynldf_lap.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfdyn_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynldf_lap.F90
-$(MODEL_LIB)(dynnxt.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(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)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(wzvmod.o) \
-	agrif_oce.F90 \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	bdytides.F90 \
-	cla_div.F90 \
-	daymod.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom.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 \
-	sbc_oce.F90 \
-	sol_oce.F90 \
-	wzvmod.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(agrif_opa_update.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdydta.o) \
-	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcdyn_bt.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	agrif_opa_interp.F90 \
-	agrif_opa_update.F90 \
-	bdy_oce.F90 \
-	bdydta.F90 \
-	bdydyn.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	obc_oce.F90 \
-	obcdyn.F90 \
-	obcdyn_bt.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	dynnxt.F90
-$(MODEL_LIB)(dynnxt_c1d.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(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 \
-	dynnxt_c1d.F90
-$(MODEL_LIB)(dynspg.o) :	\
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdydta.o) \
-	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(bdyvol.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(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)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solmat.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
@@ -3174,40 +2475,14 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	agrif_opa_interp.F90 \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	bdydta.F90 \
-	bdydyn.F90 \
-	bdytides.F90 \
-	bdyvol.F90 \
-	cla_dynspg.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	dynvor.F90 \
-	in_out_manager.F90 \
-	iom.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 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	restart.F90 \
 	sbc_oce.F90 \
-	sol_oce.F90 \
 	solfet.F90 \
 	solisl.F90 \
-	solmat.F90 \
+	sol_oce.F90 \
 	solpcg.F90 \
 	solsor.F90 \
@@ -3221,24 +2496,16 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	dynspg_rl.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(obc_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 \
-	dynspg_exp.F90 \
-	dynspg_flt.F90 \
-	dynspg_oce.F90 \
-	dynspg_rl.F90 \
-	dynspg_ts.F90 \
-	in_out_manager.F90 \
-	obc_oce.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -3248,445 +2515,38 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	dynspg.F90
-$(MODEL_LIB)(dynspg_exp.o) :	\
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
+	dynadv_cen2.F90
+$(MODEL_LIB)(dynadv.o) :	\
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	dynspg_rl.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(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)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	c1d.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	trdmld_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obcdta.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_exp.F90
-$(MODEL_LIB)(dynspg_flt.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(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)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	agrif_oce.F90 \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	bdytides.F90 \
-	c1d.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_feti.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trdmld_oce.F90 \
-	zdf_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(bdyvol.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	agrif_opa_interp.F90 \
-	bdy_oce.F90 \
-	bdydyn.F90 \
-	bdyvol.F90 \
-	cla_dynspg.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	dynspg_flt.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)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	c1d.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trdmld_oce.F90 \
-	zdf_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	restart.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	obc_vectopt_loop_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_rl.F90
-$(MODEL_LIB)(dynspg_ts.o) :	\
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynadv.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(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)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	bdytides.F90 \
-	c1d.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynadv.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	obcdta.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdmld_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdydta.o) \
-	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcfla.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	bdydta.F90 \
-	bdydyn.F90 \
-	bdytides.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	dynvor.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obcdta.F90 \
-	obcfla.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_ts.F90
-$(MODEL_LIB)(dynvor.o) :	\
+	dom_oce.F90 \
+	dynadv_cen2.F90 \
+	dynadv_ubs.F90 \
+	dynkeg.F90 \
+	dynzad.F90 \
+	in_out_manager.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynadv_cen2.o) \
@@ -3695,12 +2555,38 @@
 	$(MODEL_LIB)(dynzad.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynadv.F90
+$(MODEL_LIB)(dynadv_ubs.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(solver.o) \
 	$(MODEL_LIB)(trdicp.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
@@ -3711,18 +2597,17 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	dynadv_cen2.F90 \
-	dynadv_ubs.F90 \
-	dynkeg.F90 \
-	dynzad.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	sol_oce.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	solver.F90 \
 	trdicp.F90 \
 	trdicp_oce.F90 \
@@ -3733,6 +2618,12 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynadv.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	dynspg_rl.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -3741,8 +2632,4 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	dynadv.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -3752,6 +2639,37 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	dynvor.F90
-$(MODEL_LIB)(dynzad.o) :	\
+	dynadv_ubs.F90
+$(MODEL_LIB)(dyncor_c1d.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dyncor_c1d.F90
+$(MODEL_LIB)(dynhpg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3772,9 +2690,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3790,16 +2703,18 @@
 	trdvor_oce.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)(sbc_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
@@ -3807,6 +2722,1218 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
+	dynhpg.F90
+$(MODEL_LIB)(dynkeg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.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) \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynkeg.F90
+$(MODEL_LIB)(dynldf_bilap.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynldf_bilap.F90
+$(MODEL_LIB)(dynldf_bilapg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	KEY_CPP \
+	dynldf_bilapg.F90
+$(MODEL_LIB)(dynldf.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	dynldf_bilap.F90 \
+	dynldf_bilapg.F90 \
+	dynldf_iso.F90 \
+	dynldf_lap.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynldf_bilapg.o) \
+	$(MODEL_LIB)(dynldf_bilap.o) \
+	$(MODEL_LIB)(dynldf_iso.o) \
+	$(MODEL_LIB)(dynldf_lap.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynldf.F90
+$(MODEL_LIB)(dynldf_iso.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynldf_iso.F90
+$(MODEL_LIB)(dynldf_lap.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynldf_lap.F90
+$(MODEL_LIB)(dynnxt_c1d.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	oce.F90 \
+	prtctl.F90 \
+	KEY_CPP \
+	dynnxt_c1d.F90
+$(MODEL_LIB)(dynnxt.o) :	\
+	agrif_oce.F90 \
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	bdytides.F90 \
+	cla_div.F90 \
+	daymod.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(agrif_oce.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(cla_div.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(divcur.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(wzvmod.o) \
+	obccli.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sol_oce.F90 \
+	wzvmod.F90 \
+	agrif_opa_interp.F90 \
+	agrif_opa_update.F90 \
+	bdydta.F90 \
+	bdydyn.F90 \
+	bdy_oce.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(bdydta.o) \
+	$(MODEL_LIB)(bdydyn.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obcdyn_bt.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	obcdyn_bt.F90 \
+	obcdyn.F90 \
+	obc_oce.F90 \
+	obcvol.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	domzgr_substitute.h90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	dynnxt.F90
+$(MODEL_LIB)(dynspg_exp.o) :	\
+	c1d.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(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)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	obccli.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trdmld_oce.F90 \
+	zpshde.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	obcdta.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg_exp.F90
+$(MODEL_LIB)(dynspg.o) :	\
+	agrif_opa_interp.F90 \
+	bdydta.F90 \
+	bdydyn.F90 \
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	bdytides.F90 \
+	bdyvol.F90 \
+	cla_dynspg.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynspg_oce.F90 \
+	dynvor.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(bdydta.o) \
+	$(MODEL_LIB)(bdydyn.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(bdyvol.o) \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynvor.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(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)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(solver.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) \
+	obcdta.F90 \
+	obcdyn.F90 \
+	obcfla.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	obcvol.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	solmat.F90 \
+	sol_oce.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	solver.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	dynspg_exp.F90 \
+	dynspg_flt.F90 \
+	dynspg_oce.F90 \
+	dynspg_rl.F90 \
+	dynspg_ts.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_exp.o) \
+	$(MODEL_LIB)(dynspg_flt.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
+	$(MODEL_LIB)(dynspg_ts.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	obc_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg.F90
+$(MODEL_LIB)(dynspg_flt.o) :	\
+	agrif_oce.F90 \
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	bdytides.F90 \
+	c1d.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_feti.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(agrif_oce.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_feti.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	obccli.F90 \
+	obcdyn.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	obcvol.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	solmat.F90 \
+	sol_oce.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	trdmld_oce.F90 \
+	zdf_oce.F90 \
+	zpshde.F90 \
+	agrif_opa_interp.F90 \
+	bdydyn.F90 \
+	bdy_oce.F90 \
+	bdyvol.F90 \
+	cla_dynspg.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(bdydyn.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdyvol.o) \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(solver.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	obcdyn.F90 \
+	obc_oce.F90 \
+	obcvol.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	solfet.F90 \
+	solmat.F90 \
+	sol_oce.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	solver.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	dynspg_flt.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) :	\
+	c1d.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(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)(solisl.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	solmat.F90 \
+	sol_oce.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	trdmld_oce.F90 \
+	zdf_oce.F90 \
+	zpshde.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(solver.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	restart.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	sol_oce.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	solver.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	obc_vectopt_loop_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg_rl.F90
+$(MODEL_LIB)(dynspg_ts.o) :	\
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	bdytides.F90 \
+	c1d.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynadv.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(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)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	obccli.F90 \
+	obcdta.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zpshde.F90 \
+	bdydta.F90 \
+	bdydyn.F90 \
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	bdytides.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynspg_oce.F90 \
+	dynvor.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(bdydta.o) \
+	$(MODEL_LIB)(bdydyn.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynvor.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(obcfla.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	obcdta.F90 \
+	obcfla.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg_ts.F90
+$(MODEL_LIB)(dynvor.o) :	\
+	dom_oce.F90 \
+	dynadv_cen2.F90 \
+	dynadv_ubs.F90 \
+	dynkeg.F90 \
+	dynzad.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynadv_cen2.o) \
+	$(MODEL_LIB)(dynadv_ubs.o) \
+	$(MODEL_LIB)(dynkeg.o) \
+	$(MODEL_LIB)(dynzad.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	dynadv.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynvor.F90
+$(MODEL_LIB)(dynzad.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
 	dynzad.F90
+$(MODEL_LIB)(dynzdf_exp.o) :	\
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynzdf_exp.F90
 $(MODEL_LIB)(dynzdf.o) :	\
+	dom_oce.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
@@ -3834,15 +3961,7 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3861,6 +3980,12 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
+	dom_oce.F90 \
+	dynzdf_exp.F90 \
+	dynzdf_imp.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
@@ -3872,18 +3997,13 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	dom_oce.F90 \
-	dynzdf_exp.F90 \
-	dynzdf_imp.F90 \
-	in_out_manager.F90 \
-	ldfdyn_oce.F90 \
 	oce.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdfkpp.F90 \
 	zdf_oce.F90 \
-	zdfkpp.F90 \
 	zdftke.F90 \
 	domzgr_substitute.h90 \
@@ -3892,13 +4012,15 @@
 	KEY_CPP \
 	dynzdf.F90
-$(MODEL_LIB)(dynzdf_exp.o) :	\
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
+$(MODEL_LIB)(dynzdf_imp.o) :	\
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3907,6 +4029,4 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -3916,31 +4036,11 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	dynzdf_exp.F90
-$(MODEL_LIB)(dynzdf_imp.o) :	\
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
 	dynzdf_imp.F90
 $(MODEL_LIB)(eosbn2.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3953,9 +4053,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3963,4 +4058,6 @@
 	prtctl.F90 \
 	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3968,6 +4065,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	phycst.F90 \
 	prtctl.F90 \
@@ -3978,4 +4073,326 @@
 	eosbn2.F90
 $(MODEL_LIB)(fldread.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	oce.F90 \
+	phycst.F90 \
+	fldread.F90
+$(MODEL_LIB)(flo4rk.o) :	\
+	lib_print.f90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	oce.F90 \
+	KEY_CPP \
+	flo4rk.F90
+$(MODEL_LIB)(floats.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	oce.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	flo4rk.F90 \
+	floblk.F90 \
+	flodom.F90 \
+	flo_oce.F90 \
+	flowri.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(flo4rk.o) \
+	$(MODEL_LIB)(floblk.o) \
+	$(MODEL_LIB)(flodom.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(flowri.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	floats.F90
+$(MODEL_LIB)(floblk.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.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) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	oce.F90 \
+	phycst.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	floblk.F90
+$(MODEL_LIB)(flodom.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.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) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	flodom.F90
+$(MODEL_LIB)(flo_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	flo_oce.F90
+$(MODEL_LIB)(flowri.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	flowri.F90
+$(MODEL_LIB)(geo2ocean.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(phycst.o) \
+	phycst.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	geo2ocean.F90
+$(MODEL_LIB)(ice_2.o) :	\
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_ice_2.o) \
+	par_ice_2.F90 \
+	KEY_CPP \
+	ice_2.F90
+$(MODEL_LIB)(iceini_2.o) :	\
+	daymod.F90 \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	limistate_2.F90 \
+	limmsh_2.F90 \
+	limrst_2.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(limmsh_2.o) \
+	$(MODEL_LIB)(limrst_2.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	KEY_CPP \
+	iceini_2.F90
+$(MODEL_LIB)(ice_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	ice_oce.F90
+$(MODEL_LIB)(in_out_manager.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	in_out_manager.F90
+$(MODEL_LIB)(iom_def.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	iom_def.F90
+$(MODEL_LIB)(iom.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3985,398 +4402,107 @@
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
+	KEY_CPP \
+	iom.F90
+$(MODEL_LIB)(iom_ioipsl.o) :	\
+	lib_print.f90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	iom_def.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(IOIPSL_LIB) \
+	iom_ioipsl.F90
+$(MODEL_LIB)(iom_nf90.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	iom_nf90.F90
+$(MODEL_LIB)(iom_rstdimg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	iom_rstdimg.F90
+$(MODEL_LIB)(istate.o) :	\
+	agrif_opa_interp.F90 \
+	bdydta.F90 \
+	bdydyn.F90 \
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	bdytides.F90 \
+	bdyvol.F90 \
+	c1d.F90 \
+	cla_dynspg.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynspg_exp.F90 \
+	dynspg_flt.F90 \
+	dynspg_oce.F90 \
+	dynspg_rl.F90 \
+	dynspg_ts.F90 \
+	dynvor.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
-	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)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	oce.F90 \
-	phycst.F90 \
-	fldread.F90
-$(MODEL_LIB)(flo4rk.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	KEY_CPP \
-	flo4rk.F90
-$(MODEL_LIB)(flo_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	flo_oce.F90
-$(MODEL_LIB)(floats.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(flo4rk.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(floblk.o) \
-	$(MODEL_LIB)(flodom.o) \
-	$(MODEL_LIB)(flowri.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	flo4rk.F90 \
-	flo_oce.F90 \
-	floblk.F90 \
-	flodom.F90 \
-	flowri.F90 \
-	lib_mpp.F90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	floats.F90
-$(MODEL_LIB)(floblk.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(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 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	floblk.F90
-$(MODEL_LIB)(flodom.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(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 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	flodom.F90
-$(MODEL_LIB)(flowri.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(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 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	flowri.F90
-$(MODEL_LIB)(geo2ocean.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(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_2.o) :	\
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_ice_2.o) \
-	par_ice_2.F90 \
-	KEY_CPP \
-	ice_2.F90
-$(MODEL_LIB)(ice_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	ice_oce.F90
-$(MODEL_LIB)(iceini_2.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	daymod.F90 \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(limmsh_2.o) \
-	$(MODEL_LIB)(limrst_2.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	limistate_2.F90 \
-	limmsh_2.F90 \
-	limrst_2.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	KEY_CPP \
-	iceini_2.F90
-$(MODEL_LIB)(in_out_manager.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	in_out_manager.F90
-$(MODEL_LIB)(initrc.o) :	\
-	initrc.F90
-$(MODEL_LIB)(iom.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	KEY_CPP \
-	iom.F90
-$(MODEL_LIB)(iom_def.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	iom_def.F90
-$(MODEL_LIB)(iom_ioipsl.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	$(IOIPSL_LIB) \
-	iom_ioipsl.F90
-$(MODEL_LIB)(iom_nf90.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)(iom_def.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	lbclnk.F90 \
-	iom_nf90.F90
-$(MODEL_LIB)(iom_rstdimg.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)(iom_def.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	lbclnk.F90 \
-	iom_rstdimg.F90
-$(MODEL_LIB)(istate.o) :	\
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(bdydta.o) \
+	$(MODEL_LIB)(bdydyn.o) \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdydta.o) \
-	$(MODEL_LIB)(bdydyn.o) \
 	$(MODEL_LIB)(bdytides.o) \
 	$(MODEL_LIB)(bdyvol.o) \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -4390,17 +4516,17 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(obcdta.o) \
 	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obcfla.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(obcvol.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -4411,7 +4537,7 @@
 	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
@@ -4420,41 +4546,12 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	agrif_opa_interp.F90 \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	bdydta.F90 \
-	bdydyn.F90 \
-	bdytides.F90 \
-	bdyvol.F90 \
-	c1d.F90 \
-	cla_dynspg.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_exp.F90 \
-	dynspg_flt.F90 \
-	dynspg_oce.F90 \
-	dynspg_rl.F90 \
-	dynspg_ts.F90 \
-	dynvor.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
 	obcdta.F90 \
 	obcdyn.F90 \
 	obcfla.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
 	obcvol.F90 \
 	oce.F90 \
@@ -4465,7 +4562,7 @@
 	restart.F90 \
 	sbc_oce.F90 \
-	sol_oce.F90 \
 	solfet.F90 \
 	solmat.F90 \
+	sol_oce.F90 \
 	solpcg.F90 \
 	solsor.F90 \
@@ -4474,7 +4571,24 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdfddm.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
 	zpshde.F90 \
+	c1d.F90 \
+	daymod.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	dynspg_exp.F90 \
+	dynspg.F90 \
+	dynspg_flt.F90 \
+	dynspg_oce.F90 \
+	dynspg_ts.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(daymod.o) \
@@ -4484,7 +4598,7 @@
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynspg.o) \
 	$(MODEL_LIB)(dynspg_exp.o) \
 	$(MODEL_LIB)(dynspg_flt.o) \
+	$(MODEL_LIB)(dynspg.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
@@ -4501,21 +4615,4 @@
 	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	c1d.F90 \
-	daymod.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dynspg.F90 \
-	dynspg_exp.F90 \
-	dynspg_flt.F90 \
-	dynspg_oce.F90 \
-	dynspg_ts.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -4530,25 +4627,32 @@
 	istate.F90
 $(MODEL_LIB)(lbclnk.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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
 	oce.F90 \
 	KEY_CPP \
 	lbclnk.F90
 $(MODEL_LIB)(ldfdyn.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4564,17 +4668,16 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfmxl.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
 	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfmxl.F90 \
+	ldfslp.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4585,14 +4688,8 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
+	oce.F90 \
+	phycst.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	ldftra_oce.F90 \
 	domzgr_substitute.h90 \
 	ldfdyn_antarctic.h90 \
@@ -4612,4 +4709,15 @@
 	ldfdyn_oce.F90
 $(MODEL_LIB)(ldfeiv.o) :	\
+	closea.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(daymod.o) \
@@ -4628,28 +4736,18 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbccpl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	closea.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	zdfmxl.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbccpl.F90 \
-	zdfmxl.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4662,9 +4760,4 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -4677,4 +4770,8 @@
 	ldfeiv.F90
 $(MODEL_LIB)(ldfslp.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4686,8 +4783,4 @@
 	$(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 \
@@ -4695,4 +4788,9 @@
 	prtctl.F90 \
 	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4704,9 +4802,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -4718,4 +4811,11 @@
 	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 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4731,17 +4831,16 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfmxl.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfmxl.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4752,10 +4851,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -4778,10 +4871,10 @@
 	lib_cray.f90
 $(MODEL_LIB)(lib_feti.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 \
+	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) \
 	KEY_CPP \
 	lib_feti.F90
@@ -4789,14 +4882,14 @@
 	lib_isml.f90
 $(MODEL_LIB)(lib_mpp.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 \
+	lib_print.f90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(AGRIF_LIB) \
 	KEY_CPP \
@@ -4807,4 +4900,8 @@
 	lib_print.f90
 $(MODEL_LIB)(limadv_2.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4815,12 +4912,13 @@
 	$(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_2.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -4829,15 +4927,20 @@
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(prtctl.o) \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	prtctl.F90 \
 	KEY_CPP \
 	limadv_2.F90
 $(MODEL_LIB)(limdia_2.o) :	\
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
 	$(MODEL_LIB)(ice_oce.o) \
@@ -4847,5 +4950,4 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -4853,19 +4955,18 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
 	dom_ice_2.F90 \
-	dom_oce.F90 \
 	ice_2.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	limistate_2.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
@@ -4877,22 +4978,196 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	par_ice_2.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limdia_2.F90
+$(MODEL_LIB)(limdmp_2.o) :	\
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	daymod.F90 \
-	dom_ice_2.F90 \
+	dom_oce.F90 \
 	ice_2.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	oce.F90 \
+	phycst.F90 \
+	tradmp.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limdmp_2.F90
+$(MODEL_LIB)(limdyn_2.o) :	\
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	limistate_2.F90 \
+	limmsh_2.F90 \
+	limrst_2.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(limmsh_2.o) \
+	$(MODEL_LIB)(limrst_2.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
 	par_ice_2.F90 \
-	phycst.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	ice_2.F90 \
+	iceini_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	limistate_2.F90 \
+	limrhg_2.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(iceini_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(limrhg_2.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	phycst.F90 \
+	prtctl.F90 \
 	sbc_oce.F90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	limdia_2.F90
-$(MODEL_LIB)(limdmp_2.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
+	limdyn_2.F90
+$(MODEL_LIB)(limhdf_2.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	prtctl.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limhdf_2.F90
+$(MODEL_LIB)(limistate_2.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
@@ -4908,21 +5183,128 @@
 	$(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 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfddm.F90 \
+	dom_ice_2.F90 \
+	eosbn2.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(phycst.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	limistate_2.F90
+$(MODEL_LIB)(limmsh_2.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(phycst.o) \
+	phycst.F90 \
+	KEY_CPP \
+	limmsh_2.F90
+$(MODEL_LIB)(limrhg_2.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_ice_2.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limrhg_2.F90
+$(MODEL_LIB)(limrst_2.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	par_ice_2.F90 \
 	par_kind.F90 \
@@ -4930,36 +5312,36 @@
 	phycst.F90 \
 	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	KEY_CPP \
+	limrst_2.F90
+$(MODEL_LIB)(limsbc_2.o) :	\
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limistate_2.F90 \
+	limmsh_2.F90 \
+	limrst_2.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	oce.F90 \
-	phycst.F90 \
-	tradmp.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limdmp_2.F90
-$(MODEL_LIB)(limdyn_2.o) :	\
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -4969,18 +5351,61 @@
 	$(MODEL_LIB)(limrst_2.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(sbc_ice.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	albedo.F90 \
+	cpl_oasis3.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	ice_2.F90 \
+	iceini_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(iceini_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limsbc_2.F90
+$(MODEL_LIB)(limtab_2.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	KEY_CPP \
+	limtab_2.F90
+$(MODEL_LIB)(limthd_2.o) :	\
+	cpl_oasis3.F90 \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
 	ice_2.F90 \
+	iceini_2.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
-	iom.F90 \
 	lbclnk.F90 \
 	lib_mpp.F90 \
@@ -4989,239 +5414,9 @@
 	limmsh_2.F90 \
 	limrst_2.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
+	$(MODEL_LIB)(cpl_oasis3.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(iceini_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(limrhg_2.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	iceini_2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	limistate_2.F90 \
-	limrhg_2.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limdyn_2.F90
-$(MODEL_LIB)(limhdf_2.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(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_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	prtctl.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limhdf_2.F90
-$(MODEL_LIB)(limistate_2.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_ice_2.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	phycst.F90 \
-	KEY_CPP \
-	limistate_2.F90
-$(MODEL_LIB)(limmsh_2.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	phycst.F90 \
-	KEY_CPP \
-	limmsh_2.F90
-$(MODEL_LIB)(limrhg_2.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(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) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	dom_ice_2.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limrhg_2.F90
-$(MODEL_LIB)(limrst_2.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_ice_2.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 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	daymod.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	KEY_CPP \
-	limrst_2.F90
-$(MODEL_LIB)(limsbc_2.o) :	\
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5233,5 +5428,4 @@
 	$(MODEL_LIB)(limrst_2.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -5240,77 +5434,73 @@
 	$(MODEL_LIB)(sbc_ice.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(thd_ice_2.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	thd_ice_2.F90 \
+	cpl_oasis3.F90 \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
+	ice_2.F90 \
+	iceini_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	limtab_2.F90 \
+	limthd_lac_2.F90 \
+	limthd_zdf_2.F90 \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(iceini_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(limtab_2.o) \
+	$(MODEL_LIB)(limthd_lac_2.o) \
+	$(MODEL_LIB)(limthd_zdf_2.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(thd_ice_2.o) \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	thd_ice_2.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limthd_2.F90
+$(MODEL_LIB)(limthd_lac_2.o) :	\
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
 	ice_2.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	iom.F90 \
+	lbclnk.F90 \
 	limistate_2.F90 \
 	limmsh_2.F90 \
 	limrst_2.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	albedo.F90 \
-	cpl_oasis3.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	iceini_2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ocfzpt.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limsbc_2.F90
-$(MODEL_LIB)(limtab_2.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	KEY_CPP \
-	limtab_2.F90
-$(MODEL_LIB)(limthd_2.o) :	\
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini_2.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)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(limmsh_2.o) \
 	$(MODEL_LIB)(limrst_2.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -5319,12 +5509,33 @@
 	$(MODEL_LIB)(sbc_ice.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	iceini_2.F90 \
+	ice_oce.F90 \
+	limistate_2.F90 \
+	$(MODEL_LIB)(iceini_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(thd_ice_2.o) \
-	cpl_oasis3.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	thd_ice_2.F90 \
+	KEY_CPP \
+	limthd_lac_2.F90
+$(MODEL_LIB)(limthd_zdf_2.o) :	\
 	dom_ice_2.F90 \
 	dom_oce.F90 \
+	eosbn2.F90 \
 	ice_2.F90 \
 	ice_oce.F90 \
-	iceini_2.F90 \
-	in_out_manager.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	lbclnk.F90 \
 	lib_mpp.F90 \
@@ -5333,62 +5544,18 @@
 	limmsh_2.F90 \
 	limrst_2.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	thd_ice_2.F90 \
-	$(MODEL_LIB)(cpl_oasis3.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(limtab_2.o) \
-	$(MODEL_LIB)(limthd_lac_2.o) \
-	$(MODEL_LIB)(limthd_zdf_2.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(thd_ice_2.o) \
-	cpl_oasis3.F90 \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	iceini_2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	limtab_2.F90 \
-	limthd_lac_2.F90 \
-	limthd_zdf_2.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	thd_ice_2.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limthd_2.F90
-$(MODEL_LIB)(limthd_lac_2.o) :	\
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(limmsh_2.o) \
 	$(MODEL_LIB)(limrst_2.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -5397,6 +5564,33 @@
 	$(MODEL_LIB)(sbc_ice.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	cpl_oasis3.F90 \
+	iceini_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	limistate_2.F90 \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(iceini_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(thd_ice_2.o) \
+	par_oce.F90 \
+	phycst.F90 \
+	thd_ice_2.F90 \
+	KEY_CPP \
+	limthd_zdf_2.F90
+$(MODEL_LIB)(limtrp_2.o) :	\
 	dom_ice_2.F90 \
 	dom_oce.F90 \
+	eosbn2.F90 \
 	ice_2.F90 \
 	ice_oce.F90 \
@@ -5404,32 +5598,12 @@
 	iom.F90 \
 	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	limistate_2.F90 \
 	limmsh_2.F90 \
 	limrst_2.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini_2.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(thd_ice_2.o) \
-	ice_oce.F90 \
-	iceini_2.F90 \
-	limistate_2.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	thd_ice_2.F90 \
-	KEY_CPP \
-	limthd_lac_2.F90
-$(MODEL_LIB)(limthd_zdf_2.o) :	\
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
 	$(MODEL_LIB)(ice_oce.o) \
@@ -5443,98 +5617,39 @@
 	$(MODEL_LIB)(limrst_2.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(sbc_ice.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	daymod.F90 \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
 	ice_2.F90 \
+	iceini_2.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	limadv_2.F90 \
+	limhdf_2.F90 \
 	limistate_2.F90 \
-	limmsh_2.F90 \
-	limrst_2.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(thd_ice_2.o) \
-	cpl_oasis3.F90 \
-	ice_oce.F90 \
-	iceini_2.F90 \
-	in_out_manager.F90 \
-	limistate_2.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	thd_ice_2.F90 \
-	KEY_CPP \
-	limthd_zdf_2.F90
-$(MODEL_LIB)(limtrp_2.o) :	\
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(limmsh_2.o) \
-	$(MODEL_LIB)(limrst_2.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limistate_2.F90 \
-	limmsh_2.F90 \
-	limrst_2.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(iceini_2.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini_2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -5544,43 +5659,43 @@
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(phycst.o) \
+	phycst.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limtrp_2.F90
+$(MODEL_LIB)(limwri_2.o) :	\
 	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dianam.F90 \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
 	ice_2.F90 \
 	ice_oce.F90 \
-	iceini_2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	limadv_2.F90 \
-	limhdf_2.F90 \
-	limistate_2.F90 \
-	phycst.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limtrp_2.F90
-$(MODEL_LIB)(limwri_2.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -5594,17 +5709,9 @@
 	$(MODEL_LIB)(sbc_ice.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	phycst.F90 \
 	sbc_ice.F90 \
 	sbc_oce.F90 \
+	diadimg.F90 \
 	$(MODEL_LIB)(diadimg.o) \
-	diadimg.F90 \
 	limwri_dimg_2.h90 \
 	vectopt_loop_substitute.h90 \
@@ -5613,14 +5720,34 @@
 	limwri_2.F90
 $(MODEL_LIB)(model.o) :	\
+	bdyini.F90 \
+	bdy_par.F90 \
+	c1d.F90 \
+	cpl_oasis3.F90 \
+	cpl_oasis4.F90 \
+	daymod.F90 \
+	diaptr.F90 \
+	domain.F90 \
+	domcfg.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	dyncor_c1d.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	istate.F90 \
+	ldfdyn.F90 \
+	ldftra.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(bdyini.o) \
 	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdyini.o) \
-	$(MODEL_LIB)(bdytides.o) \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(cpl_oasis4.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domain.o) \
 	$(MODEL_LIB)(domcfg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtatem.o) \
@@ -5629,5 +5756,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(initrc.o) \
 	$(MODEL_LIB)(istate.o) \
 	$(MODEL_LIB)(ldfdyn.o) \
@@ -5635,48 +5761,27 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(mppini.o) \
+	$(MODEL_LIB)(obcini.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcini.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(step_c1d.o) \
 	$(MODEL_LIB)(step.o) \
-	$(MODEL_LIB)(step_c1d.o) \
+	$(MODEL_LIB)(trcini.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdfini.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	bdy_par.F90 \
-	bdyini.F90 \
-	bdytides.F90 \
-	c1d.F90 \
-	cpl_oasis3.F90 \
-	daymod.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	domain.F90 \
-	domcfg.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dyncor_c1d.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	initrc.F90 \
-	istate.F90 \
-	ldfdyn.F90 \
-	ldftra.F90 \
-	lib_mpp.F90 \
 	mppini.F90 \
+	obcini.F90 \
 	obc_par.F90 \
-	obcini.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	step_c1d.F90 \
 	step.F90 \
-	step_c1d.F90 \
+	trcini.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
@@ -5687,24 +5792,24 @@
 	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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
 	sol_oce.F90 \
-	$(MODEL_LIB)(iom.o) \
-	iom.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(iom.o) \
 	domzgr_substitute.h90 \
 	mppini_2.h90 \
@@ -5715,35 +5820,16 @@
 	KEY_CPP \
 	oasis4_date.F90
-$(MODEL_LIB)(obc_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
+$(MODEL_LIB)(obccli.o) :	\
+	in_out_manager.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(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 \
+	dom_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 \
@@ -5753,4 +5839,7 @@
 	obccli.F90
 $(MODEL_LIB)(obcdom.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5759,10 +5848,10 @@
 	$(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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5771,7 +5860,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
 	obc_oce.F90 \
 	oce.F90 \
@@ -5780,4 +5866,14 @@
 	obcdom.F90
 $(MODEL_LIB)(obcdta.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5785,4 +5881,5 @@
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -5796,13 +5893,5 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	$(MODEL_LIB)(restart.o) \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -5812,4 +5901,12 @@
 	phycst.F90 \
 	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -5819,8 +5916,99 @@
 	$(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) \
+	obccli.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	obc_vectopt_loop_substitute.h90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	obcdta.F90
+$(MODEL_LIB)(obcdyn_bt.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(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) \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obccli.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	obcdyn_bt.F90
+$(MODEL_LIB)(obcdyn.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(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) \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(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) \
+	obccli.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	obcdyn.F90
+$(MODEL_LIB)(obcfla.o) :	\
 	daymod.F90 \
 	dom_oce.F90 \
@@ -5830,352 +6018,279 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(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) \
+	obccli.F90 \
 	obc_oce.F90 \
-	obccli.F90 \
-	oce.F90 \
-	phycst.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obcdta.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	obcfla.F90
+$(MODEL_LIB)(obcini.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.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) \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obcdom.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obcrst.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obcdom.F90 \
+	obc_oce.F90 \
+	obcrst.F90 \
+	oce.F90 \
+	phycst.F90 \
+	obc_vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	obcini.F90
+$(MODEL_LIB)(obc_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(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)(obcrad.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	obc_vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	obcrad.F90
+$(MODEL_LIB)(obcrst.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	obcrst.F90
+$(MODEL_LIB)(obcspg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	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 \
+	$(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) \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	obc_vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	obctra.F90
+$(MODEL_LIB)(obcvol.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	obc_par.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
 	domzgr_substitute.h90 \
 	obc_vectopt_loop_substitute.h90 \
 	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)(iom.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 \
-	iom.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)(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) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	obc_vectopt_loop_substitute.h90 \
-	KEY_CPP \
 	obcvol.F90
 $(MODEL_LIB)(oce.o) :	\
@@ -6186,23 +6301,71 @@
 	KEY_CPP \
 	oce.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) :	\
+	agrif_opa_sponge.F90 \
+	bdydta.F90 \
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	bdytides.F90 \
+	c1d.F90 \
+	cla_div.F90 \
+	cla.F90 \
+	closea.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	diafwb.F90 \
+	diagap.F90 \
+	diahdy.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaptr.F90 \
+	diaspr.F90 \
+	diawri_c1d.F90 \
+	diawri.F90 \
+	divcur.F90 \
+	domhgr.F90 \
+	dommsk.F90 \
+	dom_oce.F90 \
+	domstp.F90 \
+	domvvl.F90 \
+	domwri.F90 \
+	domzgr.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	dynadv.F90 \
+	dyncor_c1d.F90 \
+	dynhpg.F90 \
+	dynldf.F90 \
+	dynnxt_c1d.F90 \
+	dynnxt.F90 \
+	dynspg_exp.F90 \
+	dynspg.F90 \
+	dynspg_flt.F90 \
+	dynspg_oce.F90 \
+	dynspg_ts.F90 \
+	dynvor.F90 \
+	dynzdf.F90 \
+	eosbn2.F90 \
+	floats.F90 \
+	flo_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfeiv.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(agrif_opa_sponge.o) \
+	$(MODEL_LIB)(bdydta.o) \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdydta.o) \
 	$(MODEL_LIB)(bdytides.o) \
 	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(cla_div.o) \
 	$(MODEL_LIB)(cla.o) \
-	$(MODEL_LIB)(cla_div.o) \
 	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diafwb.o) \
@@ -6213,9 +6376,10 @@
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(diaspr.o) \
+	$(MODEL_LIB)(diawri_c1d.o) \
 	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domhgr.o) \
 	$(MODEL_LIB)(dommsk.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domstp.o) \
 	$(MODEL_LIB)(domvvl.o) \
@@ -6225,10 +6389,12 @@
 	$(MODEL_LIB)(dtatem.o) \
 	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(dyncor_c1d.o) \
 	$(MODEL_LIB)(dynhpg.o) \
 	$(MODEL_LIB)(dynldf.o) \
+	$(MODEL_LIB)(dynnxt_c1d.o) \
 	$(MODEL_LIB)(dynnxt.o) \
-	$(MODEL_LIB)(dynspg.o) \
 	$(MODEL_LIB)(dynspg_exp.o) \
 	$(MODEL_LIB)(dynspg_flt.o) \
+	$(MODEL_LIB)(dynspg.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
@@ -6236,6 +6402,6 @@
 	$(MODEL_LIB)(dynzdf.o) \
 	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(floats.o) \
 	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(floats.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -6248,13 +6414,13 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oasis4_date.o) \
+	$(MODEL_LIB)(obcdom.o) \
+	$(MODEL_LIB)(obcdta.o) \
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdom.o) \
-	$(MODEL_LIB)(obcdta.o) \
 	$(MODEL_LIB)(obcrad.o) \
 	$(MODEL_LIB)(obcrst.o) \
 	$(MODEL_LIB)(obcspg.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -6262,10 +6428,10 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbccpl.o) \
 	$(MODEL_LIB)(sbcmod.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(stpctl.o) \
 	$(MODEL_LIB)(traadv.o) \
@@ -6289,5 +6455,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(wzvmod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -6295,69 +6460,17 @@
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	agrif_opa_sponge.F90 \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	bdydta.F90 \
-	bdytides.F90 \
-	c1d.F90 \
-	cla.F90 \
-	cla_div.F90 \
-	closea.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	diafwb.F90 \
-	diagap.F90 \
-	diahdy.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diaptr.F90 \
-	diaspr.F90 \
-	diawri.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	domhgr.F90 \
-	dommsk.F90 \
-	domstp.F90 \
-	domvvl.F90 \
-	domwri.F90 \
-	domzgr.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dynadv.F90 \
-	dynhpg.F90 \
-	dynldf.F90 \
-	dynnxt.F90 \
-	dynspg.F90 \
-	dynspg_exp.F90 \
-	dynspg_flt.F90 \
-	dynspg_oce.F90 \
-	dynspg_ts.F90 \
-	dynvor.F90 \
-	dynzdf.F90 \
-	eosbn2.F90 \
-	flo_oce.F90 \
-	floats.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfeiv.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	oasis4_date.F90 \
+	obcdom.F90 \
+	obcdta.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
-	obcdom.F90 \
-	obcdta.F90 \
 	obcrad.F90 \
 	obcrst.F90 \
 	obcspg.F90 \
 	oce.F90 \
-	ocfzpt.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -6365,10 +6478,10 @@
 	prtctl.F90 \
 	restart.F90 \
-	sbc_oce.F90 \
 	sbccpl.F90 \
 	sbcmod.F90 \
+	sbc_oce.F90 \
 	sbcrnf.F90 \
+	solisl.F90 \
 	sol_oce.F90 \
-	solisl.F90 \
 	stpctl.F90 \
 	traadv.F90 \
@@ -6392,5 +6505,4 @@
 	trdvor_oce.F90 \
 	wzvmod.F90 \
-	zdf_oce.F90 \
 	zdfbfr.F90 \
 	zdfddm.F90 \
@@ -6398,17 +6510,38 @@
 	zdfkpp.F90 \
 	zdfmxl.F90 \
+	zdf_oce.F90 \
 	zdfric.F90 \
 	zdftke.F90 \
 	zpshde.F90 \
+	bdyini.F90 \
+	bdy_par.F90 \
+	c1d.F90 \
+	cpl_oasis3.F90 \
+	cpl_oasis4.F90 \
+	daymod.F90 \
+	diaptr.F90 \
+	domain.F90 \
+	domcfg.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	dyncor_c1d.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	istate.F90 \
+	ldfdyn.F90 \
+	ldftra.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(bdyini.o) \
 	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdyini.o) \
-	$(MODEL_LIB)(bdytides.o) \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(cpl_oasis4.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domain.o) \
 	$(MODEL_LIB)(domcfg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtatem.o) \
@@ -6417,5 +6550,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(initrc.o) \
 	$(MODEL_LIB)(istate.o) \
 	$(MODEL_LIB)(ldfdyn.o) \
@@ -6423,48 +6555,27 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(mppini.o) \
+	$(MODEL_LIB)(obcini.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcini.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(step_c1d.o) \
 	$(MODEL_LIB)(step.o) \
-	$(MODEL_LIB)(step_c1d.o) \
+	$(MODEL_LIB)(trcini.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdfini.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	bdy_par.F90 \
-	bdyini.F90 \
-	bdytides.F90 \
-	c1d.F90 \
-	cpl_oasis3.F90 \
-	daymod.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	domain.F90 \
-	domcfg.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dyncor_c1d.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	initrc.F90 \
-	istate.F90 \
-	ldfdyn.F90 \
-	ldftra.F90 \
-	lib_mpp.F90 \
 	mppini.F90 \
+	obcini.F90 \
 	obc_par.F90 \
-	obcini.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	step_c1d.F90 \
 	step.F90 \
-	step_c1d.F90 \
+	trcini.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
@@ -6496,35 +6607,44 @@
 	par_oce.F90
 $(MODEL_LIB)(phycst.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	par_oce.F90 \
 	KEY_CPP \
 	phycst.F90
 $(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) \
-	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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
 	prtctl.F90
 $(MODEL_LIB)(restart.o) :	\
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -6542,105 +6662,93 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfddm.F90 \
+	c1d.F90 \
 	dom_oce.F90 \
 	eosbn2.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	oce.F90 \
+	phycst.F90 \
+	trdmld_oce.F90 \
+	zpshde.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	restart.F90
+$(MODEL_LIB)(sbcana.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcana.F90
+$(MODEL_LIB)(sbcblk_clio.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfddm.F90 \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	c1d.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	oce.F90 \
-	phycst.F90 \
-	trdmld_oce.F90 \
-	zpshde.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	restart.F90
-$(MODEL_LIB)(sbc_ice.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	sbc_ice.F90
-$(MODEL_LIB)(sbc_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	sbc_oce.F90
-$(MODEL_LIB)(sbcana.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)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	sbcana.F90
-$(MODEL_LIB)(sbcblk_clio.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -6653,9 +6761,51 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	albedo.F90 \
 	daymod.F90 \
 	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
+	fldread.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcblk_clio.F90
+$(MODEL_LIB)(sbcblk_core.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -6664,53 +6814,11 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	albedo.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbcblk_clio.F90
-$(MODEL_LIB)(sbcblk_core.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -6722,9 +6830,46 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	daymod.F90 \
 	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
+	fldread.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcblk_core.F90
+$(MODEL_LIB)(sbccpl.o) :	\
+	c1d.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -6733,50 +6878,12 @@
 	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)(fldread.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbcblk_core.F90
-$(MODEL_LIB)(sbccpl.o) :	\
 	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -6784,4 +6891,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -6789,12 +6897,52 @@
 	$(MODEL_LIB)(trdmld_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	c1d.F90 \
-	cpl_oce.F90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trdmld_oce.F90 \
+	zpshde.F90 \
+	albedo.F90 \
+	cpl_oasis3.F90 \
+	dom_oce.F90 \
+	geo2ocean.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	phycst.F90 \
+	restart.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbccpl.F90
+$(MODEL_LIB)(sbcflx.o) :	\
 	daymod.F90 \
 	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -6803,47 +6951,11 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	trdmld_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	albedo.F90 \
-	cpl_oasis3.F90 \
-	dom_oce.F90 \
-	geo2ocean.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	restart.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbccpl.F90
-$(MODEL_LIB)(sbcflx.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -6855,106 +6967,107 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	daymod.F90 \
 	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcflx.F90
+$(MODEL_LIB)(sbcfwb.o) :	\
+	closea.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcfwb.F90
+$(MODEL_LIB)(sbc_ice.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	sbc_ice.F90
+$(MODEL_LIB)(sbcice_if.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	sbcflx.F90
-$(MODEL_LIB)(sbcfwb.o) :	\
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(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)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbccpl.o) \
-	closea.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbccpl.F90 \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbcfwb.F90
-$(MODEL_LIB)(sbcice_if.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -6964,125 +7077,62 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfddm.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	sbcice_if.F90
+$(MODEL_LIB)(sbcice_lim_2.o) :	\
+	albedo.F90 \
+	cpl_oasis3.F90 \
 	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
+	dianam.F90 \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	fldread.F90 \
+	geo2ocean.F90 \
+	ice_2.F90 \
+	iceini_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	sbcice_if.F90
-$(MODEL_LIB)(sbcice_lim.o) :	\
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	albedo.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	zdfddm.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcblk_clio.o) \
-	$(MODEL_LIB)(sbcblk_core.o) \
-	albedo.F90 \
-	c1d.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbcblk_clio.F90 \
-	sbcblk_core.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbcice_lim.F90
-$(MODEL_LIB)(sbcice_lim_2.o) :	\
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limadv_2.F90 \
+	limhdf_2.F90 \
+	limistate_2.F90 \
+	limmsh_2.F90 \
+	limrhg_2.F90 \
+	limrst_2.F90 \
+	limtab_2.F90 \
+	limthd_lac_2.F90 \
+	limthd_zdf_2.F90 \
 	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
@@ -7093,12 +7143,13 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
 	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(iceini_2.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -7115,5 +7166,4 @@
 	$(MODEL_LIB)(limthd_zdf_2.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -7121,4 +7171,5 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(sbc_ice.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
@@ -7126,35 +7177,5 @@
 	$(MODEL_LIB)(tradmp.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	albedo.F90 \
-	cpl_oasis3.F90 \
-	daymod.F90 \
-	dianam.F90 \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	fldread.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	iceini_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limadv_2.F90 \
-	limhdf_2.F90 \
-	limistate_2.F90 \
-	limmsh_2.F90 \
-	limrhg_2.F90 \
-	limrst_2.F90 \
-	limtab_2.F90 \
-	limthd_lac_2.F90 \
-	limthd_zdf_2.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
+	oce.F90 \
 	par_ice_2.F90 \
 	par_kind.F90 \
@@ -7162,4 +7183,5 @@
 	phycst.F90 \
 	prtctl.F90 \
+	restart.F90 \
 	sbc_ice.F90 \
 	sbc_oce.F90 \
@@ -7167,6 +7189,27 @@
 	tradmp.F90 \
 	zdfddm.F90 \
+	albedo.F90 \
+	c1d.F90 \
+	daymod.F90 \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	ice_2.F90 \
+	iceini_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	limdia_2.F90 \
+	limdmp_2.F90 \
+	limdyn_2.F90 \
+	limrst_2.F90 \
+	limsbc_2.F90 \
+	limthd_2.F90 \
+	limtrp_2.F90 \
+	limwri_2.F90 \
 	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
@@ -7174,9 +7217,10 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(iceini_2.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(limdia_2.o) \
 	$(MODEL_LIB)(limdmp_2.o) \
@@ -7190,20 +7234,131 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
 	$(MODEL_LIB)(sbcblk_core.o) \
+	$(MODEL_LIB)(sbccpl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbcblk_clio.F90 \
+	sbcblk_core.F90 \
+	sbccpl.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcice_lim_2.F90
+$(MODEL_LIB)(sbcice_lim.o) :	\
 	albedo.F90 \
-	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	ice_2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	zdfddm.F90 \
+	albedo.F90 \
+	c1d.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbcblk_clio.o) \
+	$(MODEL_LIB)(sbcblk_core.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbcblk_clio.F90 \
+	sbcblk_core.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcice_lim.F90
+$(MODEL_LIB)(sbcmod.o) :	\
+	albedo.F90 \
+	c1d.F90 \
+	closea.F90 \
+	cpl_oasis3.F90 \
 	daymod.F90 \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
 	eosbn2.F90 \
+	fldread.F90 \
+	geo2ocean.F90 \
 	ice_2.F90 \
+	iceini_2.F90 \
 	ice_oce.F90 \
-	iceini_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	limdia_2.F90 \
 	limdmp_2.F90 \
@@ -7214,21 +7369,8 @@
 	limtrp_2.F90 \
 	limwri_2.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbcblk_clio.F90 \
-	sbcblk_core.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbcice_lim_2.F90
-$(MODEL_LIB)(sbcmod.o) :	\
 	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
@@ -7238,11 +7380,11 @@
 	$(MODEL_LIB)(geo2ocean.o) \
 	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(iceini_2.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -7258,5 +7400,4 @@
 	$(MODEL_LIB)(limwri_2.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -7265,45 +7406,13 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
 	$(MODEL_LIB)(sbcblk_core.o) \
 	$(MODEL_LIB)(sbccpl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	albedo.F90 \
-	c1d.F90 \
-	closea.F90 \
-	cpl_oasis3.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	fldread.F90 \
-	geo2ocean.F90 \
-	ice_2.F90 \
-	ice_oce.F90 \
-	iceini_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limdia_2.F90 \
-	limdmp_2.F90 \
-	limdyn_2.F90 \
-	limrst_2.F90 \
-	limsbc_2.F90 \
-	limthd_2.F90 \
-	limtrp_2.F90 \
-	limwri_2.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
+	oce.F90 \
 	par_ice_2.F90 \
 	par_kind.F90 \
@@ -7312,13 +7421,21 @@
 	prtctl.F90 \
 	restart.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
 	sbcblk_clio.F90 \
 	sbcblk_core.F90 \
 	sbccpl.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
 	sbcrnf.F90 \
 	trdmld_oce.F90 \
 	zpshde.F90 \
+	closea.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -7327,9 +7444,7 @@
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcana.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
@@ -7339,21 +7454,14 @@
 	$(MODEL_LIB)(sbcfwb.o) \
 	$(MODEL_LIB)(sbcice_if.o) \
+	$(MODEL_LIB)(sbcice_lim_2.o) \
 	$(MODEL_LIB)(sbcice_lim.o) \
-	$(MODEL_LIB)(sbcice_lim_2.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sbcssm.o) \
 	$(MODEL_LIB)(sbcssr.o) \
-	closea.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
+	oce.F90 \
 	phycst.F90 \
 	prtctl.F90 \
 	restart.F90 \
-	sbc_oce.F90 \
 	sbcana.F90 \
 	sbcblk_clio.F90 \
@@ -7363,6 +7471,7 @@
 	sbcfwb.F90 \
 	sbcice_if.F90 \
+	sbcice_lim_2.F90 \
 	sbcice_lim.F90 \
-	sbcice_lim_2.F90 \
+	sbc_oce.F90 \
 	sbcrnf.F90 \
 	sbcssm.F90 \
@@ -7371,12 +7480,227 @@
 	KEY_CPP \
 	sbcmod.F90
+$(MODEL_LIB)(sbc_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	sbc_oce.F90
 $(MODEL_LIB)(sbcrnf.o) :	\
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	closea.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90
+$(MODEL_LIB)(sbcssm.o) :	\
+	c1d.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	trdmld_oce.F90 \
+	zpshde.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	sbcssm.F90
+$(MODEL_LIB)(sbcssr.o) :	\
+	closea.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	sbcssr.F90
+$(MODEL_LIB)(sms.o) :	\
+	sms.F90
+$(MODEL_LIB)(solfet.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)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	oce.F90 \
+	sol_oce.F90 \
+	KEY_CPP \
+	solfet.F90
+$(MODEL_LIB)(solisl.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
@@ -7386,232 +7710,4 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	albedo.F90 \
-	cpl_oasis3.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	geo2ocean.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbccpl.o) \
-	closea.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_mpp.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbccpl.F90 \
-	KEY_CPP \
-	sbcrnf.F90
-$(MODEL_LIB)(sbcssm.o) :	\
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	c1d.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	trdmld_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	sbcssm.F90
-$(MODEL_LIB)(sbcssr.o) :	\
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbccpl.o) \
-	closea.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbccpl.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	sbcssr.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) :	\
-	$(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 \
-	lib_mpp.F90 \
-	oce.F90 \
-	sol_oce.F90 \
-	KEY_CPP \
-	solfet.F90
-$(MODEL_LIB)(solisl.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -7620,13 +7716,4 @@
 	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	obc_par.F90 \
 	oce.F90 \
@@ -7635,4 +7722,8 @@
 	sol_oce.F90 \
 	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7641,16 +7732,12 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_mpp.F90 \
 	obc_oce.F90 \
 	oce.F90 \
+	solfet.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
@@ -7659,4 +7746,8 @@
 	solisl.F90
 $(MODEL_LIB)(solmat.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7667,12 +7758,13 @@
 	$(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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_feti.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7684,9 +7776,4 @@
 	$(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 \
@@ -7695,19 +7782,30 @@
 	KEY_CPP \
 	solmat.F90
+$(MODEL_LIB)(sol_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	sol_oce.F90
 $(MODEL_LIB)(solpcg.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(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) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7716,8 +7814,4 @@
 	$(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 \
@@ -7726,18 +7820,22 @@
 	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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7747,8 +7845,4 @@
 	$(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 \
@@ -7756,4 +7850,11 @@
 	solsor.F90
 $(MODEL_LIB)(solver.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_feti.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7769,15 +7870,8 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_feti.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -7786,8 +7880,13 @@
 	par_oce.F90 \
 	phycst.F90 \
+	solfet.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
@@ -7797,35 +7896,54 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(sol_oce.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 \
 	solisl.F90 \
 	solmat.F90 \
+	sol_oce.F90 \
 	zdf_oce.F90 \
 	KEY_CPP \
 	solver.F90
-$(MODEL_LIB)(step.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
+$(MODEL_LIB)(step_c1d.o) :	\
+	agrif_opa_interp.F90 \
+	agrif_opa_update.F90 \
+	bdytra.F90 \
+	c1d.F90 \
+	closea.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	diadimg.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaspr.F90 \
+	diawri.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynspg_oce.F90 \
+	dynzdf_exp.F90 \
+	dynzdf_imp.F90 \
+	eosbn2.F90 \
+	fldread.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(agrif_opa_interp.o) \
 	$(MODEL_LIB)(agrif_opa_update.o) \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdydta.o) \
-	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(bdytides.o) \
 	$(MODEL_LIB)(bdytra.o) \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diadimg.o) \
@@ -7836,51 +7954,23 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynadv.o) \
-	$(MODEL_LIB)(dynadv_cen2.o) \
-	$(MODEL_LIB)(dynadv_ubs.o) \
-	$(MODEL_LIB)(dynkeg.o) \
-	$(MODEL_LIB)(dynldf_bilap.o) \
-	$(MODEL_LIB)(dynldf_bilapg.o) \
-	$(MODEL_LIB)(dynldf_iso.o) \
-	$(MODEL_LIB)(dynldf_lap.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynzad.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(dynzdf_imp.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(flo4rk.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(floblk.o) \
-	$(MODEL_LIB)(flodom.o) \
-	$(MODEL_LIB)(flowri.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.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)(ocfzpt.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -7888,6 +7978,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcana.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
@@ -7897,50 +7985,144 @@
 	$(MODEL_LIB)(sbcfwb.o) \
 	$(MODEL_LIB)(sbcice_if.o) \
+	$(MODEL_LIB)(sbcice_lim_2.o) \
 	$(MODEL_LIB)(sbcice_lim.o) \
-	$(MODEL_LIB)(sbcice_lim_2.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbcmod.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sbcssm.o) \
 	$(MODEL_LIB)(sbcssr.o) \
+	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(traadv_cen2.o) \
-	$(MODEL_LIB)(traadv_eiv.o) \
-	$(MODEL_LIB)(traadv_muscl.o) \
-	$(MODEL_LIB)(traadv_muscl2.o) \
-	$(MODEL_LIB)(traadv_qck.o) \
-	$(MODEL_LIB)(traadv_tvd.o) \
-	$(MODEL_LIB)(traadv_ubs.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traldf_bilap.o) \
-	$(MODEL_LIB)(traldf_bilapg.o) \
-	$(MODEL_LIB)(traldf_iso.o) \
-	$(MODEL_LIB)(traldf_lap.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trazdf.o) \
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trazdf_imp.o) \
 	$(MODEL_LIB)(trc_oce.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmld_rst.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdftke.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	obctra.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbcana.F90 \
+	sbcblk_clio.F90 \
+	sbcblk_core.F90 \
+	sbccpl.F90 \
+	sbcflx.F90 \
+	sbcfwb.F90 \
+	sbc_ice.F90 \
+	sbcice_if.F90 \
+	sbcice_lim_2.F90 \
+	sbcice_lim.F90 \
+	sbcmod.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	sbcssm.F90 \
+	sbcssr.F90 \
+	solisl.F90 \
+	sol_oce.F90 \
+	traqsr.F90 \
+	trazdf_exp.F90 \
+	trazdf_imp.F90 \
+	trc_oce.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfddm.F90 \
+	zdfkpp.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	zdftke.F90 \
+	zpshde.F90 \
+	daymod.F90 \
+	diawri_c1d.F90 \
+	diawri.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	dyncor_c1d.F90 \
+	dynnxt_c1d.F90 \
+	dynzdf.F90 \
+	eosbn2.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diawri_c1d.o) \
+	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dyncor_c1d.o) \
+	$(MODEL_LIB)(dynnxt_c1d.o) \
+	$(MODEL_LIB)(dynzdf.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbcmod.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(stpctl.o) \
+	$(MODEL_LIB)(tranpc.o) \
+	$(MODEL_LIB)(tranxt.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trasbc.o) \
+	$(MODEL_LIB)(trazdf.o) \
+	$(MODEL_LIB)(trcstp.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfevd.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfric.o) \
+	$(MODEL_LIB)(zdftke.o) \
+	oce.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbcmod.F90 \
+	sbcrnf.F90 \
+	stpctl.F90 \
+	tranpc.F90 \
+	tranxt.F90 \
+	traqsr.F90 \
+	trasbc.F90 \
+	trazdf.F90 \
+	trcstp.F90 \
+	zdfbfr.F90 \
+	zdfddm.F90 \
+	zdfevd.F90 \
+	zdfkpp.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	zdfric.F90 \
+	zdftke.F90 \
+	domzgr_substitute.h90 \
+	zdfddm_substitute.h90 \
+	KEY_CPP \
+	step_c1d.F90
+$(MODEL_LIB)(step.o) :	\
 	agrif_oce.F90 \
 	agrif_opa_interp.F90 \
 	agrif_opa_update.F90 \
 	albedo.F90 \
-	bdy_oce.F90 \
 	bdydta.F90 \
 	bdydyn.F90 \
+	bdy_oce.F90 \
 	bdytides.F90 \
 	bdytra.F90 \
@@ -7948,5 +8130,4 @@
 	closea.F90 \
 	cpl_oasis3.F90 \
-	cpl_oce.F90 \
 	daymod.F90 \
 	diadimg.F90 \
@@ -7959,6 +8140,6 @@
 	dtasal.F90 \
 	dtatem.F90 \
+	dynadv_cen2.F90 \
 	dynadv.F90 \
-	dynadv_cen2.F90 \
 	dynadv_ubs.F90 \
 	dynkeg.F90 \
@@ -7978,13 +8159,14 @@
 	fldread.F90 \
 	flo4rk.F90 \
-	flo_oce.F90 \
 	floblk.F90 \
 	flodom.F90 \
+	flo_oce.F90 \
 	flowri.F90 \
 	geo2ocean.F90 \
+	ice_2.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
-	iom.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -7996,12 +8178,131 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	$(MODEL_LIB)(agrif_oce.o) \
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(bdydta.o) \
+	$(MODEL_LIB)(bdydyn.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(bdytra.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diadimg.o) \
+	$(MODEL_LIB)(diahth.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(diaspr.o) \
+	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dynadv_cen2.o) \
+	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(dynadv_ubs.o) \
+	$(MODEL_LIB)(dynkeg.o) \
+	$(MODEL_LIB)(dynldf_bilapg.o) \
+	$(MODEL_LIB)(dynldf_bilap.o) \
+	$(MODEL_LIB)(dynldf_iso.o) \
+	$(MODEL_LIB)(dynldf_lap.o) \
+	$(MODEL_LIB)(dynspg_exp.o) \
+	$(MODEL_LIB)(dynspg_flt.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
+	$(MODEL_LIB)(dynspg_ts.o) \
+	$(MODEL_LIB)(dynzad.o) \
+	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(dynzdf_imp.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(flo4rk.o) \
+	$(MODEL_LIB)(floblk.o) \
+	$(MODEL_LIB)(flodom.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(flowri.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(obcdyn_bt.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obctra.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbcana.o) \
+	$(MODEL_LIB)(sbcblk_clio.o) \
+	$(MODEL_LIB)(sbcblk_core.o) \
+	$(MODEL_LIB)(sbccpl.o) \
+	$(MODEL_LIB)(sbcflx.o) \
+	$(MODEL_LIB)(sbcfwb.o) \
+	$(MODEL_LIB)(sbcice_if.o) \
+	$(MODEL_LIB)(sbcice_lim_2.o) \
+	$(MODEL_LIB)(sbcice_lim.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(sbcssm.o) \
+	$(MODEL_LIB)(sbcssr.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(traadv_cen2.o) \
+	$(MODEL_LIB)(traadv_eiv.o) \
+	$(MODEL_LIB)(traadv_muscl2.o) \
+	$(MODEL_LIB)(traadv_muscl.o) \
+	$(MODEL_LIB)(traadv_qck.o) \
+	$(MODEL_LIB)(traadv_tvd.o) \
+	$(MODEL_LIB)(traadv_ubs.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traldf_bilapg.o) \
+	$(MODEL_LIB)(traldf_bilap.o) \
+	$(MODEL_LIB)(traldf_iso.o) \
+	$(MODEL_LIB)(traldf_lap.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(trazdf_imp.o) \
+	$(MODEL_LIB)(trazdf.o) \
+	$(MODEL_LIB)(trc_oce.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmld_rst.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdftke.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	obccli.F90 \
+	obcdyn_bt.F90 \
+	obcdyn.F90 \
 	obc_oce.F90 \
-	obccli.F90 \
-	obcdyn.F90 \
-	obcdyn_bt.F90 \
 	obctra.F90 \
 	obcvol.F90 \
 	oce.F90 \
-	ocfzpt.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -8009,6 +8310,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
 	sbcana.F90 \
 	sbcblk_clio.F90 \
@@ -8017,19 +8316,21 @@
 	sbcflx.F90 \
 	sbcfwb.F90 \
+	sbc_ice.F90 \
 	sbcice_if.F90 \
+	sbcice_lim_2.F90 \
 	sbcice_lim.F90 \
-	sbcice_lim_2.F90 \
+	sbc_oce.F90 \
 	sbcrnf.F90 \
 	sbcssm.F90 \
 	sbcssr.F90 \
-	sol_oce.F90 \
 	solfet.F90 \
 	solisl.F90 \
+	sol_oce.F90 \
 	solpcg.F90 \
 	solsor.F90 \
 	traadv_cen2.F90 \
 	traadv_eiv.F90 \
+	traadv_muscl2.F90 \
 	traadv_muscl.F90 \
-	traadv_muscl2.F90 \
 	traadv_qck.F90 \
 	traadv_tvd.F90 \
@@ -8041,6 +8342,6 @@
 	traldf_lap.F90 \
 	traqsr.F90 \
+	trazdf_exp.F90 \
 	trazdf.F90 \
-	trazdf_exp.F90 \
 	trazdf_imp.F90 \
 	trc_oce.F90 \
@@ -8051,16 +8352,54 @@
 	trdmod_oce.F90 \
 	trdvor_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfkpp.F90 \
 	zdfmxl.F90 \
+	zdf_oce.F90 \
 	zdftke.F90 \
 	zpshde.F90 \
+	agrif_opa_sponge.F90 \
+	bdydta.F90 \
+	bdy_par.F90 \
+	cla_div.F90 \
+	cla.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	diafwb.F90 \
+	diagap.F90 \
+	diahdy.F90 \
+	diahth.F90 \
+	diaptr.F90 \
+	diaspr.F90 \
+	diawri.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	dynadv.F90 \
+	dynhpg.F90 \
+	dynldf.F90 \
+	dynnxt.F90 \
+	dynspg.F90 \
+	dynspg_oce.F90 \
+	dynvor.F90 \
+	dynzdf.F90 \
+	eosbn2.F90 \
+	floats.F90 \
+	flo_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfeiv.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(agrif_opa_sponge.o) \
+	$(MODEL_LIB)(bdydta.o) \
 	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdydta.o) \
+	$(MODEL_LIB)(cla_div.o) \
 	$(MODEL_LIB)(cla.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diafwb.o) \
@@ -8085,6 +8424,6 @@
 	$(MODEL_LIB)(dynzdf.o) \
 	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(floats.o) \
 	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(floats.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -8095,11 +8434,10 @@
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(obcdta.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)(ocfzpt.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
@@ -8125,5 +8463,4 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(wzvmod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -8131,52 +8468,14 @@
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	agrif_opa_sponge.F90 \
-	bdy_par.F90 \
-	bdydta.F90 \
-	cla.F90 \
-	cla_div.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	diafwb.F90 \
-	diagap.F90 \
-	diahdy.F90 \
-	diahth.F90 \
-	diaptr.F90 \
-	diaspr.F90 \
-	diawri.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dynadv.F90 \
-	dynhpg.F90 \
-	dynldf.F90 \
-	dynnxt.F90 \
-	dynspg.F90 \
-	dynspg_oce.F90 \
-	dynvor.F90 \
-	dynzdf.F90 \
-	eosbn2.F90 \
-	flo_oce.F90 \
-	floats.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfeiv.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
+	obcdta.F90 \
 	obc_par.F90 \
-	obcdta.F90 \
 	obcrad.F90 \
 	obcrst.F90 \
 	obcspg.F90 \
 	oce.F90 \
-	ocfzpt.F90 \
 	prtctl.F90 \
 	restart.F90 \
@@ -8202,5 +8501,4 @@
 	trdvor.F90 \
 	wzvmod.F90 \
-	zdf_oce.F90 \
 	zdfbfr.F90 \
 	zdfddm.F90 \
@@ -8208,4 +8506,5 @@
 	zdfkpp.F90 \
 	zdfmxl.F90 \
+	zdf_oce.F90 \
 	zdfric.F90 \
 	zdftke.F90 \
@@ -8216,11 +8515,19 @@
 	KEY_CPP \
 	step.F90
-$(MODEL_LIB)(step_c1d.o) :	\
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(agrif_opa_update.o) \
-	$(MODEL_LIB)(bdytra.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
+$(MODEL_LIB)(stpctl.o) :	\
+	daymod.F90 \
+	diadimg.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaspr.F90 \
+	dom_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diadimg.o) \
@@ -8228,10 +8535,89 @@
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(diaspr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcssr.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	obc_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	sbcssr.F90 \
+	solfet.F90 \
+	sol_oce.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	diawri.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(dynzdf_imp.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) \
+	oce.F90 \
+	solisl.F90 \
+	sol_oce.F90 \
+	stpctl.F90
+$(MODEL_LIB)(thd_ice_2.o) :	\
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_ice_2.o) \
+	par_ice_2.F90 \
+	KEY_CPP \
+	thd_ice_2.F90
+$(MODEL_LIB)(traadv_cen2.o) :	\
+	closea.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	fldread.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(fldread.o) \
@@ -8239,16 +8625,9 @@
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obctra.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -8256,6 +8635,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcana.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
@@ -8265,354 +8642,7 @@
 	$(MODEL_LIB)(sbcfwb.o) \
 	$(MODEL_LIB)(sbcice_if.o) \
+	$(MODEL_LIB)(sbcice_lim_2.o) \
 	$(MODEL_LIB)(sbcice_lim.o) \
-	$(MODEL_LIB)(sbcice_lim_2.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sbcssm.o) \
-	$(MODEL_LIB)(sbcssr.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trc_oce.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	agrif_opa_interp.F90 \
-	agrif_opa_update.F90 \
-	bdytra.F90 \
-	c1d.F90 \
-	closea.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	diadimg.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diaspr.F90 \
-	diawri.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	dynzdf_exp.F90 \
-	dynzdf_imp.F90 \
-	eosbn2.F90 \
-	fldread.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obctra.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbcana.F90 \
-	sbcblk_clio.F90 \
-	sbcblk_core.F90 \
-	sbccpl.F90 \
-	sbcflx.F90 \
-	sbcfwb.F90 \
-	sbcice_if.F90 \
-	sbcice_lim.F90 \
-	sbcice_lim_2.F90 \
-	sbcrnf.F90 \
-	sbcssm.F90 \
-	sbcssr.F90 \
-	sol_oce.F90 \
-	solisl.F90 \
-	traqsr.F90 \
-	trazdf_exp.F90 \
-	trazdf_imp.F90 \
-	trc_oce.F90 \
-	trdmld_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfkpp.F90 \
-	zdfmxl.F90 \
-	zdftke.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diawri.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynzdf.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbcmod.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(stpctl.o) \
-	$(MODEL_LIB)(tranpc.o) \
-	$(MODEL_LIB)(tranxt.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trasbc.o) \
-	$(MODEL_LIB)(trazdf.o) \
-	$(MODEL_LIB)(trcstp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfbfr.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfevd.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdfric.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	daymod.F90 \
-	diawri.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dynzdf.F90 \
-	eosbn2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbcmod.F90 \
-	sbcrnf.F90 \
-	stpctl.F90 \
-	tranpc.F90 \
-	tranxt.F90 \
-	traqsr.F90 \
-	trasbc.F90 \
-	trazdf.F90 \
-	trcstp.F90 \
-	zdf_oce.F90 \
-	zdfbfr.F90 \
-	zdfddm.F90 \
-	zdfevd.F90 \
-	zdfkpp.F90 \
-	zdfmxl.F90 \
-	zdfric.F90 \
-	zdftke.F90 \
-	domzgr_substitute.h90 \
-	zdfddm_substitute.h90 \
-	KEY_CPP \
-	step_c1d.F90
-$(MODEL_LIB)(stpctl.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diadimg.o) \
-	$(MODEL_LIB)(diahth.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diaspr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcssr.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	diadimg.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diaspr.F90 \
-	dom_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbcssr.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.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)(sol_oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	diawri.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	sol_oce.F90 \
-	solisl.F90 \
-	stpctl.F90
-$(MODEL_LIB)(thd_ice_2.o) :	\
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_ice_2.o) \
-	par_ice_2.F90 \
-	KEY_CPP \
-	thd_ice_2.F90
-$(MODEL_LIB)(traadv.o) :	\
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(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)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcmod.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	closea.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	sbcmod.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	trdmod.F90 \
-	trdmod_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)(traadv_cen2.o) \
-	$(MODEL_LIB)(traadv_eiv.o) \
-	$(MODEL_LIB)(traadv_muscl.o) \
-	$(MODEL_LIB)(traadv_muscl2.o) \
-	$(MODEL_LIB)(traadv_qck.o) \
-	$(MODEL_LIB)(traadv_tvd.o) \
-	$(MODEL_LIB)(traadv_ubs.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	traadv_cen2.F90 \
-	traadv_eiv.F90 \
-	traadv_muscl.F90 \
-	traadv_muscl2.F90 \
-	traadv_qck.F90 \
-	traadv_tvd.F90 \
-	traadv_ubs.F90 \
-	trabbl.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv.F90
-$(MODEL_LIB)(traadv_cen2.o) :	\
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldftra_oce.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)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcana.o) \
-	$(MODEL_LIB)(sbcblk_clio.o) \
-	$(MODEL_LIB)(sbcblk_core.o) \
-	$(MODEL_LIB)(sbccpl.o) \
-	$(MODEL_LIB)(sbcflx.o) \
-	$(MODEL_LIB)(sbcfwb.o) \
-	$(MODEL_LIB)(sbcice_if.o) \
-	$(MODEL_LIB)(sbcice_lim.o) \
-	$(MODEL_LIB)(sbcice_lim_2.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sbcssm.o) \
@@ -8626,20 +8656,7 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	closea.F90 \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	fldread.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
+	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -8647,6 +8664,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
 	sbcana.F90 \
 	sbcblk_clio.F90 \
@@ -8656,6 +8671,7 @@
 	sbcfwb.F90 \
 	sbcice_if.F90 \
+	sbcice_lim_2.F90 \
 	sbcice_lim.F90 \
-	sbcice_lim_2.F90 \
+	sbc_oce.F90 \
 	sbcrnf.F90 \
 	sbcssm.F90 \
@@ -8669,37 +8685,40 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdfddm.F90 \
 	zdf_oce.F90 \
+	closea.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(closea.o) \
 	$(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)(ocfzpt.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(eosbn2.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)(sbcmod.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	closea.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
 	sbcmod.F90 \
+	sbc_oce.F90 \
 	sbcrnf.F90 \
 	trabbl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -8707,4 +8726,10 @@
 	traadv_cen2.F90
 $(MODEL_LIB)(traadv_eiv.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -8719,16 +8744,14 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfmxl.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
 	ldftra_oce.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfmxl.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -8736,8 +8759,4 @@
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
 	oce.F90 \
 	domzgr_substitute.h90 \
@@ -8747,5 +8766,90 @@
 	KEY_CPP \
 	traadv_eiv.F90
-$(MODEL_LIB)(traadv_muscl.o) :	\
+$(MODEL_LIB)(traadv.o) :	\
+	closea.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbcmod.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	prtctl.F90 \
+	sbcmod.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(traadv_cen2.o) \
+	$(MODEL_LIB)(traadv_eiv.o) \
+	$(MODEL_LIB)(traadv_muscl2.o) \
+	$(MODEL_LIB)(traadv_muscl.o) \
+	$(MODEL_LIB)(traadv_qck.o) \
+	$(MODEL_LIB)(traadv_tvd.o) \
+	$(MODEL_LIB)(traadv_ubs.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	oce.F90 \
+	prtctl.F90 \
+	traadv_cen2.F90 \
+	traadv_eiv.F90 \
+	traadv_muscl2.F90 \
+	traadv_muscl.F90 \
+	traadv_qck.F90 \
+	traadv_tvd.F90 \
+	traadv_ubs.F90 \
+	trabbl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv.F90
+$(MODEL_LIB)(traadv_muscl2.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8773,14 +8877,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8798,4 +8892,10 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -8809,10 +8909,4 @@
 	$(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 \
@@ -8823,6 +8917,16 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl.F90
-$(MODEL_LIB)(traadv_muscl2.o) :	\
+	traadv_muscl2.F90
+$(MODEL_LIB)(traadv_muscl.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8850,14 +8954,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8875,4 +8969,10 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -8886,10 +8986,4 @@
 	$(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 \
@@ -8900,6 +8994,16 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl2.F90
+	traadv_muscl.F90
 $(MODEL_LIB)(traadv_qck.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8927,14 +9031,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8952,4 +9046,10 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -8963,10 +9063,4 @@
 	$(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 \
@@ -8979,4 +9073,14 @@
 	traadv_qck.F90
 $(MODEL_LIB)(traadv_tvd.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9004,14 +9108,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9029,4 +9123,10 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -9040,10 +9140,4 @@
 	$(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 \
@@ -9056,4 +9150,12 @@
 	traadv_tvd.F90
 $(MODEL_LIB)(traadv_ubs.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9077,12 +9179,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9098,4 +9192,10 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -9108,10 +9208,4 @@
 	$(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 \
@@ -9123,4 +9217,14 @@
 	traadv_ubs.F90
 $(MODEL_LIB)(trabbc.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9146,14 +9250,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9169,4 +9263,7 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9177,7 +9274,4 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -9189,6 +9283,91 @@
 	trabbc.F90
 $(MODEL_LIB)(trabbl.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfddm.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	eosbn2.F90 \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(oce.o) \
+	oce.F90 \
+	domzgr_substitute.h90 \
+	trabbl_adv.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	trabbl.F90
+$(MODEL_LIB)(tradmp.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -9208,10 +9387,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9228,40 +9401,53 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	phycst.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(oce.o) \
-	eosbn2.F90 \
-	oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	domzgr_substitute.h90 \
-	trabbl_adv.h90 \
 	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	trabbl.F90
-$(MODEL_LIB)(tradmp.o) :	\
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	tradmp.F90
+$(MODEL_LIB)(traldf_bilap.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -9280,17 +9466,6 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9306,37 +9481,120 @@
 	trdvor.F90 \
 	trdvor_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)(iom.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
+	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) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
 	zdf_oce.F90 \
-	zdfmxl.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	tradmp.F90
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	KEY_CPP \
+	traldf_bilapg.F90
 $(MODEL_LIB)(traldf.o) :	\
+	diaptr.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -9366,19 +9624,8 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9397,8 +9644,14 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
-	zdf_oce.F90 \
 	zdfkpp.F90 \
 	zdfmxl.F90 \
+	zdf_oce.F90 \
 	zdftke.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9410,6 +9663,6 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(traldf_bilapg.o) \
 	$(MODEL_LIB)(traldf_bilap.o) \
-	$(MODEL_LIB)(traldf_bilapg.o) \
 	$(MODEL_LIB)(traldf_iso.o) \
 	$(MODEL_LIB)(traldf_lap.o) \
@@ -9417,12 +9670,6 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -9435,11 +9682,21 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdfddm.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	traldf.F90
-$(MODEL_LIB)(traldf_bilap.o) :	\
+$(MODEL_LIB)(traldf_iso.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9457,4 +9714,75 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	ldftra_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traldf_iso.F90
+$(MODEL_LIB)(traldf_lap.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(trdicp.o) \
@@ -9466,20 +9794,8 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	sbc_oce.F90 \
 	trdicp.F90 \
@@ -9491,10 +9807,11 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	zdfmxl.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -9502,10 +9819,4 @@
 	$(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 \
@@ -9513,17 +9824,16 @@
 	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) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
+	traldf_lap.F90
+$(MODEL_LIB)(tranpc.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -9542,16 +9852,6 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9567,230 +9867,34 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdfddm.F90 \
 	zdf_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) \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(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 \
+	oce.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
 	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	KEY_CPP \
-	traldf_bilapg.F90
-$(MODEL_LIB)(traldf_iso.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	ldftra_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traldf_iso.F90
-$(MODEL_LIB)(traldf_lap.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	domzgr_substitute.h90 \
-	ldftra_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traldf_lap.F90
-$(MODEL_LIB)(tranpc.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	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) :	\
+	agrif_oce.F90 \
+	bdy_oce.F90 \
+	cla_div.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(bdy_oce.o) \
@@ -9798,5 +9902,4 @@
 	$(MODEL_LIB)(divcur.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -9806,5 +9909,4 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -9821,18 +9923,6 @@
 	$(MODEL_LIB)(wzvmod.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	agrif_oce.F90 \
-	bdy_oce.F90 \
-	cla_div.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	obc_oce.F90 \
 	oce.F90 \
-	ocfzpt.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -9849,9 +9939,15 @@
 	wzvmod.F90 \
 	zdf_oce.F90 \
+	agrif_opa_interp.F90 \
+	agrif_opa_update.F90 \
+	bdytra.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(agrif_opa_interp.o) \
 	$(MODEL_LIB)(agrif_opa_update.o) \
 	$(MODEL_LIB)(bdytra.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9864,12 +9960,4 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	agrif_opa_interp.F90 \
-	agrif_opa_update.F90 \
-	bdytra.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	obctra.F90 \
 	oce.F90 \
@@ -9884,4 +9972,9 @@
 	tranxt.F90
 $(MODEL_LIB)(traqsr.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9894,5 +9987,4 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sms.o) \
 	$(MODEL_LIB)(trdicp.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
@@ -9903,15 +9995,9 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sms.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
 	trdicp.F90 \
 	trdicp_oce.F90 \
@@ -9922,4 +10008,6 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9931,6 +10019,4 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -9945,4 +10031,9 @@
 	traqsr.F90
 $(MODEL_LIB)(trasbc.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9966,9 +10057,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9987,4 +10073,6 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9996,6 +10084,4 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -10009,5 +10095,87 @@
 	KEY_CPP \
 	trasbc.F90
+$(MODEL_LIB)(trazdf_exp.o) :	\
+	bdy_oce.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfddm.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	zdfddm_substitute.h90 \
+	KEY_CPP \
+	trazdf_exp.F90
 $(MODEL_LIB)(trazdf.o) :	\
+	bdy_oce.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynspg_oce.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -10040,20 +10208,7 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	bdy_oce.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10072,6 +10227,13 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
@@ -10088,13 +10250,7 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -10105,6 +10261,6 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdfkpp.F90 \
 	zdf_oce.F90 \
-	zdfkpp.F90 \
 	zdftke.F90 \
 	domzgr_substitute.h90 \
@@ -10113,8 +10269,22 @@
 	KEY_CPP \
 	trazdf.F90
-$(MODEL_LIB)(trazdf_exp.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+$(MODEL_LIB)(trazdf_imp.o) :	\
+	bdy_oce.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -10133,11 +10303,6 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10153,76 +10318,13 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdfmxl.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)(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)(bdy_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	bdy_oce.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	ldfslp.F90 \
+	ldftra.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
@@ -10236,19 +10338,12 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	domvvl.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra.F90 \
-	ldftra_oce.F90 \
 	oce.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdfddm.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
 	domzgr_substitute.h90 \
 	ldftra_substitute.h90 \
@@ -10257,11 +10352,11 @@
 	KEY_CPP \
 	trazdf_imp.F90
+$(MODEL_LIB)(trcini.o) :	\
+	trcini.F90
 $(MODEL_LIB)(trc_oce.o) :	\
 	$(MODEL_LIB)(par_kind.o) \
 	par_kind.F90 \
 	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sms.o) \
-	par_oce.F90 \
-	sms.F90 \
+	par_oce.F90 \
 	KEY_CPP \
 	trc_oce.F90
@@ -10269,4 +10364,7 @@
 	trcstp.F90
 $(MODEL_LIB)(trdicp.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -10280,7 +10378,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -10291,4 +10386,10 @@
 	trdvor_oce.F90 \
 	zdfddm.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -10301,10 +10402,4 @@
 	$(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 \
@@ -10323,6 +10418,16 @@
 	trdicp_oce.F90
 $(MODEL_LIB)(trdmld.o) :	\
+	c1d.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -10345,19 +10450,7 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	c1d.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10370,7 +10463,15 @@
 	trdmod_oce.F90 \
 	trdvor_oce.F90 \
+	zdfmxl.F90 \
 	zdf_oce.F90 \
-	zdfmxl.F90 \
 	zpshde.F90 \
+	daymod.F90 \
+	diadimg.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diadimg.o) \
@@ -10387,15 +10488,7 @@
 	$(MODEL_LIB)(trdmld_rst.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	diadimg.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -10404,7 +10497,7 @@
 	trdmld_rst.F90 \
 	trdmod_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
+	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	ldftra_substitute.h90 \
@@ -10421,14 +10514,23 @@
 	trdmld_oce.F90
 $(MODEL_LIB)(trdmld_rst.o) :	\
+	c1d.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -10439,30 +10541,23 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	c1d.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	trdicp_oce.F90 \
 	trdmld_oce.F90 \
 	trdvor_oce.F90 \
 	zpshde.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -10471,8 +10566,4 @@
 	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
 	restart.F90 \
 	trdmod_oce.F90 \
@@ -10480,4 +10571,16 @@
 	trdmld_rst.F90
 $(MODEL_LIB)(trdmod.o) :	\
+	daymod.F90 \
+	diadimg.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diadimg.o) \
@@ -10503,19 +10606,7 @@
 	$(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 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	par_kind.F90 \
@@ -10529,7 +10620,10 @@
 	trdmod_oce.F90 \
 	trdvor_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -10543,7 +10637,4 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -10570,32 +10661,42 @@
 	trdmod_oce.F90
 $(MODEL_LIB)(trdvor.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	lib_print.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)(prtctl.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_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 \
-	prtctl.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	trdicp_oce.F90 \
 	trdmld_oce.F90 \
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -10607,17 +10708,11 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
 	trdmod_oce.F90 \
+	zdfmxl.F90 \
 	zdf_oce.F90 \
-	zdfmxl.F90 \
 	domzgr_substitute.h90 \
 	ldfdyn_substitute.h90 \
@@ -10634,4 +10729,12 @@
 	trdvor_oce.F90
 $(MODEL_LIB)(wzvmod.o) :	\
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
@@ -10647,17 +10750,14 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
 	bdy_oce.F90 \
-	bdy_par.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -10669,9 +10769,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	bdy_oce.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -10681,26 +10776,22 @@
 	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) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(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) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -10709,7 +10800,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -10719,18 +10807,21 @@
 	zdfbfr.F90
 $(MODEL_LIB)(zdfddm.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -10739,7 +10830,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -10749,4 +10837,10 @@
 	zdfddm.F90
 $(MODEL_LIB)(zdfevd.o) :	\
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -10762,12 +10856,6 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10777,22 +10865,31 @@
 	sbc_oce.F90 \
 	trdmod.F90 \
+	zdfddm.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
+	oce.F90 \
+	zdfkpp.F90 \
 	zdf_oce.F90 \
-	zdfkpp.F90 \
 	domzgr_substitute.h90 \
 	KEY_CPP \
 	zdfevd.F90
 $(MODEL_LIB)(zdfini.o) :	\
+	dom_oce.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
@@ -10814,17 +10911,8 @@
 	$(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 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	par_kind.F90 \
@@ -10837,8 +10925,13 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfkpp.F90 \
 	zdfmxl.F90 \
+	zdf_oce.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
@@ -10848,25 +10941,26 @@
 	$(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)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	in_out_manager.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
 	par_oce.F90 \
 	tranpc.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfevd.F90 \
 	zdfkpp.F90 \
+	zdf_oce.F90 \
 	zdfric.F90 \
 	zdftke.F90 \
 	zdfini.F90
 $(MODEL_LIB)(zdfkpp.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -10885,12 +10979,6 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10903,28 +10991,28 @@
 	trdmod_oce.F90 \
 	trdvor.F90 \
+	zdfddm.F90 \
 	zdf_oce.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdmod.F90 \
 	zdfddm.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdmod.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -10933,16 +11021,18 @@
 	zdfkpp.F90
 $(MODEL_LIB)(zdfmxl.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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -10950,6 +11040,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -10958,19 +11046,29 @@
 	KEY_CPP \
 	zdfmxl.F90
+$(MODEL_LIB)(zdf_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	zdf_oce.F90
 $(MODEL_LIB)(zdfric.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(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) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -10978,7 +11076,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	oce.F90 \
 	zdf_oce.F90 \
@@ -10987,14 +11082,26 @@
 	zdfric.F90
 $(MODEL_LIB)(zdftke.o) :	\
+	c1d.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -11010,21 +11117,7 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	c1d.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -11036,7 +11129,12 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdfddm.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
 	zpshde.F90 \
+	dom_oce.F90 \
+	dynzdf_exp.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
@@ -11050,10 +11148,6 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	dynzdf_exp.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -11062,4 +11156,5 @@
 	sbc_oce.F90 \
 	trazdf_exp.F90 \
+	zdfmxl.F90 \
 	zdf_oce.F90 \
 	domzgr_substitute.h90 \
@@ -11068,4 +11163,8 @@
 	zdftke.F90
 $(MODEL_LIB)(zpshde.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -11078,8 +11177,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -11088,4 +11183,8 @@
 	prtctl.F90 \
 	zdfddm.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -11094,8 +11193,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -11186,5 +11281,5 @@
       \$(RM) trcstp.F90                      ; \
       \$(RM) sms.F90                         ; \
-      \$(RM) initrc.F90                      ; \
+      \$(RM) trcini.F90                      ; \
       ln -sf ../TOP_SRC/*.[Ffh]90          . ; \
       ln -sf ../TOP_SRC/TRP/*.[Ffh]90      . ; \
@@ -11192,6 +11287,6 @@
       ln -sf ../TOP_SRC/LOBSTER/*.[Ffh]90  . ; \
       ln -sf ../TOP_SRC/CFC/*.[Ffh]90      . ; \
-      ln -sf ../TOP_SRC/C14b/*.[Ffh]       . ; \
       ln -sf ../TOP_SRC/MY_TRC/*.[Ffh]90   . ; \
+      ln -sf ../TOP_SRC/SED/*.[Ffh]90      . ; \
       ln -sf ../TOP_SRC/DUMMY/*.[Ffh]90    . ; \
   fi 
