Index: /trunk/CONFIG/GYRE/scripts/BB_make
===================================================================
--- /trunk/CONFIG/GYRE/scripts/BB_make	(revision 1942)
+++ /trunk/CONFIG/GYRE/scripts/BB_make	(revision 1943)
@@ -101,5 +101,5 @@
 
 #check key compatibility
-keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
+keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
 
 KEY_LIST = \
@@ -430,5 +430,5 @@
 
 # Agrif library and conv
-libagrif :  $(call keycompat,key_iomput,key_agrif)
+libagrif :
 ifeq ($(AGRIF),use)
 	@( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi )
@@ -1195,13 +1195,27 @@
 	diaar5.F90
 $(MODEL_LIB)(diadimg.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1358,5 +1372,4 @@
 	phycst.F90 \
 	$(IOIPSL_LIB) \
-	KEY_CPP \
 	dianam.F90
 $(MODEL_LIB)(diaptr.o) :	\
@@ -1419,4 +1432,5 @@
 	diaptr.F90
 $(MODEL_LIB)(diawri.o) :	\
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
@@ -1446,4 +1460,5 @@
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
 	dianam.F90 \
 	dom_ice_2.F90 \
@@ -4594,5 +4609,4 @@
 	in_out_manager.F90 \
 	lbcnfd.F90 \
-	$(AGRIF_LIB) \
 	KEY_CPP \
 	lib_mpp.F90
@@ -5309,4 +5323,5 @@
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
@@ -5319,4 +5334,5 @@
 	limistate_2.F90 \
 	phycst.F90 \
+	sbc_oce.F90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
@@ -7996,4 +8012,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limwri_2.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obctra.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -8067,4 +8084,5 @@
 	lib_print.f90 \
 	limwri_2.F90 \
+	obc_oce.F90 \
 	obctra.F90 \
 	oce.F90 \
@@ -9620,4 +9638,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -9644,4 +9663,5 @@
 	lib_print.f90 \
 	obc_oce.F90 \
+	obc_par.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9668,4 +9688,5 @@
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obctra.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -9684,4 +9705,5 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
+	obc_oce.F90 \
 	obctra.F90 \
 	oce.F90 \
@@ -10172,4 +10194,5 @@
 $(MODEL_LIB)(trdmld.o) :	\
 	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -10197,4 +10220,5 @@
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
+	daymod.F90 \
 	dom_oce.F90 \
 	eosbn2.F90 \
Index: /trunk/CONFIG/GYRE_LOBSTER/scripts/BB_make
===================================================================
--- /trunk/CONFIG/GYRE_LOBSTER/scripts/BB_make	(revision 1942)
+++ /trunk/CONFIG/GYRE_LOBSTER/scripts/BB_make	(revision 1943)
@@ -101,5 +101,5 @@
 
 #check key compatibility
-keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
+keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
 
 KEY_LIST = \
@@ -477,4 +477,9 @@
 		$(MODEL_LIB)(trcrad.o)\
 		$(MODEL_LIB)(trcrst.o)\
+		$(MODEL_LIB)(trcrst_c14b.o)\
+		$(MODEL_LIB)(trcrst_cfc.o)\
+		$(MODEL_LIB)(trcrst_lobster.o)\
+		$(MODEL_LIB)(trcrst_my_trc.o)\
+		$(MODEL_LIB)(trcrst_pisces.o)\
 		$(MODEL_LIB)(trcsbc.o)\
 		$(MODEL_LIB)(trcsed.o)\
@@ -559,5 +564,5 @@
 
 # Agrif library and conv
-libagrif :  $(call keycompat,key_iomput,key_agrif)
+libagrif :
 ifeq ($(AGRIF),use)
 	@( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi )
@@ -1330,13 +1335,27 @@
 	diaar5.F90
 $(MODEL_LIB)(diadimg.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1493,5 +1512,4 @@
 	phycst.F90 \
 	$(IOIPSL_LIB) \
-	KEY_CPP \
 	dianam.F90
 $(MODEL_LIB)(diaptr.o) :	\
@@ -1554,4 +1572,5 @@
 	diaptr.F90
 $(MODEL_LIB)(diawri.o) :	\
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
@@ -1581,4 +1600,5 @@
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
 	dianam.F90 \
 	dom_ice_2.F90 \
@@ -4729,5 +4749,4 @@
 	in_out_manager.F90 \
 	lbcnfd.F90 \
-	$(AGRIF_LIB) \
 	KEY_CPP \
 	lib_mpp.F90
@@ -5444,4 +5463,5 @@
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
@@ -5454,4 +5474,5 @@
 	limistate_2.F90 \
 	phycst.F90 \
+	sbc_oce.F90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
@@ -6528,4 +6549,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zbio.F90
@@ -6570,4 +6595,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zche.F90
@@ -6644,4 +6673,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zflx.F90
@@ -6727,4 +6760,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zlim.F90
@@ -6862,4 +6899,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zmeso.F90
@@ -6936,4 +6977,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zmicro.F90
@@ -6992,4 +7037,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zmort.F90
@@ -7052,4 +7101,8 @@
 	trc_oce.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zopt.F90
@@ -7132,4 +7185,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zprod.F90
@@ -7206,4 +7263,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zrem.F90
@@ -7382,4 +7443,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zsink.F90
@@ -9922,4 +9987,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limwri_2.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obctra.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -10003,4 +10069,5 @@
 	lib_print.f90 \
 	limwri_2.F90 \
+	obc_oce.F90 \
 	obctra.F90 \
 	oce.F90 \
@@ -11568,4 +11635,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -11592,4 +11660,5 @@
 	lib_print.f90 \
 	obc_oce.F90 \
+	obc_par.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -11616,4 +11685,5 @@
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obctra.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -11632,4 +11702,5 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
+	obc_oce.F90 \
 	obctra.F90 \
 	oce.F90 \
@@ -13025,6 +13096,11 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_c14b.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) \
@@ -13045,6 +13121,11 @@
 	lib_print.f90 \
 	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	par_c14b.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 \
@@ -13062,4 +13143,5 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trdmld_trc_oce.o) \
@@ -13070,4 +13152,5 @@
 	lib_mpp.F90 \
 	oce_trc.F90 \
+	par_trc.F90 \
 	trc.F90 \
 	trdmld_trc_oce.F90 \
@@ -13345,4 +13428,5 @@
 	trcexp.F90
 $(MODEL_LIB)(trcini.o) :	\
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -13380,7 +13464,11 @@
 	$(MODEL_LIB)(trclsm_my_trc.o) \
 	$(MODEL_LIB)(trclsm_pisces.o) \
+	$(MODEL_LIB)(trcrst_c14b.o) \
+	$(MODEL_LIB)(trcrst_cfc.o) \
+	$(MODEL_LIB)(trcrst_lobster.o) \
+	$(MODEL_LIB)(trcrst_my_trc.o) \
+	$(MODEL_LIB)(trcrst_pisces.o) \
 	$(MODEL_LIB)(trcsms_c14b.o) \
 	$(MODEL_LIB)(trcsms_cfc.o) \
-	$(MODEL_LIB)(trcsms_my_trc.o) \
 	$(MODEL_LIB)(trctrp_ctl.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
@@ -13390,4 +13478,5 @@
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -13425,7 +13514,11 @@
 	trclsm_my_trc.F90 \
 	trclsm_pisces.F90 \
+	trcrst_c14b.F90 \
+	trcrst_cfc.F90 \
+	trcrst_lobster.F90 \
+	trcrst_my_trc.F90 \
+	trcrst_pisces.F90 \
 	trcsms_c14b.F90 \
 	trcsms_cfc.F90 \
-	trcsms_my_trc.F90 \
 	trctrp_ctl.F90 \
 	trctrp_lec.F90 \
@@ -14678,4 +14771,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	trcopt.F90
@@ -14776,4 +14873,114 @@
 	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.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)(trcdta.o) \
+	$(MODEL_LIB)(trcsms_c14b.o) \
+	$(MODEL_LIB)(trcsms_cfc.o) \
+	$(MODEL_LIB)(trcsms_lobster.o) \
+	$(MODEL_LIB)(trcsms_pisces.o) \
+	$(MODEL_LIB)(trp_trc.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	sms_lobster.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trcdta.F90 \
+	trcsms_c14b.F90 \
+	trcsms_cfc.F90 \
+	trcsms_lobster.F90 \
+	trcsms_pisces.F90 \
+	trp_trc.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcrst_c14b.o) \
+	$(MODEL_LIB)(trcrst_cfc.o) \
+	$(MODEL_LIB)(trcrst_lobster.o) \
+	$(MODEL_LIB)(trcrst_my_trc.o) \
+	$(MODEL_LIB)(trcrst_pisces.o) \
+	$(MODEL_LIB)(trctrp_lec.o) \
+	daymod.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	oce_trc.F90 \
+	trc.F90 \
+	trcrst_c14b.F90 \
+	trcrst_cfc.F90 \
+	trcrst_lobster.F90 \
+	trcrst_my_trc.F90 \
+	trcrst_pisces.F90 \
+	trctrp_lec.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	trcrst.F90
+$(MODEL_LIB)(trcrst_c14b.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.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_c14b.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) \
@@ -14783,5 +14990,4 @@
 	$(MODEL_LIB)(trdmld_trc.o) \
 	$(MODEL_LIB)(trdmld_trc_oce.o) \
-	$(MODEL_LIB)(trp_trc.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -14797,11 +15003,17 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lbcnfd.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	oce_trc.F90 \
-	par_oce.F90 \
+	par_c14b.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 \
@@ -14813,35 +15025,307 @@
 	trdmld_trc.F90 \
 	trdmld_trc_oce.F90 \
-	trp_trc.F90 \
 	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_c14b.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce_trc.F90 \
+	par_trc.F90 \
+	trc.F90 \
+	trcsms_c14b.F90 \
+	KEY_CPP \
+	trcrst_c14b.F90
+$(MODEL_LIB)(trcrst_cfc.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.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_c14b.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)(trdmld_trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	oce_trc.F90 \
+	par_c14b.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 \
+	trdmld_trc.F90 \
+	trdmld_trc_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_cfc.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce_trc.F90 \
+	par_trc.F90 \
+	trc.F90 \
+	trcsms_cfc.F90 \
+	KEY_CPP \
+	trcrst_cfc.F90
+$(MODEL_LIB)(trcrst_lobster.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(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_c14b.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)(trcbio.o) \
+	$(MODEL_LIB)(trcexp.o) \
+	$(MODEL_LIB)(trcopt.o) \
+	$(MODEL_LIB)(trcsed.o) \
+	$(MODEL_LIB)(trdmld_trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.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 \
+	lib_print.f90 \
+	oce.F90 \
+	oce_trc.F90 \
+	par_c14b.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 \
+	trcbio.F90 \
+	trcexp.F90 \
+	trcopt.F90 \
+	trcsed.F90 \
+	trdmld_trc.F90 \
+	trdmld_trc_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(sms_lobster.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_lobster.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce_trc.F90 \
+	par_trc.F90 \
+	sms_lobster.F90 \
+	trc.F90 \
+	trcsms_lobster.F90 \
+	KEY_CPP \
+	trcrst_lobster.F90
+$(MODEL_LIB)(trcrst_my_trc.o) :	\
+	KEY_CPP \
+	trcrst_my_trc.F90
+$(MODEL_LIB)(trcrst_pisces.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.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)(p4zbio.o) \
+	$(MODEL_LIB)(p4zche.o) \
+	$(MODEL_LIB)(p4zflx.o) \
+	$(MODEL_LIB)(p4zint.o) \
+	$(MODEL_LIB)(p4zlys.o) \
+	$(MODEL_LIB)(p4zsed.o) \
+	$(MODEL_LIB)(par_c14b.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)(sedmodel.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trdmld_trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	oce_trc.F90 \
+	p4zbio.F90 \
+	p4zche.F90 \
+	p4zflx.F90 \
+	p4zint.F90 \
+	p4zlys.F90 \
+	p4zsed.F90 \
+	par_c14b.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 \
+	sedmodel.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trdmld_trc.F90 \
+	trdmld_trc_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trcsms_c14b.o) \
-	$(MODEL_LIB)(trcsms_cfc.o) \
-	$(MODEL_LIB)(trcsms_my_trc.o) \
-	$(MODEL_LIB)(trctrp_lec.o) \
-	iom.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(trcdta.o) \
+	$(MODEL_LIB)(trcsms_pisces.o) \
+	in_out_manager.F90 \
+	iom.F90 \
 	oce_trc.F90 \
-	sms_lobster.F90 \
+	par_trc.F90 \
 	sms_pisces.F90 \
 	trc.F90 \
-	trcsms_c14b.F90 \
-	trcsms_cfc.F90 \
-	trcsms_my_trc.F90 \
-	trctrp_lec.F90 \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	top_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	trcrst.F90
+	trcdta.F90 \
+	trcsms_pisces.F90 \
+	KEY_CPP \
+	trcrst_pisces.F90
 $(MODEL_LIB)(trcsbc.o) :	\
 	$(MODEL_LIB)(dianam.o) \
@@ -15000,4 +15484,8 @@
 	trdmld_trc_oce.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	trcsed.F90
@@ -15560,4 +16048,5 @@
 $(MODEL_LIB)(trcstp.o) :	\
 	$(MODEL_LIB)(agrif_top_sponge.o) \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -15603,4 +16092,9 @@
 	$(MODEL_LIB)(trcnxt.o) \
 	$(MODEL_LIB)(trcrad.o) \
+	$(MODEL_LIB)(trcrst_c14b.o) \
+	$(MODEL_LIB)(trcrst_cfc.o) \
+	$(MODEL_LIB)(trcrst_lobster.o) \
+	$(MODEL_LIB)(trcrst_my_trc.o) \
+	$(MODEL_LIB)(trcrst_pisces.o) \
 	$(MODEL_LIB)(trcsbc.o) \
 	$(MODEL_LIB)(trcsms_c14b.o) \
@@ -15622,4 +16116,5 @@
 	$(MODEL_LIB)(zpshde_trc.o) \
 	agrif_top_sponge.F90 \
+	daymod.F90 \
 	dianam.F90 \
 	dom_oce.F90 \
@@ -15665,4 +16160,9 @@
 	trcnxt.F90 \
 	trcrad.F90 \
+	trcrst_c14b.F90 \
+	trcrst_cfc.F90 \
+	trcrst_lobster.F90 \
+	trcrst_my_trc.F90 \
+	trcrst_pisces.F90 \
 	trcsbc.F90 \
 	trcsms_c14b.F90 \
@@ -15823,4 +16323,8 @@
 	zpshde_trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	$(AGRIF_LIB) \
 	KEY_CPP \
@@ -15935,4 +16439,5 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -15958,15 +16463,22 @@
 	trabbl.F90 \
 	traqsr.F90 \
+	trc.F90 \
 	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
 	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(trp_trc.o) \
 	dianam.F90 \
+	dom_oce.F90 \
 	iom.F90 \
 	oce_trc.F90 \
 	trc.F90 \
+	trdmld_trc_oce.F90 \
+	trp_trc.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -16347,4 +16859,5 @@
 $(MODEL_LIB)(trdmld.o) :	\
 	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -16372,4 +16885,5 @@
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
+	daymod.F90 \
 	dom_oce.F90 \
 	eosbn2.F90 \
Index: /trunk/CONFIG/ORCA2_LIM/scripts/BB_make
===================================================================
--- /trunk/CONFIG/ORCA2_LIM/scripts/BB_make	(revision 1942)
+++ /trunk/CONFIG/ORCA2_LIM/scripts/BB_make	(revision 1943)
@@ -101,5 +101,5 @@
 
 #check key compatibility
-keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
+keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
 
 KEY_LIST = \
@@ -437,5 +437,5 @@
 
 # Agrif library and conv
-libagrif :  $(call keycompat,key_iomput,key_agrif)
+libagrif :
 ifeq ($(AGRIF),use)
 	@( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi )
@@ -851,4 +851,5 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(opa.o) \
@@ -865,4 +866,5 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	obc_par.F90 \
 	oce.F90 \
 	opa.F90 \
@@ -1501,13 +1503,27 @@
 	diaar5.F90
 $(MODEL_LIB)(diadimg.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1664,5 +1680,4 @@
 	phycst.F90 \
 	$(IOIPSL_LIB) \
-	KEY_CPP \
 	dianam.F90
 $(MODEL_LIB)(diaptr.o) :	\
@@ -1725,4 +1740,5 @@
 	diaptr.F90
 $(MODEL_LIB)(diawri.o) :	\
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
@@ -1752,4 +1768,5 @@
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
 	dianam.F90 \
 	dom_ice_2.F90 \
@@ -4912,5 +4929,4 @@
 	in_out_manager.F90 \
 	lbcnfd.F90 \
-	$(AGRIF_LIB) \
 	KEY_CPP \
 	lib_mpp.F90
@@ -5627,4 +5643,5 @@
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
@@ -5637,4 +5654,5 @@
 	limistate_2.F90 \
 	phycst.F90 \
+	sbc_oce.F90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
@@ -8316,4 +8334,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limwri_2.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obctra.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -8387,4 +8406,5 @@
 	lib_print.f90 \
 	limwri_2.F90 \
+	obc_oce.F90 \
 	obctra.F90 \
 	oce.F90 \
@@ -9943,4 +9963,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -9972,4 +9993,5 @@
 	lib_print.f90 \
 	obc_oce.F90 \
+	obc_par.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9998,4 +10020,5 @@
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obctra.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -10014,4 +10037,5 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
+	obc_oce.F90 \
 	obctra.F90 \
 	oce.F90 \
@@ -10502,4 +10526,5 @@
 $(MODEL_LIB)(trdmld.o) :	\
 	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -10527,4 +10552,5 @@
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
+	daymod.F90 \
 	dom_oce.F90 \
 	eosbn2.F90 \
Index: /trunk/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make
===================================================================
--- /trunk/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make	(revision 1942)
+++ /trunk/CONFIG/ORCA2_LIM_PISCES/scripts/BB_make	(revision 1943)
@@ -101,5 +101,5 @@
 
 #check key compatibility
-keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
+keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
 
 KEY_LIST = \
@@ -480,4 +480,9 @@
 		$(MODEL_LIB)(trcrad.o)\
 		$(MODEL_LIB)(trcrst.o)\
+		$(MODEL_LIB)(trcrst_c14b.o)\
+		$(MODEL_LIB)(trcrst_cfc.o)\
+		$(MODEL_LIB)(trcrst_lobster.o)\
+		$(MODEL_LIB)(trcrst_my_trc.o)\
+		$(MODEL_LIB)(trcrst_pisces.o)\
 		$(MODEL_LIB)(trcsbc.o)\
 		$(MODEL_LIB)(trcsed.o)\
@@ -562,5 +567,5 @@
 
 # Agrif library and conv
-libagrif :  $(call keycompat,key_iomput,key_agrif)
+libagrif :
 ifeq ($(AGRIF),use)
 	@( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi )
@@ -994,4 +999,5 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(opa.o) \
@@ -1009,4 +1015,5 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	obc_par.F90 \
 	oce.F90 \
 	opa.F90 \
@@ -1646,13 +1653,27 @@
 	diaar5.F90
 $(MODEL_LIB)(diadimg.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1809,5 +1830,4 @@
 	phycst.F90 \
 	$(IOIPSL_LIB) \
-	KEY_CPP \
 	dianam.F90
 $(MODEL_LIB)(diaptr.o) :	\
@@ -1870,4 +1890,5 @@
 	diaptr.F90
 $(MODEL_LIB)(diawri.o) :	\
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
@@ -1897,4 +1918,5 @@
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
 	dianam.F90 \
 	dom_ice_2.F90 \
@@ -5057,5 +5079,4 @@
 	in_out_manager.F90 \
 	lbcnfd.F90 \
-	$(AGRIF_LIB) \
 	KEY_CPP \
 	lib_mpp.F90
@@ -5772,4 +5793,5 @@
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
@@ -5782,4 +5804,5 @@
 	limistate_2.F90 \
 	phycst.F90 \
+	sbc_oce.F90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
@@ -6856,4 +6879,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zbio.F90
@@ -6898,4 +6925,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zche.F90
@@ -6972,4 +7003,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zflx.F90
@@ -7055,4 +7090,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zlim.F90
@@ -7190,4 +7229,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zmeso.F90
@@ -7264,4 +7307,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zmicro.F90
@@ -7320,4 +7367,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zmort.F90
@@ -7380,4 +7431,8 @@
 	trc_oce.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zopt.F90
@@ -7460,4 +7515,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zprod.F90
@@ -7534,4 +7593,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zrem.F90
@@ -7710,4 +7773,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zsink.F90
@@ -10252,4 +10319,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limwri_2.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obctra.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -10333,4 +10401,5 @@
 	lib_print.f90 \
 	limwri_2.F90 \
+	obc_oce.F90 \
 	obctra.F90 \
 	oce.F90 \
@@ -11901,4 +11970,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -11930,4 +12000,5 @@
 	lib_print.f90 \
 	obc_oce.F90 \
+	obc_par.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -11956,4 +12027,5 @@
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obctra.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -11972,4 +12044,5 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
+	obc_oce.F90 \
 	obctra.F90 \
 	oce.F90 \
@@ -13365,6 +13438,11 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_c14b.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) \
@@ -13385,6 +13463,11 @@
 	lib_print.f90 \
 	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	par_c14b.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 \
@@ -13402,4 +13485,5 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trdmld_trc_oce.o) \
@@ -13410,4 +13494,5 @@
 	lib_mpp.F90 \
 	oce_trc.F90 \
+	par_trc.F90 \
 	trc.F90 \
 	trdmld_trc_oce.F90 \
@@ -13685,4 +13770,5 @@
 	trcexp.F90
 $(MODEL_LIB)(trcini.o) :	\
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -13720,7 +13806,11 @@
 	$(MODEL_LIB)(trclsm_my_trc.o) \
 	$(MODEL_LIB)(trclsm_pisces.o) \
+	$(MODEL_LIB)(trcrst_c14b.o) \
+	$(MODEL_LIB)(trcrst_cfc.o) \
+	$(MODEL_LIB)(trcrst_lobster.o) \
+	$(MODEL_LIB)(trcrst_my_trc.o) \
+	$(MODEL_LIB)(trcrst_pisces.o) \
 	$(MODEL_LIB)(trcsms_c14b.o) \
 	$(MODEL_LIB)(trcsms_cfc.o) \
-	$(MODEL_LIB)(trcsms_my_trc.o) \
 	$(MODEL_LIB)(trctrp_ctl.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
@@ -13730,4 +13820,5 @@
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -13765,7 +13856,11 @@
 	trclsm_my_trc.F90 \
 	trclsm_pisces.F90 \
+	trcrst_c14b.F90 \
+	trcrst_cfc.F90 \
+	trcrst_lobster.F90 \
+	trcrst_my_trc.F90 \
+	trcrst_pisces.F90 \
 	trcsms_c14b.F90 \
 	trcsms_cfc.F90 \
-	trcsms_my_trc.F90 \
 	trctrp_ctl.F90 \
 	trctrp_lec.F90 \
@@ -15022,4 +15117,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	trcopt.F90
@@ -15120,4 +15219,114 @@
 	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.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)(trcdta.o) \
+	$(MODEL_LIB)(trcsms_c14b.o) \
+	$(MODEL_LIB)(trcsms_cfc.o) \
+	$(MODEL_LIB)(trcsms_lobster.o) \
+	$(MODEL_LIB)(trcsms_pisces.o) \
+	$(MODEL_LIB)(trp_trc.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	oce_trc.F90 \
+	par_oce.F90 \
+	par_trc.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	sms_lobster.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trcdta.F90 \
+	trcsms_c14b.F90 \
+	trcsms_cfc.F90 \
+	trcsms_lobster.F90 \
+	trcsms_pisces.F90 \
+	trp_trc.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcrst_c14b.o) \
+	$(MODEL_LIB)(trcrst_cfc.o) \
+	$(MODEL_LIB)(trcrst_lobster.o) \
+	$(MODEL_LIB)(trcrst_my_trc.o) \
+	$(MODEL_LIB)(trcrst_pisces.o) \
+	$(MODEL_LIB)(trctrp_lec.o) \
+	daymod.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	oce_trc.F90 \
+	trc.F90 \
+	trcrst_c14b.F90 \
+	trcrst_cfc.F90 \
+	trcrst_lobster.F90 \
+	trcrst_my_trc.F90 \
+	trcrst_pisces.F90 \
+	trctrp_lec.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	trcrst.F90
+$(MODEL_LIB)(trcrst_c14b.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.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_c14b.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) \
@@ -15127,5 +15336,4 @@
 	$(MODEL_LIB)(trdmld_trc.o) \
 	$(MODEL_LIB)(trdmld_trc_oce.o) \
-	$(MODEL_LIB)(trp_trc.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -15141,11 +15349,17 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lbcnfd.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	oce_trc.F90 \
-	par_oce.F90 \
+	par_c14b.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 \
@@ -15157,35 +15371,307 @@
 	trdmld_trc.F90 \
 	trdmld_trc_oce.F90 \
-	trp_trc.F90 \
 	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_c14b.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce_trc.F90 \
+	par_trc.F90 \
+	trc.F90 \
+	trcsms_c14b.F90 \
+	KEY_CPP \
+	trcrst_c14b.F90
+$(MODEL_LIB)(trcrst_cfc.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.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_c14b.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)(trdmld_trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	oce_trc.F90 \
+	par_c14b.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 \
+	trdmld_trc.F90 \
+	trdmld_trc_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_cfc.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce_trc.F90 \
+	par_trc.F90 \
+	trc.F90 \
+	trcsms_cfc.F90 \
+	KEY_CPP \
+	trcrst_cfc.F90
+$(MODEL_LIB)(trcrst_lobster.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(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_c14b.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)(trcbio.o) \
+	$(MODEL_LIB)(trcexp.o) \
+	$(MODEL_LIB)(trcopt.o) \
+	$(MODEL_LIB)(trcsed.o) \
+	$(MODEL_LIB)(trdmld_trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.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 \
+	lib_print.f90 \
+	oce.F90 \
+	oce_trc.F90 \
+	par_c14b.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 \
+	trcbio.F90 \
+	trcexp.F90 \
+	trcopt.F90 \
+	trcsed.F90 \
+	trdmld_trc.F90 \
+	trdmld_trc_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(sms_lobster.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_lobster.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce_trc.F90 \
+	par_trc.F90 \
+	sms_lobster.F90 \
+	trc.F90 \
+	trcsms_lobster.F90 \
+	KEY_CPP \
+	trcrst_lobster.F90
+$(MODEL_LIB)(trcrst_my_trc.o) :	\
+	KEY_CPP \
+	trcrst_my_trc.F90
+$(MODEL_LIB)(trcrst_pisces.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.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)(p4zbio.o) \
+	$(MODEL_LIB)(p4zche.o) \
+	$(MODEL_LIB)(p4zflx.o) \
+	$(MODEL_LIB)(p4zint.o) \
+	$(MODEL_LIB)(p4zlys.o) \
+	$(MODEL_LIB)(p4zsed.o) \
+	$(MODEL_LIB)(par_c14b.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)(sedmodel.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trdmld_trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	oce_trc.F90 \
+	p4zbio.F90 \
+	p4zche.F90 \
+	p4zflx.F90 \
+	p4zint.F90 \
+	p4zlys.F90 \
+	p4zsed.F90 \
+	par_c14b.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 \
+	sedmodel.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trdmld_trc.F90 \
+	trdmld_trc_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trcsms_c14b.o) \
-	$(MODEL_LIB)(trcsms_cfc.o) \
-	$(MODEL_LIB)(trcsms_my_trc.o) \
-	$(MODEL_LIB)(trctrp_lec.o) \
-	iom.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(trcdta.o) \
+	$(MODEL_LIB)(trcsms_pisces.o) \
+	in_out_manager.F90 \
+	iom.F90 \
 	oce_trc.F90 \
-	sms_lobster.F90 \
+	par_trc.F90 \
 	sms_pisces.F90 \
 	trc.F90 \
-	trcsms_c14b.F90 \
-	trcsms_cfc.F90 \
-	trcsms_my_trc.F90 \
-	trctrp_lec.F90 \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	top_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	trcrst.F90
+	trcdta.F90 \
+	trcsms_pisces.F90 \
+	KEY_CPP \
+	trcrst_pisces.F90
 $(MODEL_LIB)(trcsbc.o) :	\
 	$(MODEL_LIB)(dianam.o) \
@@ -15344,4 +15830,8 @@
 	trdmld_trc_oce.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	trcsed.F90
@@ -15904,4 +16394,5 @@
 $(MODEL_LIB)(trcstp.o) :	\
 	$(MODEL_LIB)(agrif_top_sponge.o) \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -15947,4 +16438,9 @@
 	$(MODEL_LIB)(trcnxt.o) \
 	$(MODEL_LIB)(trcrad.o) \
+	$(MODEL_LIB)(trcrst_c14b.o) \
+	$(MODEL_LIB)(trcrst_cfc.o) \
+	$(MODEL_LIB)(trcrst_lobster.o) \
+	$(MODEL_LIB)(trcrst_my_trc.o) \
+	$(MODEL_LIB)(trcrst_pisces.o) \
 	$(MODEL_LIB)(trcsbc.o) \
 	$(MODEL_LIB)(trcsms_c14b.o) \
@@ -15966,4 +16462,5 @@
 	$(MODEL_LIB)(zpshde_trc.o) \
 	agrif_top_sponge.F90 \
+	daymod.F90 \
 	dianam.F90 \
 	dom_oce.F90 \
@@ -16009,4 +16506,9 @@
 	trcnxt.F90 \
 	trcrad.F90 \
+	trcrst_c14b.F90 \
+	trcrst_cfc.F90 \
+	trcrst_lobster.F90 \
+	trcrst_my_trc.F90 \
+	trcrst_pisces.F90 \
 	trcsbc.F90 \
 	trcsms_c14b.F90 \
@@ -16169,4 +16671,8 @@
 	zpshde_trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	$(AGRIF_LIB) \
 	KEY_CPP \
@@ -16281,4 +16787,5 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -16304,15 +16811,22 @@
 	trabbl.F90 \
 	traqsr.F90 \
+	trc.F90 \
 	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
 	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(trp_trc.o) \
 	dianam.F90 \
+	dom_oce.F90 \
 	iom.F90 \
 	oce_trc.F90 \
 	trc.F90 \
+	trdmld_trc_oce.F90 \
+	trp_trc.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -16693,4 +17207,5 @@
 $(MODEL_LIB)(trdmld.o) :	\
 	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -16718,4 +17233,5 @@
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
+	daymod.F90 \
 	dom_oce.F90 \
 	eosbn2.F90 \
Index: /trunk/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make
===================================================================
--- /trunk/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make	(revision 1942)
+++ /trunk/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make	(revision 1943)
@@ -101,5 +101,5 @@
 
 #check key compatibility
-keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
+keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
 
 KEY_LIST = \
@@ -298,4 +298,9 @@
 		$(MODEL_LIB)(trcrad.o)\
 		$(MODEL_LIB)(trcrst.o)\
+		$(MODEL_LIB)(trcrst_c14b.o)\
+		$(MODEL_LIB)(trcrst_cfc.o)\
+		$(MODEL_LIB)(trcrst_lobster.o)\
+		$(MODEL_LIB)(trcrst_my_trc.o)\
+		$(MODEL_LIB)(trcrst_pisces.o)\
 		$(MODEL_LIB)(trcsbc.o)\
 		$(MODEL_LIB)(trcsed.o)\
@@ -364,5 +369,5 @@
 
 # Agrif library and conv
-libagrif :  $(call keycompat,key_iomput,key_agrif)
+libagrif :
 ifeq ($(AGRIF),use)
 	@( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi )
@@ -1507,4 +1512,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zbio.F90
@@ -1549,4 +1558,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zche.F90
@@ -1621,4 +1634,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zflx.F90
@@ -1704,4 +1721,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zlim.F90
@@ -1839,4 +1860,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zmeso.F90
@@ -1913,4 +1938,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zmicro.F90
@@ -1969,4 +1998,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zmort.F90
@@ -2029,4 +2062,8 @@
 	trc_oce.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zopt.F90
@@ -2107,4 +2144,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zprod.F90
@@ -2181,4 +2222,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zrem.F90
@@ -2355,4 +2400,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	p4zsink.F90
@@ -3097,4 +3146,5 @@
 	sol_oce.F90
 $(MODEL_LIB)(step.o) :	\
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3117,18 +3167,19 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sms_lobster.o) \
-	$(MODEL_LIB)(sms_pisces.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trcdia.o) \
 	$(MODEL_LIB)(trcrst.o) \
+	$(MODEL_LIB)(trcrst_c14b.o) \
+	$(MODEL_LIB)(trcrst_cfc.o) \
+	$(MODEL_LIB)(trcrst_lobster.o) \
+	$(MODEL_LIB)(trcrst_my_trc.o) \
+	$(MODEL_LIB)(trcrst_pisces.o) \
 	$(MODEL_LIB)(trcsms.o) \
-	$(MODEL_LIB)(trcsms_c14b.o) \
-	$(MODEL_LIB)(trcsms_cfc.o) \
-	$(MODEL_LIB)(trcsms_my_trc.o) \
 	$(MODEL_LIB)(trctrp.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
@@ -3141,4 +3192,5 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	daymod.F90 \
 	dianam.F90 \
 	dom_oce.F90 \
@@ -3161,18 +3213,19 @@
 	par_kind.F90 \
 	par_oce.F90 \
+	par_trc.F90 \
 	phycst.F90 \
 	prtctl.F90 \
 	prtctl_trc.F90 \
 	sbc_oce.F90 \
-	sms_lobster.F90 \
-	sms_pisces.F90 \
 	trabbl.F90 \
 	trc.F90 \
 	trcdia.F90 \
 	trcrst.F90 \
+	trcrst_c14b.F90 \
+	trcrst_cfc.F90 \
+	trcrst_lobster.F90 \
+	trcrst_my_trc.F90 \
+	trcrst_pisces.F90 \
 	trcsms.F90 \
-	trcsms_c14b.F90 \
-	trcsms_cfc.F90 \
-	trcsms_my_trc.F90 \
 	trctrp.F90 \
 	trctrp_lec.F90 \
@@ -4231,6 +4284,11 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_c14b.o) \
+	$(MODEL_LIB)(par_cfc.o) \
 	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.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) \
@@ -4250,6 +4308,11 @@
 	lib_print.f90 \
 	oce.F90 \
+	par_c14b.F90 \
+	par_cfc.F90 \
 	par_kind.F90 \
-	par_oce.F90 \
+	par_lobster.F90 \
+	par_my_trc.F90 \
+	par_oce.F90 \
+	par_pisces.F90 \
 	par_trc.F90 \
 	phycst.F90 \
@@ -4267,4 +4330,5 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(trdmld_trc_oce.o) \
@@ -4275,4 +4339,5 @@
 	lib_mpp.F90 \
 	oce_trc.F90 \
+	par_trc.F90 \
 	trc.F90 \
 	trdmld_trc_oce.F90 \
@@ -4548,4 +4613,5 @@
 	trcexp.F90
 $(MODEL_LIB)(trcini.o) :	\
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4581,7 +4647,11 @@
 	$(MODEL_LIB)(trclsm_my_trc.o) \
 	$(MODEL_LIB)(trclsm_pisces.o) \
+	$(MODEL_LIB)(trcrst_c14b.o) \
+	$(MODEL_LIB)(trcrst_cfc.o) \
+	$(MODEL_LIB)(trcrst_lobster.o) \
+	$(MODEL_LIB)(trcrst_my_trc.o) \
+	$(MODEL_LIB)(trcrst_pisces.o) \
 	$(MODEL_LIB)(trcsms_c14b.o) \
 	$(MODEL_LIB)(trcsms_cfc.o) \
-	$(MODEL_LIB)(trcsms_my_trc.o) \
 	$(MODEL_LIB)(trctrp_ctl.o) \
 	$(MODEL_LIB)(trctrp_lec.o) \
@@ -4591,4 +4661,5 @@
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4624,7 +4695,11 @@
 	trclsm_my_trc.F90 \
 	trclsm_pisces.F90 \
+	trcrst_c14b.F90 \
+	trcrst_cfc.F90 \
+	trcrst_lobster.F90 \
+	trcrst_my_trc.F90 \
+	trcrst_pisces.F90 \
 	trcsms_c14b.F90 \
 	trcsms_cfc.F90 \
-	trcsms_my_trc.F90 \
 	trctrp_ctl.F90 \
 	trctrp_lec.F90 \
@@ -5869,4 +5944,8 @@
 	trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	trcopt.F90
@@ -5964,11 +6043,17 @@
 	$(MODEL_LIB)(par_trc.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.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)(trdmld_trc.o) \
-	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(trcdta.o) \
+	$(MODEL_LIB)(trcsms_c14b.o) \
+	$(MODEL_LIB)(trcsms_cfc.o) \
+	$(MODEL_LIB)(trcsms_lobster.o) \
+	$(MODEL_LIB)(trcsms_pisces.o) \
 	$(MODEL_LIB)(trp_trc.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
@@ -5993,34 +6078,42 @@
 	par_trc.F90 \
 	phycst.F90 \
+	prtctl.F90 \
 	sbc_oce.F90 \
 	sbcrnf.F90 \
+	sms_lobster.F90 \
+	sms_pisces.F90 \
 	trabbl.F90 \
 	traqsr.F90 \
 	trc.F90 \
-	trdmld_trc.F90 \
-	trdmld_trc_oce.F90 \
-	trp_trc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce_trc.o) \
-	$(MODEL_LIB)(sms_lobster.o) \
-	$(MODEL_LIB)(sms_pisces.o) \
-	$(MODEL_LIB)(trc.o) \
-	$(MODEL_LIB)(trcsms_c14b.o) \
-	$(MODEL_LIB)(trcsms_cfc.o) \
-	$(MODEL_LIB)(trcsms_my_trc.o) \
-	$(MODEL_LIB)(trctrp_lec.o) \
-	iom.F90 \
-	lib_mpp.F90 \
-	oce_trc.F90 \
-	sms_lobster.F90 \
-	sms_pisces.F90 \
-	trc.F90 \
+	trcdta.F90 \
 	trcsms_c14b.F90 \
 	trcsms_cfc.F90 \
-	trcsms_my_trc.F90 \
+	trcsms_lobster.F90 \
+	trcsms_pisces.F90 \
+	trp_trc.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcrst_c14b.o) \
+	$(MODEL_LIB)(trcrst_cfc.o) \
+	$(MODEL_LIB)(trcrst_lobster.o) \
+	$(MODEL_LIB)(trcrst_my_trc.o) \
+	$(MODEL_LIB)(trcrst_pisces.o) \
+	$(MODEL_LIB)(trctrp_lec.o) \
+	daymod.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	oce_trc.F90 \
+	trc.F90 \
+	trcrst_c14b.F90 \
+	trcrst_cfc.F90 \
+	trcrst_lobster.F90 \
+	trcrst_my_trc.F90 \
+	trcrst_pisces.F90 \
 	trctrp_lec.F90 \
 	domzgr_substitute.h90 \
@@ -6031,4 +6124,375 @@
 	KEY_CPP \
 	trcrst.F90
+$(MODEL_LIB)(trcrst_c14b.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.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_c14b.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)(trdmld_trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	oce_trc.F90 \
+	par_c14b.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 \
+	trdmld_trc.F90 \
+	trdmld_trc_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_c14b.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce_trc.F90 \
+	par_trc.F90 \
+	trc.F90 \
+	trcsms_c14b.F90 \
+	KEY_CPP \
+	trcrst_c14b.F90
+$(MODEL_LIB)(trcrst_cfc.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.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_c14b.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)(trdmld_trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	oce_trc.F90 \
+	par_c14b.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 \
+	trdmld_trc.F90 \
+	trdmld_trc_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_cfc.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce_trc.F90 \
+	par_trc.F90 \
+	trc.F90 \
+	trcsms_cfc.F90 \
+	KEY_CPP \
+	trcrst_cfc.F90
+$(MODEL_LIB)(trcrst_lobster.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(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_c14b.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)(trcbio.o) \
+	$(MODEL_LIB)(trcexp.o) \
+	$(MODEL_LIB)(trcopt.o) \
+	$(MODEL_LIB)(trcsed.o) \
+	$(MODEL_LIB)(trdmld_trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.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 \
+	lib_print.f90 \
+	oce.F90 \
+	oce_trc.F90 \
+	par_c14b.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 \
+	trcbio.F90 \
+	trcexp.F90 \
+	trcopt.F90 \
+	trcsed.F90 \
+	trdmld_trc.F90 \
+	trdmld_trc_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(sms_lobster.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcsms_lobster.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce_trc.F90 \
+	par_trc.F90 \
+	sms_lobster.F90 \
+	trc.F90 \
+	trcsms_lobster.F90 \
+	KEY_CPP \
+	trcrst_lobster.F90
+$(MODEL_LIB)(trcrst_my_trc.o) :	\
+	KEY_CPP \
+	trcrst_my_trc.F90
+$(MODEL_LIB)(trcrst_pisces.o) :	\
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domngb.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)(p4zbio.o) \
+	$(MODEL_LIB)(p4zche.o) \
+	$(MODEL_LIB)(p4zflx.o) \
+	$(MODEL_LIB)(p4zint.o) \
+	$(MODEL_LIB)(p4zlys.o) \
+	$(MODEL_LIB)(p4zsed.o) \
+	$(MODEL_LIB)(par_c14b.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)(sedmodel.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trdmld_trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dianam.F90 \
+	dom_oce.F90 \
+	domngb.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	oce_trc.F90 \
+	p4zbio.F90 \
+	p4zche.F90 \
+	p4zflx.F90 \
+	p4zint.F90 \
+	p4zlys.F90 \
+	p4zsed.F90 \
+	par_c14b.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 \
+	sedmodel.F90 \
+	sms_pisces.F90 \
+	trabbl.F90 \
+	traqsr.F90 \
+	trc.F90 \
+	trdmld_trc.F90 \
+	trdmld_trc_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(sms_pisces.o) \
+	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trcdta.o) \
+	$(MODEL_LIB)(trcsms_pisces.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce_trc.F90 \
+	par_trc.F90 \
+	sms_pisces.F90 \
+	trc.F90 \
+	trcdta.F90 \
+	trcsms_pisces.F90 \
+	KEY_CPP \
+	trcrst_pisces.F90
 $(MODEL_LIB)(trcsbc.o) :	\
 	$(MODEL_LIB)(dianam.o) \
@@ -6185,4 +6649,8 @@
 	trdmld_trc_oce.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	trcsed.F90
@@ -6743,4 +7211,5 @@
 $(MODEL_LIB)(trcstp.o) :	\
 	$(MODEL_LIB)(agrif_top_sponge.o) \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6786,4 +7255,9 @@
 	$(MODEL_LIB)(trcnxt.o) \
 	$(MODEL_LIB)(trcrad.o) \
+	$(MODEL_LIB)(trcrst_c14b.o) \
+	$(MODEL_LIB)(trcrst_cfc.o) \
+	$(MODEL_LIB)(trcrst_lobster.o) \
+	$(MODEL_LIB)(trcrst_my_trc.o) \
+	$(MODEL_LIB)(trcrst_pisces.o) \
 	$(MODEL_LIB)(trcsbc.o) \
 	$(MODEL_LIB)(trcsms_c14b.o) \
@@ -6805,4 +7279,5 @@
 	$(MODEL_LIB)(zpshde_trc.o) \
 	agrif_top_sponge.F90 \
+	daymod.F90 \
 	dianam.F90 \
 	dom_oce.F90 \
@@ -6848,4 +7323,9 @@
 	trcnxt.F90 \
 	trcrad.F90 \
+	trcrst_c14b.F90 \
+	trcrst_cfc.F90 \
+	trcrst_lobster.F90 \
+	trcrst_my_trc.F90 \
+	trcrst_pisces.F90 \
 	trcsbc.F90 \
 	trcsms_c14b.F90 \
@@ -7006,4 +7486,8 @@
 	zpshde_trc.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	$(AGRIF_LIB) \
 	KEY_CPP \
@@ -7118,4 +7602,5 @@
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trc.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -7141,15 +7626,22 @@
 	trabbl.F90 \
 	traqsr.F90 \
+	trc.F90 \
 	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
 	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(trc.o) \
+	$(MODEL_LIB)(trdmld_trc_oce.o) \
+	$(MODEL_LIB)(trp_trc.o) \
 	dianam.F90 \
+	dom_oce.F90 \
 	iom.F90 \
 	oce_trc.F90 \
 	trc.F90 \
+	trdmld_trc_oce.F90 \
+	trp_trc.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
Index: /trunk/CONFIG/POMME/scripts/BB_make
===================================================================
--- /trunk/CONFIG/POMME/scripts/BB_make	(revision 1942)
+++ /trunk/CONFIG/POMME/scripts/BB_make	(revision 1943)
@@ -101,5 +101,5 @@
 
 #check key compatibility
-keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
+keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
 
 KEY_LIST = \
@@ -153,5 +153,4 @@
      key_oasis4 \
      key_obc \
-     key_off_tra \
      key_orca_lev10 \
      key_orca_r025 \
@@ -179,5 +178,4 @@
      key_vvl \
      key_zco \
-     key_zco \
      key_zdfcst \
      key_zdfddm \
@@ -191,12 +189,7 @@
 		$(MODEL_LIB)(lib_cray.o)\
 		$(MODEL_LIB)(lib_print.o)\
-		$(MODEL_LIB)(agrif_oce.o)\
 		$(MODEL_LIB)(agrif_opa_interp.o)\
 		$(MODEL_LIB)(agrif_opa_sponge.o)\
 		$(MODEL_LIB)(agrif_opa_update.o)\
-		$(MODEL_LIB)(agrif_top_interp.o)\
-		$(MODEL_LIB)(agrif_top_sponge.o)\
-		$(MODEL_LIB)(agrif_top_update.o)\
-		$(MODEL_LIB)(agrif_user.o)\
 		$(MODEL_LIB)(albedo.o)\
 		$(MODEL_LIB)(bdy_oce.o)\
@@ -437,5 +430,5 @@
 
 # Agrif library and conv
-libagrif :  $(call keycompat,key_iomput,key_agrif)
+libagrif :
 ifeq ($(AGRIF),use)
 	@( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi )
@@ -568,311 +561,10 @@
 		@if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi
 
-$(MODEL_LIB)(agrif_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	par_oce.F90 \
-	KEY_CPP \
-	agrif_oce.F90
 $(MODEL_LIB)(agrif_opa_interp.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
 	agrif_opa_interp.F90
 $(MODEL_LIB)(agrif_opa_sponge.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
 	agrif_opa_sponge.F90
 $(MODEL_LIB)(agrif_opa_update.o) :	\
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(diaar5.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	bdy_oce.F90 \
-	cla_div.F90 \
-	diaar5.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sshwzv.o) \
-	agrif_oce.F90 \
-	cla_div.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	sshwzv.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
 	agrif_opa_update.F90
-$(MODEL_LIB)(agrif_top_interp.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	agrif_top_interp.F90
-$(MODEL_LIB)(agrif_top_sponge.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	agrif_top_sponge.F90
-$(MODEL_LIB)(agrif_top_update.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	agrif_top_update.F90
-$(MODEL_LIB)(agrif_user.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdyini.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(cpl_oasis4.o) \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domain.o) \
-	$(MODEL_LIB)(domcfg.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dyncor_c1d.o) \
-	$(MODEL_LIB)(dynhpg.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(istate.o) \
-	$(MODEL_LIB)(ldfdyn.o) \
-	$(MODEL_LIB)(ldftra.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(mppini.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcini.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcmod.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(sshwzv.o) \
-	$(MODEL_LIB)(step.o) \
-	$(MODEL_LIB)(step_c1d.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfini.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	agrif_oce.F90 \
-	bdy_par.F90 \
-	bdyini.F90 \
-	c1d.F90 \
-	cla_div.F90 \
-	cpl_oasis3.F90 \
-	cpl_oasis4.F90 \
-	diaptr.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	domain.F90 \
-	domcfg.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dyncor_c1d.F90 \
-	dynhpg.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	istate.F90 \
-	ldfdyn.F90 \
-	ldftra.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	mppini.F90 \
-	obc_par.F90 \
-	obcini.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	sbcmod.F90 \
-	sol_oce.F90 \
-	sshwzv.F90 \
-	step.F90 \
-	step_c1d.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	zdfini.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(agrif_opa_sponge.o) \
-	$(MODEL_LIB)(agrif_opa_update.o) \
-	$(MODEL_LIB)(agrif_top_interp.o) \
-	$(MODEL_LIB)(agrif_top_sponge.o) \
-	$(MODEL_LIB)(agrif_top_update.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(opa.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	agrif_oce.F90 \
-	agrif_opa_interp.F90 \
-	agrif_opa_sponge.F90 \
-	agrif_opa_update.F90 \
-	agrif_top_interp.F90 \
-	agrif_top_sponge.F90 \
-	agrif_top_update.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	opa.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
-	tradmp.F90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	agrif_user.F90
 $(MODEL_LIB)(albedo.o) :	\
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3168,10 +2860,7 @@
 	dynldf_lap.F90
 $(MODEL_LIB)(dynnxt.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
 	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(divcur.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynadv_cen2.o) \
@@ -3193,12 +2882,7 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(sshwzv.o) \
-	agrif_oce.F90 \
 	bdy_oce.F90 \
 	bdy_par.F90 \
 	bdytides.F90 \
-	cla_div.F90 \
-	divcur.F90 \
 	dom_oce.F90 \
 	dynadv_cen2.F90 \
@@ -3220,6 +2904,4 @@
 	phycst.F90 \
 	sbc_oce.F90 \
-	sol_oce.F90 \
-	sshwzv.F90 \
 	$(MODEL_LIB)(agrif_opa_interp.o) \
 	$(MODEL_LIB)(agrif_opa_update.o) \
@@ -3494,5 +3176,4 @@
 	dynspg_exp.F90
 $(MODEL_LIB)(dynspg_flt.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
@@ -3536,5 +3217,4 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	agrif_oce.F90 \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -5643,4 +5323,5 @@
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
@@ -5653,4 +5334,5 @@
 	limistate_2.F90 \
 	phycst.F90 \
+	sbc_oce.F90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
@@ -7903,5 +7585,4 @@
 	sshwzv.F90
 $(MODEL_LIB)(step.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(agrif_opa_interp.o) \
 	$(MODEL_LIB)(agrif_opa_update.o) \
@@ -8025,5 +7706,4 @@
 	$(MODEL_LIB)(zdftke_old.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	agrif_oce.F90 \
 	agrif_opa_interp.F90 \
 	agrif_opa_update.F90 \
@@ -9949,8 +9629,5 @@
 	tranpc.F90
 $(MODEL_LIB)(tranxt.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(divcur.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9968,6 +9645,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(sshwzv.o) \
 	$(MODEL_LIB)(trdicp.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
@@ -9979,8 +9654,5 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	agrif_oce.F90 \
 	bdy_oce.F90 \
-	cla_div.F90 \
-	divcur.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -9998,6 +9670,4 @@
 	prtctl.F90 \
 	sbc_oce.F90 \
-	sol_oce.F90 \
-	sshwzv.F90 \
 	trdicp.F90 \
 	trdicp_oce.F90 \
