Index: trunk/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make
===================================================================
--- trunk/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make	(revision 1055)
+++ trunk/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make	(revision 1078)
@@ -113,17 +113,17 @@
      key_traldf_c3d \
      key_traldf_eiv \
+     key_trcbbc \
+     key_trcbbl_adv \
+     key_trcbbl_dif \
      key_trc_dia3d \
      key_trc_diaadd \
      key_trc_diabio \
      key_trc_diatrd \
+     key_trcdmp \
      key_trc_ldfeiv \
+     key_trcldf_eiv \
+     key_trcldf_iso \
      key_trc_my_trc \
      key_trc_zdfddm \
-     key_trcbbc \
-     key_trcbbl_adv \
-     key_trcbbl_dif \
-     key_trcdmp \
-     key_trcldf_eiv \
-     key_trcldf_iso \
      key_vectopt_loop \
      key_vectopt_memory \
@@ -142,8 +142,8 @@
 		$(MODEL_LIB)(daymod.o)\
 		$(MODEL_LIB)(dianam.o)\
-		$(MODEL_LIB)(dom_oce.o)\
 		$(MODEL_LIB)(domain.o)\
 		$(MODEL_LIB)(domcfg.o)\
 		$(MODEL_LIB)(dommsk.o)\
+		$(MODEL_LIB)(dom_oce.o)\
 		$(MODEL_LIB)(domrea.o)\
 		$(MODEL_LIB)(domstp.o)\
@@ -152,6 +152,6 @@
 		$(MODEL_LIB)(eosbn2.o)\
 		$(MODEL_LIB)(in_out_manager.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)\
@@ -170,5 +170,4 @@
 		$(MODEL_LIB)(p4zbio.o)\
 		$(MODEL_LIB)(p4zche.o)\
-		$(MODEL_LIB)(p4zday.o)\
 		$(MODEL_LIB)(p4zflx.o)\
 		$(MODEL_LIB)(p4zint.o)\
@@ -183,5 +182,4 @@
 		$(MODEL_LIB)(p4zsed.o)\
 		$(MODEL_LIB)(p4zsink.o)\
-		$(MODEL_LIB)(p4zsink2.o)\
 		$(MODEL_LIB)(par_cfc.o)\
 		$(MODEL_LIB)(par_kind.o)\
@@ -196,5 +194,6 @@
 		$(MODEL_LIB)(sbc_oce.o)\
 		$(MODEL_LIB)(sbcrnf.o)\
-		$(MODEL_LIB)(sms.o)\
+		$(MODEL_LIB)(sms_lobster.o)\
+		$(MODEL_LIB)(sms_pisces.o)\
 		$(MODEL_LIB)(sol_oce.o)\
 		$(MODEL_LIB)(step.o)\
@@ -202,8 +201,7 @@
 		$(MODEL_LIB)(trabbl.o)\
 		$(MODEL_LIB)(traqsr.o)\
-		$(MODEL_LIB)(trc.o)\
 		$(MODEL_LIB)(trcadv_cen2.o)\
+		$(MODEL_LIB)(trcadv_muscl2.o)\
 		$(MODEL_LIB)(trcadv_muscl.o)\
-		$(MODEL_LIB)(trcadv_muscl2.o)\
 		$(MODEL_LIB)(trcadv_smolar.o)\
 		$(MODEL_LIB)(trcadv_tvd.o)\
@@ -211,11 +209,16 @@
 		$(MODEL_LIB)(trcbbl.o)\
 		$(MODEL_LIB)(trcbio.o)\
+		$(MODEL_LIB)(trcctl_cfc.o)\
 		$(MODEL_LIB)(trcctl.o)\
+		$(MODEL_LIB)(trcctl_lobster.o)\
+		$(MODEL_LIB)(trcctl_my_trc.o)\
+		$(MODEL_LIB)(trcctl_pisces.o)\
 		$(MODEL_LIB)(trcdia.o)\
 		$(MODEL_LIB)(trcdmp.o)\
 		$(MODEL_LIB)(trcdta.o)\
 		$(MODEL_LIB)(trcexp.o)\
+		$(MODEL_LIB)(trc.o)\
+		$(MODEL_LIB)(trcini_cfc.o)\
 		$(MODEL_LIB)(trcini.o)\
-		$(MODEL_LIB)(trcini_cfc.o)\
 		$(MODEL_LIB)(trcini_lobster.o)\
 		$(MODEL_LIB)(trcini_my_trc.o)\
@@ -227,5 +230,4 @@
 		$(MODEL_LIB)(trcldf_lap.o)\
 		$(MODEL_LIB)(trclec.o)\
-		$(MODEL_LIB)(trclsm.o)\
 		$(MODEL_LIB)(trclsm_cfc.o)\
 		$(MODEL_LIB)(trclsm_lobster.o)\
@@ -238,12 +240,12 @@
 		$(MODEL_LIB)(trcsbc.o)\
 		$(MODEL_LIB)(trcsed.o)\
+		$(MODEL_LIB)(trcsms_cfc.o)\
 		$(MODEL_LIB)(trcsms.o)\
-		$(MODEL_LIB)(trcsms_cfc.o)\
 		$(MODEL_LIB)(trcsms_lobster.o)\
 		$(MODEL_LIB)(trcsms_my_trc.o)\
 		$(MODEL_LIB)(trcsms_pisces.o)\
 		$(MODEL_LIB)(trcstp.o)\
+		$(MODEL_LIB)(trctrp_ctl.o)\
 		$(MODEL_LIB)(trctrp.o)\
-		$(MODEL_LIB)(trctrp_ctl.o)\
 		$(MODEL_LIB)(trctrp_lec.o)\
 		$(MODEL_LIB)(trczdf_exp.o)\
@@ -252,8 +254,8 @@
 		$(MODEL_LIB)(trczdf_iso_vopt.o)\
 		$(MODEL_LIB)(trp_trc.o)\
-		$(MODEL_LIB)(zdf_oce.o)\
 		$(MODEL_LIB)(zdfddm.o)\
 		$(MODEL_LIB)(zdfini.o)\
 		$(MODEL_LIB)(zdfmxl.o)\
+		$(MODEL_LIB)(zdf_oce.o)\
 		$(MODEL_LIB)(zpshde.o)\
 		$(MODEL_LIB)(zpshde_trc.o)
@@ -465,30 +467,33 @@
 	agrif_top_update.F90
 $(MODEL_LIB)(ctlopn.o) :	\
+	lib_print.f90 \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	in_out_manager.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
 	ctlopn.f90
 $(MODEL_LIB)(daymod.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) \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	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)(phycst.o) \
 	phycst.F90 \
 	daymod.F90
 $(MODEL_LIB)(dianam.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -497,28 +502,24 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(phycst.o) \
+	phycst.F90 \
+	KEY_CPP \
+	dianam.F90
+$(MODEL_LIB)(domain.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	phycst.F90 \
-	KEY_CPP \
-	dianam.F90
-$(MODEL_LIB)(dom_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	dom_oce.F90
-$(MODEL_LIB)(domain.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -531,17 +532,18 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	daymod.F90 \
+	dommsk.F90 \
+	dom_oce.F90 \
+	domrea.F90 \
+	domstp.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dommsk.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domrea.o) \
 	$(MODEL_LIB)(domstp.o) \
@@ -550,11 +552,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dommsk.F90 \
-	domrea.F90 \
-	domstp.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -564,4 +559,7 @@
 	domain.F90
 $(MODEL_LIB)(domcfg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -569,19 +567,20 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(phycst.o) \
 	phycst.F90 \
 	domcfg.F90
 $(MODEL_LIB)(dommsk.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) \
@@ -591,25 +590,36 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.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)(oce.o) \
+	oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dommsk.F90
+$(MODEL_LIB)(dom_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	dom_oce.F90
+$(MODEL_LIB)(domrea.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 \
-	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) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dommsk.F90
-$(MODEL_LIB)(domrea.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -622,4 +632,37 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	daymod.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	domrea_dimg.h90 \
+	domrea_fdir.h90 \
+	KEY_CPP \
+	domrea.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)(dtadyn.o) :	\
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -629,38 +672,7 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	daymod.F90 \
-	lib_mpp.F90 \
-	domrea_dimg.h90 \
-	domrea_fdir.h90 \
-	KEY_CPP \
-	domrea.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)(dtadyn.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -678,7 +690,122 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfeiv.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfeiv.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	trabbl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dtadyn.F90
+$(MODEL_LIB)(dynspg_oce.o) :	\
+	KEY_CPP \
+	dynspg_oce.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) \
+	$(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)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_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)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfddm.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	eosbn2.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 \
@@ -688,116 +815,4 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfeiv.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfeiv.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	trabbl.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dtadyn.F90
-$(MODEL_LIB)(dynspg_oce.o) :	\
-	KEY_CPP \
-	dynspg_oce.F90
-$(MODEL_LIB)(eosbn2.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfddm.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	eosbn2.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)(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) \
@@ -807,35 +822,26 @@
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.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 \
-	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) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -845,45 +851,44 @@
 	$(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 \
+	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 \
-	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) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -892,21 +897,18 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -917,4 +919,7 @@
 	istate.F90
 $(MODEL_LIB)(lbclnk.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -922,20 +927,21 @@
 	$(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 \
+	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)(ldfeiv.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) \
@@ -945,11 +951,11 @@
 	$(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 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -958,8 +964,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -969,4 +971,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) \
@@ -978,8 +984,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 \
@@ -987,4 +989,8 @@
 	prtctl.F90 \
 	zdf_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -995,8 +1001,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -1008,4 +1010,10 @@
 	ldfslp.F90
 $(MODEL_LIB)(ldftra.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) \
@@ -1020,16 +1028,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 \
-	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 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1040,10 +1048,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 \
@@ -1068,14 +1070,14 @@
 	lib_isml.f90
 $(MODEL_LIB)(lib_mpp.o) :	\
+	lib_print.f90 \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	KEY_CPP \
 	lib_mpp.F90
@@ -1085,8 +1087,18 @@
 	lib_print.f90
 $(MODEL_LIB)(model.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	daymod.F90 \
+	domain.F90 \
+	domcfg.F90 \
+	dom_oce.F90 \
+	dtadyn.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	istate.F90 \
+	ldftra.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(domain.o) \
 	$(MODEL_LIB)(domcfg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtadyn.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -1103,14 +1115,4 @@
 	$(MODEL_LIB)(zdfini.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	domain.F90 \
-	domcfg.F90 \
-	dtadyn.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	istate.F90 \
-	ldftra.F90 \
-	lib_mpp.F90 \
 	mppini.F90 \
 	oce.F90 \
@@ -1125,4 +1127,7 @@
 	model.f90
 $(MODEL_LIB)(mppini.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1130,19 +1135,16 @@
 	$(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 \
+	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 \
+	iom.F90 \
 	$(MODEL_LIB)(iom.o) \
-	iom.F90 \
 	domzgr_substitute.h90 \
 	mppini_2.h90 \
@@ -1157,4 +1159,9 @@
 	oce.F90
 $(MODEL_LIB)(oce_trc.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1167,11 +1174,6 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	par_kind.F90 \
@@ -1179,46 +1181,61 @@
 	phycst.F90 \
 	prtctl.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	KEY_CPP \
 	oce_trc.F90
 $(MODEL_LIB)(opa.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	daymod.F90 \
+	dommsk.F90 \
+	dom_oce.F90 \
+	domrea.F90 \
+	domstp.F90 \
+	dtadyn.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfeiv.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dommsk.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domrea.o) \
 	$(MODEL_LIB)(domstp.o) \
@@ -1244,5 +1261,4 @@
 	$(MODEL_LIB)(stpctl.o) \
 	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcctl.o) \
 	$(MODEL_LIB)(trcdia.o) \
@@ -1253,24 +1269,10 @@
 	$(MODEL_LIB)(trcini_pisces.o) \
 	$(MODEL_LIB)(trclec.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcrst.o) \
 	$(MODEL_LIB)(trcstp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dommsk.F90 \
-	domrea.F90 \
-	domstp.F90 \
-	dtadyn.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfeiv.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -1284,8 +1286,8 @@
 	stpctl.F90 \
 	trabbl.F90 \
-	trc.F90 \
 	trcctl.F90 \
 	trcdia.F90 \
 	trcdta.F90 \
+	trc.F90 \
 	trcini_cfc.F90 \
 	trcini_lobster.F90 \
@@ -1295,11 +1297,21 @@
 	trcrst.F90 \
 	trcstp.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	daymod.F90 \
+	domain.F90 \
+	domcfg.F90 \
+	dom_oce.F90 \
+	dtadyn.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	istate.F90 \
+	ldftra.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(domain.o) \
 	$(MODEL_LIB)(domcfg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtadyn.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -1316,14 +1328,4 @@
 	$(MODEL_LIB)(zdfini.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	domain.F90 \
-	domcfg.F90 \
-	dtadyn.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	istate.F90 \
-	ldftra.F90 \
-	lib_mpp.F90 \
 	mppini.F90 \
 	oce.F90 \
@@ -1337,4 +1339,11 @@
 	opa.F90
 $(MODEL_LIB)(p4zbio.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -1347,5 +1356,4 @@
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(p4zche.o) \
-	$(MODEL_LIB)(p4zday.o) \
 	$(MODEL_LIB)(p4zint.o) \
 	$(MODEL_LIB)(p4zlim.o) \
@@ -1354,5 +1362,4 @@
 	$(MODEL_LIB)(p4zprod.o) \
 	$(MODEL_LIB)(p4zsink.o) \
-	$(MODEL_LIB)(p4zsink2.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(par_trc.o) \
@@ -1361,23 +1368,15 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
 	p4zche.F90 \
-	p4zday.F90 \
 	p4zint.F90 \
 	p4zlim.F90 \
@@ -1386,5 +1385,4 @@
 	p4zprod.F90 \
 	p4zsink.F90 \
-	p4zsink2.F90 \
 	par_oce.F90 \
 	par_trc.F90 \
@@ -1393,12 +1391,12 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trabbl.F90 \
 	traqsr.F90 \
 	trc.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(p4zlim.o) \
@@ -1411,5 +1409,5 @@
 	$(MODEL_LIB)(p4zsink.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trp_trc.o) \
 	oce_trc.F90 \
@@ -1423,5 +1421,5 @@
 	p4zsink.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trp_trc.F90 \
 	domzgr_substitute.h90 \
@@ -1429,305 +1427,257 @@
 	p4zbio.F90
 $(MODEL_LIB)(p4zche.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trp_trc.o) \
 	oce_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trp_trc.F90 \
 	domzgr_substitute.h90 \
 	KEY_CPP \
 	p4zche.F90
-$(MODEL_LIB)(p4zday.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+$(MODEL_LIB)(p4zflx.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	oce_trc.F90 \
-	sms.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trp_trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(p4zche.o) \
+	$(MODEL_LIB)(prtctl_trc.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trp_trc.o) \
+	oce_trc.F90 \
+	p4zche.F90 \
+	prtctl_trc.F90 \
+	sms_pisces.F90 \
+	trc.F90 \
 	trp_trc.F90 \
 	domzgr_substitute.h90 \
 	KEY_CPP \
-	p4zday.F90
-$(MODEL_LIB)(p4zflx.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
+	p4zflx.F90
+$(MODEL_LIB)(p4zint.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	sms.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
+	oce_trc.F90 \
+	sms_pisces.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(p4zche.o) \
-	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	KEY_CPP \
+	p4zint.F90
+$(MODEL_LIB)(p4zlim.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
 	oce_trc.F90 \
-	p4zche.F90 \
-	prtctl_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
 	domzgr_substitute.h90 \
 	KEY_CPP \
-	p4zflx.F90
-$(MODEL_LIB)(p4zint.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trp_trc.o) \
-	oce_trc.F90 \
-	sms.F90 \
-	trp_trc.F90 \
-	KEY_CPP \
-	p4zint.F90
-$(MODEL_LIB)(p4zlim.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trp_trc.o) \
-	oce_trc.F90 \
-	sms.F90 \
-	trc.F90 \
-	trp_trc.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
 	p4zlim.F90
 $(MODEL_LIB)(p4zlys.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
@@ -1735,14 +1685,20 @@
 	p4zlys.F90
 $(MODEL_LIB)(p4zmeso.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(p4zsink2.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(par_trc.o) \
@@ -1751,22 +1707,14 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	p4zsink2.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
 	par_oce.F90 \
 	par_trc.F90 \
@@ -1775,17 +1723,17 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trabbl.F90 \
 	traqsr.F90 \
 	trc.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(p4zint.o) \
 	$(MODEL_LIB)(p4zsink.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
@@ -1794,5 +1742,5 @@
 	p4zsink.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
@@ -1801,14 +1749,20 @@
 	p4zmeso.F90
 $(MODEL_LIB)(p4zmicro.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(p4zsink2.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(par_trc.o) \
@@ -1817,22 +1771,14 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	p4zsink2.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
 	par_oce.F90 \
 	par_trc.F90 \
@@ -1841,17 +1787,17 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trabbl.F90 \
 	traqsr.F90 \
 	trc.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(p4zint.o) \
 	$(MODEL_LIB)(p4zsink.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
@@ -1860,5 +1806,5 @@
 	p4zsink.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
@@ -1867,14 +1813,20 @@
 	p4zmicro.F90
 $(MODEL_LIB)(p4zmort.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(p4zsink2.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(par_trc.o) \
@@ -1883,22 +1835,14 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	p4zsink2.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
 	par_oce.F90 \
 	par_trc.F90 \
@@ -1907,16 +1851,16 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trabbl.F90 \
 	traqsr.F90 \
 	trc.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(p4zsink.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
@@ -1924,5 +1868,5 @@
 	p4zsink.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
@@ -1931,48 +1875,48 @@
 	p4zmort.F90
 $(MODEL_LIB)(p4zopt.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
 	oce_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
@@ -1981,64 +1925,62 @@
 	p4zopt.F90
 $(MODEL_LIB)(p4zprod.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	sms.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	sms_pisces.F90 \
 	trabbl.F90 \
 	traqsr.F90 \
 	trc.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(p4zday.o) \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(p4zint.o) \
 	$(MODEL_LIB)(p4zlim.o) \
 	$(MODEL_LIB)(p4zopt.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
 	oce_trc.F90 \
-	p4zday.F90 \
 	p4zint.F90 \
 	p4zlim.F90 \
 	p4zopt.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
@@ -2047,14 +1989,20 @@
 	p4zprod.F90
 $(MODEL_LIB)(p4zrem.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(p4zday.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(p4zint.o) \
 	$(MODEL_LIB)(p4zlim.o) \
@@ -2067,22 +2015,14 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	p4zday.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
 	p4zint.F90 \
 	p4zlim.F90 \
@@ -2095,12 +2035,12 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trabbl.F90 \
 	traqsr.F90 \
 	trc.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(p4zche.o) \
@@ -2110,5 +2050,5 @@
 	$(MODEL_LIB)(p4zprod.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
@@ -2120,5 +2060,5 @@
 	p4zprod.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
@@ -2127,4 +2067,16 @@
 	p4zrem.F90
 $(MODEL_LIB)(p4zsed.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2151,5 +2103,4 @@
 	$(MODEL_LIB)(p4zrem.o) \
 	$(MODEL_LIB)(p4zsink.o) \
-	$(MODEL_LIB)(p4zsink2.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(par_trc.o) \
@@ -2158,24 +2109,12 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -2190,5 +2129,4 @@
 	p4zrem.F90 \
 	p4zsink.F90 \
-	p4zsink2.F90 \
 	par_oce.F90 \
 	par_trc.F90 \
@@ -2197,12 +2135,15 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trabbl.F90 \
 	traqsr.F90 \
 	trc.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2216,10 +2157,7 @@
 	$(MODEL_LIB)(p4zsink.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	oce_trc.F90 \
 	p4zbio.F90 \
@@ -2230,5 +2168,5 @@
 	p4zsink.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
@@ -2237,58 +2175,52 @@
 	p4zsed.F90
 $(MODEL_LIB)(p4zsink.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(prtctl_trc.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	sms.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(p4zsink2.o) \
-	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trp_trc.o) \
-	oce_trc.F90 \
-	p4zsink2.F90 \
+	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
@@ -2296,52 +2228,4 @@
 	KEY_CPP \
 	p4zsink.F90
-$(MODEL_LIB)(p4zsink2.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trp_trc.o) \
-	oce_trc.F90 \
-	sms.F90 \
-	trp_trc.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	p4zsink2.F90
 $(MODEL_LIB)(par_cfc.o) :	\
 	$(MODEL_LIB)(par_lobster.o) \
@@ -2409,16 +2293,19 @@
 	par_trc.F90
 $(MODEL_LIB)(phycst.o) :	\
+	lib_print.f90 \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	in_out_manager.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	par_oce.F90 \
 	phycst.F90
 $(MODEL_LIB)(prtctl.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2426,17 +2313,22 @@
 	$(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 \
+	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)(prtctl_trc.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2459,15 +2351,7 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	par_cfc.F90 \
@@ -2482,13 +2366,13 @@
 	trabbl.F90 \
 	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
 	oce_trc.F90 \
 	par_trc.F90 \
@@ -2507,5 +2391,5 @@
 	par_oce.F90 \
 	sbcrnf.F90
-$(MODEL_LIB)(sms.o) :	\
+$(MODEL_LIB)(sms_lobster.o) :	\
 	$(MODEL_LIB)(par_cfc.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -2522,8 +2406,23 @@
 	par_oce.F90 \
 	par_trc.F90 \
-	sms_lobster.h90 \
-	sms_pisces.h90 \
-	KEY_CPP \
-	sms.F90
+	KEY_CPP \
+	sms_lobster.F90
+$(MODEL_LIB)(sms_pisces.o) :	\
+	$(MODEL_LIB)(par_cfc.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_lobster.o) \
+	$(MODEL_LIB)(par_my_trc.o) \
+	$(MODEL_LIB)(par_pisces.o) \
+	par_cfc.F90 \
+	par_kind.F90 \
+	par_lobster.F90 \
+	par_my_trc.F90 \
+	par_pisces.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	par_oce.F90 \
+	par_trc.F90 \
+	KEY_CPP \
+	sms_pisces.F90
 $(MODEL_LIB)(sol_oce.o) :	\
 	$(MODEL_LIB)(par_kind.o) \
@@ -2533,4 +2432,15 @@
 	sol_oce.F90
 $(MODEL_LIB)(step.o) :	\
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfeiv.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2552,27 +2462,17 @@
 	$(MODEL_LIB)(prtctl_trc.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(trcdia.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcrst.o) \
+	$(MODEL_LIB)(trcsms_cfc.o) \
 	$(MODEL_LIB)(trcsms.o) \
-	$(MODEL_LIB)(trcsms_cfc.o) \
+	$(MODEL_LIB)(trctrp_lec.o) \
 	$(MODEL_LIB)(trctrp.o) \
-	$(MODEL_LIB)(trctrp_lec.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfeiv.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -2583,16 +2483,24 @@
 	prtctl_trc.F90 \
 	sbc_oce.F90 \
-	sms.F90 \
-	trabbl.F90 \
-	trc.F90 \
+	sms_lobster.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
 	trcdia.F90 \
+	trc.F90 \
 	trcrst.F90 \
+	trcsms_cfc.F90 \
 	trcsms.F90 \
-	trcsms_cfc.F90 \
 	trctrp.F90 \
 	trctrp_lec.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtadyn.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2608,11 +2516,4 @@
 	$(MODEL_LIB)(trcstp.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtadyn.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
 	oce.F90 \
 	stpctl.F90 \
@@ -2625,4 +2526,8 @@
 	step.F90
 $(MODEL_LIB)(stpctl.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) \
@@ -2632,11 +2537,11 @@
 	$(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 \
+	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) \
@@ -2644,19 +2549,15 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	oce.F90 \
 	stpctl.F90
 $(MODEL_LIB)(trabbl.o) :	\
+	lib_print.f90 \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	in_out_manager.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -2664,31 +2565,23 @@
 	trabbl.F90
 $(MODEL_LIB)(traqsr.o) :	\
+	lib_print.f90 \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	in_out_manager.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
 	traqsr.F90
-$(MODEL_LIB)(trc.o) :	\
-	$(MODEL_LIB)(par_cfc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_lobster.o) \
-	$(MODEL_LIB)(par_my_trc.o) \
-	$(MODEL_LIB)(par_pisces.o) \
-	par_cfc.F90 \
-	par_kind.F90 \
-	par_lobster.F90 \
-	par_my_trc.F90 \
-	par_pisces.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	par_oce.F90 \
-	par_trc.F90 \
-	KEY_CPP \
-	trc.F90
 $(MODEL_LIB)(trcadv_cen2.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2712,16 +2605,7 @@
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -2736,15 +2620,15 @@
 	trc.F90 \
 	trctrp_lec.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcbbl.o) \
+	$(MODEL_LIB)(trc.o) \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	trc.F90 \
 	trcbbl.F90 \
+	trc.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -2754,5 +2638,14 @@
 	KEY_CPP \
 	trcadv_cen2.F90
-$(MODEL_LIB)(trcadv_muscl.o) :	\
+$(MODEL_LIB)(trcadv_muscl2.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2776,43 +2669,32 @@
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	prtctl_trc.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trctrp_lec.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(prtctl_trc.o) \
+	$(MODEL_LIB)(trcbbl.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	trctrp_lec.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trcbbl.o) \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce_trc.F90 \
-	prtctl_trc.F90 \
-	trc.F90 \
 	trcbbl.F90 \
+	trc.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -2821,6 +2703,15 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	trcadv_muscl.F90
-$(MODEL_LIB)(trcadv_muscl2.o) :	\
+	trcadv_muscl2.F90
+$(MODEL_LIB)(trcadv_muscl.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2844,41 +2735,34 @@
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	prtctl_trc.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trctrp_lec.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(prtctl_trc.o) \
+	$(MODEL_LIB)(trcbbl.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	trctrp_lec.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trcbbl.o) \
-	lbclnk.F90 \
-	oce_trc.F90 \
-	prtctl_trc.F90 \
-	trc.F90 \
 	trcbbl.F90 \
+	trc.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -2887,6 +2771,15 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	trcadv_muscl2.F90
+	trcadv_muscl.F90
 $(MODEL_LIB)(trcadv_smolar.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2910,41 +2803,32 @@
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	prtctl_trc.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trctrp_lec.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(prtctl_trc.o) \
+	$(MODEL_LIB)(trcbbl.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	trctrp_lec.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trcbbl.o) \
-	lbclnk.F90 \
-	oce_trc.F90 \
-	prtctl_trc.F90 \
-	trc.F90 \
 	trcbbl.F90 \
+	trc.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -2955,4 +2839,13 @@
 	trcadv_smolar.F90
 $(MODEL_LIB)(trcadv_tvd.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2976,41 +2869,32 @@
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	prtctl_trc.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trctrp_lec.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(prtctl_trc.o) \
+	$(MODEL_LIB)(trcbbl.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	trctrp_lec.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trcbbl.o) \
-	lbclnk.F90 \
-	oce_trc.F90 \
-	prtctl_trc.F90 \
-	trc.F90 \
 	trcbbl.F90 \
+	trc.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -3021,4 +2905,16 @@
 	trcadv_tvd.F90
 $(MODEL_LIB)(trcbbc.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3042,36 +2938,24 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	iom.F90 \
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
 	$(MODEL_LIB)(trc.o) \
-	iom.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
@@ -3085,4 +2969,11 @@
 	trcbbc.F90
 $(MODEL_LIB)(trcbbl.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3103,14 +2994,7 @@
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -3124,7 +3008,9 @@
 	traqsr.F90 \
 	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	eosbn2.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -3133,6 +3019,4 @@
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	eosbn2.F90 \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
@@ -3148,58 +3032,108 @@
 	trcbbl.F90
 $(MODEL_LIB)(trcbio.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_lobster.F90 \
 	trp_trc.F90 \
 	domzgr_substitute.h90 \
 	KEY_CPP \
 	trcbio.F90
+$(MODEL_LIB)(trcctl_cfc.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
+	trc.F90 \
+	KEY_CPP \
+	trcctl_cfc.F90
 $(MODEL_LIB)(trcctl.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3220,14 +3154,7 @@
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -3241,21 +3168,161 @@
 	trc.F90 \
 	trctrp_lec.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(trcctl_cfc.o) \
+	$(MODEL_LIB)(trcctl_lobster.o) \
+	$(MODEL_LIB)(trcctl_my_trc.o) \
+	$(MODEL_LIB)(trcctl_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_ctl.o) \
 	oce_trc.F90 \
-	sms.F90 \
+	trcctl_cfc.F90 \
+	trcctl_lobster.F90 \
+	trcctl_my_trc.F90 \
+	trcctl_pisces.F90 \
 	trc.F90 \
 	trctrp_ctl.F90 \
-	trcctl.cfc.h90 \
-	trcctl.lobster.h90 \
-	trcctl.pisces.h90 \
 	KEY_CPP \
 	trcctl.F90
+$(MODEL_LIB)(trcctl_lobster.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
+	trc.F90 \
+	KEY_CPP \
+	trcctl_lobster.F90
+$(MODEL_LIB)(trcctl_my_trc.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
+	trc.F90 \
+	KEY_CPP \
+	trcctl_my_trc.F90
+$(MODEL_LIB)(trcctl_pisces.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
+	trc.F90 \
+	KEY_CPP \
+	trcctl_pisces.F90
 $(MODEL_LIB)(trcdia.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3275,38 +3342,28 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	dianam.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trc.o) \
-	dianam.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce_trc.F90 \
-	sms.F90 \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
 	trc.F90 \
 	domzgr_substitute.h90 \
@@ -3319,37 +3376,10 @@
 	trcdia.F90
 $(MODEL_LIB)(trcdmp.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)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
 	iom.F90 \
-	iom_def.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -3360,28 +3390,55 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcdta.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	iom.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	trc.F90 \
 	trcdta.F90 \
+	trc.F90 \
 	trctrp_lec.F90 \
 	domzgr_substitute.h90 \
@@ -3394,4 +3451,16 @@
 	trcdmp.F90
 $(MODEL_LIB)(trcdta.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3419,19 +3488,7 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	par_cfc.F90 \
@@ -3447,7 +3504,9 @@
 	trabbl.F90 \
 	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	iom.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lib_print.o) \
@@ -3455,6 +3514,4 @@
 	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(trc.o) \
-	iom.F90 \
-	lib_print.f90 \
 	oce_trc.F90 \
 	par_trc.F90 \
@@ -3468,55 +3525,55 @@
 	trcdta.F90
 $(MODEL_LIB)(trcexp.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_lobster.F90 \
 	trc.F90 \
 	trctrp_lec.F90 \
@@ -3525,5 +3582,92 @@
 	KEY_CPP \
 	trcexp.F90
+$(MODEL_LIB)(trc.o) :	\
+	$(MODEL_LIB)(par_cfc.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_lobster.o) \
+	$(MODEL_LIB)(par_my_trc.o) \
+	$(MODEL_LIB)(par_pisces.o) \
+	par_cfc.F90 \
+	par_kind.F90 \
+	par_lobster.F90 \
+	par_my_trc.F90 \
+	par_pisces.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	par_oce.F90 \
+	par_trc.F90 \
+	KEY_CPP \
+	trc.F90
+$(MODEL_LIB)(trcini_cfc.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_cfc.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_lobster.o) \
+	$(MODEL_LIB)(par_my_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_pisces.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_cfc.F90 \
+	par_kind.F90 \
+	par_lobster.F90 \
+	par_my_trc.F90 \
+	par_oce.F90 \
+	par_pisces.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_cfc.o) \
+	oce_trc.F90 \
+	par_trc.F90 \
+	trc.F90 \
+	trcsms_cfc.F90 \
+	KEY_CPP \
+	trcini_cfc.F90
 $(MODEL_LIB)(trcini.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3544,25 +3688,24 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trclsm.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trcctl_cfc.o) \
+	$(MODEL_LIB)(trcctl_lobster.o) \
+	$(MODEL_LIB)(trcctl_my_trc.o) \
+	$(MODEL_LIB)(trcctl_pisces.o) \
+	$(MODEL_LIB)(trclsm_cfc.o) \
+	$(MODEL_LIB)(trclsm_lobster.o) \
+	$(MODEL_LIB)(trclsm_my_trc.o) \
+	$(MODEL_LIB)(trclsm_pisces.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcsms_cfc.o) \
 	$(MODEL_LIB)(trctrp_ctl.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -3574,21 +3717,30 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	trclsm.F90 \
+	sms_lobster.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trcctl_cfc.F90 \
+	trcctl_lobster.F90 \
+	trcctl_my_trc.F90 \
+	trcctl_pisces.F90 \
+	trc.F90 \
+	trclsm_cfc.F90 \
+	trclsm_lobster.F90 \
+	trclsm_my_trc.F90 \
+	trclsm_pisces.F90 \
 	trcsms_cfc.F90 \
 	trctrp_ctl.F90 \
 	trctrp_lec.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcctl.o) \
 	$(MODEL_LIB)(trcdta.o) \
@@ -3598,12 +3750,11 @@
 	$(MODEL_LIB)(trcini_pisces.o) \
 	$(MODEL_LIB)(trclec.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcrst.o) \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	trc.F90 \
 	trcctl.F90 \
 	trcdta.F90 \
+	trc.F90 \
 	trcini_cfc.F90 \
 	trcini_lobster.F90 \
@@ -3615,14 +3766,20 @@
 	KEY_CPP \
 	trcini.F90
-$(MODEL_LIB)(trcini_cfc.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
+$(MODEL_LIB)(trcini_lobster.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_cfc.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -3637,17 +3794,8 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
 	par_cfc.F90 \
 	par_kind.F90 \
@@ -3662,72 +3810,14 @@
 	trabbl.F90 \
 	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trcsms_cfc.o) \
-	oce_trc.F90 \
-	par_trc.F90 \
-	trc.F90 \
-	trcsms_cfc.F90 \
-	KEY_CPP \
-	trcini_cfc.F90
-$(MODEL_LIB)(trcini_lobster.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_cfc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_lobster.o) \
-	$(MODEL_LIB)(par_my_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_pisces.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_cfc.F90 \
-	par_kind.F90 \
-	par_lobster.F90 \
-	par_my_trc.F90 \
-	par_oce.F90 \
-	par_pisces.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trc.o) \
-	oce_trc.F90 \
-	par_trc.F90 \
-	sms.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
+	par_trc.F90 \
+	sms_lobster.F90 \
 	trc.F90 \
 	domzgr_substitute.h90 \
@@ -3760,4 +3850,11 @@
 	trcini_my_trc.F90
 $(MODEL_LIB)(trcini_pisces.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3779,19 +3876,12 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -3806,24 +3896,24 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trabbl.F90 \
 	traqsr.F90 \
 	trc.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(p4zche.o) \
 	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	lib_mpp.F90 \
 	oce_trc.F90 \
 	p4zche.F90 \
 	par_trc.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trp_trc.F90 \
@@ -3836,47 +3926,47 @@
 	trcini_pisces.F90
 $(MODEL_LIB)(trcldf_bilap.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
 	$(MODEL_LIB)(trc.o) \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
@@ -3890,47 +3980,47 @@
 	trcldf_bilap.F90
 $(MODEL_LIB)(trcldf_bilapg.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
 	$(MODEL_LIB)(trc.o) \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
@@ -3944,42 +4034,42 @@
 	trcldf_bilapg.F90
 $(MODEL_LIB)(trcldf_iso.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
@@ -3996,42 +4086,42 @@
 	trcldf_iso.F90
 $(MODEL_LIB)(trcldf_iso_zps.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
@@ -4048,42 +4138,42 @@
 	trcldf_iso_zps.F90
 $(MODEL_LIB)(trcldf_lap.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
@@ -4100,44 +4190,64 @@
 	trcldf_lap.F90
 $(MODEL_LIB)(trclec.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_cfc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	sms_lobster.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trcsms_cfc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(trclsm_cfc.o) \
 	$(MODEL_LIB)(trclsm_lobster.o) \
 	$(MODEL_LIB)(trclsm_my_trc.o) \
 	$(MODEL_LIB)(trclsm_pisces.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trctrp_lec.o) \
+	oce_trc.F90 \
 	trc.F90 \
 	trclsm_cfc.F90 \
@@ -4145,14 +4255,4 @@
 	trclsm_my_trc.F90 \
 	trclsm_pisces.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trclsm.o) \
-	$(MODEL_LIB)(trctrp_lec.o) \
-	oce_trc.F90 \
-	trc.F90 \
-	trclsm.F90 \
 	trctrp_lec.F90 \
 	domzgr_substitute.h90 \
@@ -4163,6 +4263,20 @@
 	KEY_CPP \
 	trclec.F90
-$(MODEL_LIB)(trclsm.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
+$(MODEL_LIB)(trclsm_cfc.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(par_cfc.o) \
@@ -4173,8 +4287,14 @@
 	$(MODEL_LIB)(par_pisces.o) \
 	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trcsms_cfc.o) \
-	lib_print.f90 \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
 	oce_trc.F90 \
 	par_cfc.F90 \
@@ -4185,31 +4305,39 @@
 	par_pisces.F90 \
 	par_trc.F90 \
-	sms.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_cfc.o) \
+	oce_trc.F90 \
+	par_trc.F90 \
 	trc.F90 \
 	trcsms_cfc.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(trclsm_cfc.o) \
-	$(MODEL_LIB)(trclsm_lobster.o) \
-	$(MODEL_LIB)(trclsm_my_trc.o) \
-	$(MODEL_LIB)(trclsm_pisces.o) \
-	in_out_manager.F90 \
-	par_trc.F90 \
-	trclsm_cfc.F90 \
-	trclsm_lobster.F90 \
-	trclsm_my_trc.F90 \
-	trclsm_pisces.F90 \
-	KEY_CPP \
-	trclsm.F90
-$(MODEL_LIB)(trclsm_cfc.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
+	KEY_CPP \
+	trclsm_cfc.F90
+$(MODEL_LIB)(trclsm_lobster.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_cfc.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -4224,17 +4352,8 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
 	par_cfc.F90 \
 	par_kind.F90 \
@@ -4249,21 +4368,25 @@
 	trabbl.F90 \
 	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trcsms_cfc.o) \
-	oce_trc.F90 \
-	par_trc.F90 \
-	sms.F90 \
-	trc.F90 \
-	trcsms_cfc.F90 \
-	KEY_CPP \
-	trclsm_cfc.F90
-$(MODEL_LIB)(trclsm_lobster.o) :	\
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
+	par_trc.F90 \
+	sms_lobster.F90 \
+	trc.F90 \
+	KEY_CPP \
+	trclsm_lobster.F90
+$(MODEL_LIB)(trclsm_my_trc.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -4286,14 +4409,7 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	par_cfc.F90 \
@@ -4309,18 +4425,23 @@
 	trabbl.F90 \
 	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trc.o) \
-	oce_trc.F90 \
-	par_trc.F90 \
-	sms.F90 \
-	trc.F90 \
-	KEY_CPP \
-	trclsm_lobster.F90
-$(MODEL_LIB)(trclsm_my_trc.o) :	\
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
+	par_trc.F90 \
+	trc.F90 \
+	KEY_CPP \
+	trclsm_my_trc.F90
+$(MODEL_LIB)(trclsm_pisces.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -4343,14 +4464,7 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	par_cfc.F90 \
@@ -4366,115 +4480,61 @@
 	trabbl.F90 \
 	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trc.o) \
-	oce_trc.F90 \
-	par_trc.F90 \
-	sms.F90 \
-	trc.F90 \
-	KEY_CPP \
-	trclsm_my_trc.F90
-$(MODEL_LIB)(trclsm_pisces.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_cfc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_lobster.o) \
-	$(MODEL_LIB)(par_my_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_pisces.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_cfc.F90 \
-	par_kind.F90 \
-	par_lobster.F90 \
-	par_my_trc.F90 \
-	par_oce.F90 \
-	par_pisces.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trc.o) \
-	oce_trc.F90 \
-	par_trc.F90 \
-	sms.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
+	par_trc.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	KEY_CPP \
 	trclsm_pisces.F90
 $(MODEL_LIB)(trcnxt.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	agrif_top_interp.F90 \
+	agrif_top_update.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(agrif_top_interp.o) \
 	$(MODEL_LIB)(agrif_top_update.o) \
@@ -4484,7 +4544,4 @@
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	agrif_top_interp.F90 \
-	agrif_top_update.F90 \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
@@ -4495,51 +4552,51 @@
 	trcnxt.F90
 $(MODEL_LIB)(trcopt.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
 	$(MODEL_LIB)(trp_trc.o) \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_lobster.F90 \
 	trp_trc.F90 \
 	domzgr_substitute.h90 \
@@ -4547,47 +4604,47 @@
 	trcopt.F90
 $(MODEL_LIB)(trcrad.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
 	$(MODEL_LIB)(trc.o) \
-	lib_mpp.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
@@ -4601,4 +4658,16 @@
 	trcrad.F90
 $(MODEL_LIB)(trcrst.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -4623,43 +4692,33 @@
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcsms_cfc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	iom.F90 \
-	lib_mpp.F90 \
-	oce_trc.F90 \
-	sms.F90 \
+	oce_trc.F90 \
+	sms_lobster.F90 \
+	sms_pisces.F90 \
 	trc.F90 \
 	trcsms_cfc.F90 \
@@ -4673,42 +4732,42 @@
 	trcrst.F90
 $(MODEL_LIB)(trcsbc.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
@@ -4725,58 +4784,128 @@
 	trcsbc.F90
 $(MODEL_LIB)(trcsed.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_lobster.F90 \
 	trp_trc.F90 \
 	domzgr_substitute.h90 \
 	KEY_CPP \
 	trcsed.F90
+$(MODEL_LIB)(trcsms_cfc.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_cfc.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_lobster.o) \
+	$(MODEL_LIB)(par_my_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_pisces.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_cfc.F90 \
+	par_kind.F90 \
+	par_lobster.F90 \
+	par_my_trc.F90 \
+	par_oce.F90 \
+	par_pisces.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	daymod.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	oce_trc.F90 \
+	par_trc.F90 \
+	trc.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	trcsms_cfc.F90
 $(MODEL_LIB)(trcsms.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -4800,24 +4929,16 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trcbio.o) \
 	$(MODEL_LIB)(trcexp.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcopt.o) \
 	$(MODEL_LIB)(trcsed.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -4833,16 +4954,16 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
 	trcbio.F90 \
 	trcexp.F90 \
+	trc.F90 \
 	trcopt.F90 \
 	trcsed.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
@@ -4861,78 +4982,16 @@
 	KEY_CPP \
 	trcsms.F90
-$(MODEL_LIB)(trcsms_cfc.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_cfc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_lobster.o) \
-	$(MODEL_LIB)(par_my_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_pisces.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_cfc.F90 \
-	par_kind.F90 \
-	par_lobster.F90 \
-	par_my_trc.F90 \
-	par_oce.F90 \
-	par_pisces.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(trc.o) \
-	daymod.F90 \
-	oce_trc.F90 \
-	par_trc.F90 \
-	trc.F90 \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	top_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	trcsms_cfc.F90
 $(MODEL_LIB)(trcsms_lobster.o) :	\
+	lbclnk.F90 \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	sms.F90 \
+	sms_lobster.F90 \
 	trc.F90 \
 	trctrp_lec.F90 \
@@ -4964,4 +5023,13 @@
 	trcsms_my_trc.F90
 $(MODEL_LIB)(trcsms_pisces.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -4992,21 +5060,12 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -5028,12 +5087,14 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trabbl.F90 \
 	traqsr.F90 \
 	trc.F90 \
 	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -5045,8 +5106,6 @@
 	$(MODEL_LIB)(p4zlys.o) \
 	$(MODEL_LIB)(p4zsed.o) \
-	$(MODEL_LIB)(sms.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trp_trc.o) \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	oce_trc.F90 \
 	p4zbio.F90 \
@@ -5056,9 +5115,18 @@
 	p4zlys.F90 \
 	p4zsed.F90 \
-	sms.F90 \
+	sms_pisces.F90 \
 	trp_trc.F90 \
 	KEY_CPP \
 	trcsms_pisces.F90
 $(MODEL_LIB)(trcstp.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -5078,21 +5146,22 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sms.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trcadv_cen2.o) \
+	$(MODEL_LIB)(trcadv_muscl2.o) \
 	$(MODEL_LIB)(trcadv_muscl.o) \
-	$(MODEL_LIB)(trcadv_muscl2.o) \
 	$(MODEL_LIB)(trcadv_smolar.o) \
 	$(MODEL_LIB)(trcadv_tvd.o) \
 	$(MODEL_LIB)(trcbbl.o) \
 	$(MODEL_LIB)(trcdmp.o) \
+	$(MODEL_LIB)(trcldf_bilapg.o) \
 	$(MODEL_LIB)(trcldf_bilap.o) \
-	$(MODEL_LIB)(trcldf_bilapg.o) \
 	$(MODEL_LIB)(trcldf_iso.o) \
 	$(MODEL_LIB)(trcldf_iso_zps.o) \
 	$(MODEL_LIB)(trcldf_lap.o) \
 	$(MODEL_LIB)(trcnxt.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcrad.o) \
 	$(MODEL_LIB)(trcsbc.o) \
@@ -5106,17 +5175,8 @@
 	$(MODEL_LIB)(trczdf_iso.o) \
 	$(MODEL_LIB)(trczdf_iso_vopt.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zpshde_trc.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
 	oce.F90 \
 	oce_trc.F90 \
@@ -5127,15 +5187,16 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	sms.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
+	sms_lobster.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
 	trcadv_cen2.F90 \
+	trcadv_muscl2.F90 \
 	trcadv_muscl.F90 \
-	trcadv_muscl2.F90 \
 	trcadv_smolar.F90 \
 	trcadv_tvd.F90 \
 	trcbbl.F90 \
 	trcdmp.F90 \
+	trc.F90 \
 	trcldf_bilap.F90 \
 	trcldf_bilapg.F90 \
@@ -5155,12 +5216,12 @@
 	trczdf_iso.F90 \
 	trczdf_iso_vopt.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	zpshde_trc.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcdia.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcrst.o) \
 	$(MODEL_LIB)(trcsms.o) \
@@ -5168,6 +5229,6 @@
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	trc.F90 \
 	trcdia.F90 \
+	trc.F90 \
 	trcrst.F90 \
 	trcsms.F90 \
@@ -5175,5 +5236,66 @@
 	KEY_CPP \
 	trcstp.F90
+$(MODEL_LIB)(trctrp_ctl.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trctrp_lec.o) \
+	oce_trc.F90 \
+	trc.F90 \
+	trctrp_lec.F90 \
+	KEY_CPP \
+	trctrp_ctl.F90
 $(MODEL_LIB)(trctrp.o) :	\
+	agrif_top_interp.F90 \
+	agrif_top_update.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(agrif_top_interp.o) \
 	$(MODEL_LIB)(agrif_top_update.o) \
@@ -5199,23 +5321,11 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcbbl.o) \
 	$(MODEL_LIB)(trcdta.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	agrif_top_interp.F90 \
-	agrif_top_update.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	oce_trc.F90 \
@@ -5229,27 +5339,27 @@
 	trabbl.F90 \
 	traqsr.F90 \
-	trc.F90 \
 	trcbbl.F90 \
 	trcdta.F90 \
+	trc.F90 \
 	trctrp_lec.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
-	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcadv_cen2.o) \
+	$(MODEL_LIB)(trcadv_muscl2.o) \
 	$(MODEL_LIB)(trcadv_muscl.o) \
-	$(MODEL_LIB)(trcadv_muscl2.o) \
 	$(MODEL_LIB)(trcadv_smolar.o) \
 	$(MODEL_LIB)(trcadv_tvd.o) \
 	$(MODEL_LIB)(trcbbl.o) \
 	$(MODEL_LIB)(trcdmp.o) \
+	$(MODEL_LIB)(trcldf_bilapg.o) \
 	$(MODEL_LIB)(trcldf_bilap.o) \
-	$(MODEL_LIB)(trcldf_bilapg.o) \
 	$(MODEL_LIB)(trcldf_iso.o) \
 	$(MODEL_LIB)(trcldf_iso_zps.o) \
 	$(MODEL_LIB)(trcldf_lap.o) \
 	$(MODEL_LIB)(trcnxt.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcrad.o) \
 	$(MODEL_LIB)(trcsbc.o) \
@@ -5262,12 +5372,12 @@
 	oce_trc.F90 \
 	prtctl_trc.F90 \
-	trc.F90 \
 	trcadv_cen2.F90 \
+	trcadv_muscl2.F90 \
 	trcadv_muscl.F90 \
-	trcadv_muscl2.F90 \
 	trcadv_smolar.F90 \
 	trcadv_tvd.F90 \
 	trcbbl.F90 \
 	trcdmp.F90 \
+	trc.F90 \
 	trcldf_bilap.F90 \
 	trcldf_bilapg.F90 \
@@ -5287,90 +5397,41 @@
 	KEY_CPP \
 	trctrp.F90
-$(MODEL_LIB)(trctrp_ctl.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trctrp_lec.o) \
-	oce_trc.F90 \
-	trc.F90 \
-	trctrp_lec.F90 \
-	KEY_CPP \
-	trctrp_ctl.F90
 $(MODEL_LIB)(trctrp_lec.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(trc.o) \
@@ -5380,44 +5441,44 @@
 	trctrp_lec.F90
 $(MODEL_LIB)(trczdf_exp.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
@@ -5436,44 +5497,44 @@
 	trczdf_exp.F90
 $(MODEL_LIB)(trczdf_imp.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
@@ -5492,44 +5553,45 @@
 	trczdf_imp.F90
 $(MODEL_LIB)(trczdf_iso.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
@@ -5537,5 +5599,4 @@
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
@@ -5551,44 +5612,45 @@
 	trczdf_iso.F90
 $(MODEL_LIB)(trczdf_iso_vopt.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	oce_trc.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
@@ -5596,5 +5658,4 @@
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	prtctl_trc.F90 \
@@ -5629,11 +5690,9 @@
 	KEY_CPP \
 	trp_trc.F90
-$(MODEL_LIB)(zdf_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	zdf_oce.F90
 $(MODEL_LIB)(zdfddm.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) \
@@ -5643,11 +5702,10 @@
 	$(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 \
+	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) \
@@ -5655,7 +5713,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	oce.F90 \
 	zdf_oce.F90 \
@@ -5664,4 +5719,9 @@
 	zdfddm.F90
 $(MODEL_LIB)(zdfini.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5675,9 +5735,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -5686,14 +5741,18 @@
 	prtctl.F90 \
 	zdfmxl.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	in_out_manager.F90 \
-	ldfslp.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	par_oce.F90 \
 	zdf_oce.F90 \
 	zdfini.F90
 $(MODEL_LIB)(zdfmxl.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) \
@@ -5702,44 +5761,50 @@
 	$(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)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	prtctl.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	zdfmxl.F90
+$(MODEL_LIB)(zdf_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	zdf_oce.F90
+$(MODEL_LIB)(zpshde.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)(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)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
+	$(MODEL_LIB)(zdfddm.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	prtctl.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	zdfmxl.F90
-$(MODEL_LIB)(zpshde.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfddm.F90 \
+	zdfddm.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -5748,8 +5813,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -5759,45 +5820,45 @@
 	zpshde.F90
 $(MODEL_LIB)(zpshde_trc.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(par_trc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	par_trc.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	traqsr.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	oce.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	lbclnk.F90 \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(trc.o) \
-	lbclnk.F90 \
 	oce_trc.F90 \
 	par_kind.F90 \
