Index: /trunk/CONFIG/GYRE/scripts/BB_make
===================================================================
--- /trunk/CONFIG/GYRE/scripts/BB_make	(revision 202)
+++ /trunk/CONFIG/GYRE/scripts/BB_make	(revision 203)
@@ -54,4 +54,6 @@
      key_lim_cp3 \
      key_lim_fdd \
+     key_mpi_bsend \
+     key_mpi_isend \
      key_mpp_mpi \
      key_mpp_shmem \
@@ -75,4 +77,5 @@
      key_traldf_c3d \
      key_traldf_eiv \
+     key_trc_pisces \
      key_trddyn \
      key_trddyn_new \
@@ -206,4 +209,5 @@
 		$(MODEL_LIB)(phycst.o)\
 		$(MODEL_LIB)(restart.o)\
+		$(MODEL_LIB)(sms.o)\
 		$(MODEL_LIB)(solfet.o)\
 		$(MODEL_LIB)(solisl.o)\
@@ -238,4 +242,6 @@
 		$(MODEL_LIB)(trazdf_iso.o)\
 		$(MODEL_LIB)(trazdf_iso_vopt.o)\
+		$(MODEL_LIB)(trcstp.o)\
+		$(MODEL_LIB)(trc_oce.o)\
 		$(MODEL_LIB)(trddyn.o)\
 		$(MODEL_LIB)(trddyn_oce.o)\
@@ -4943,4 +4949,6 @@
 	trazdf_iso.F90 \
 	trazdf_iso_vopt.F90 \
+	trcstp.F90 \
+	trc_oce.F90 \
 	trddyn.F90 \
 	trddyn_oce.F90 \
@@ -5062,4 +5070,6 @@
 	$(MODEL_LIB)(trazdf_iso.o) \
 	$(MODEL_LIB)(trazdf_iso_vopt.o) \
+	$(MODEL_LIB)(trcstp.o) \
+	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trddyn.o) \
 	$(MODEL_LIB)(trddyn_oce.o) \
@@ -5662,4 +5672,5 @@
 	traqsr.F90 \
 	trazdf_exp.F90 \
+	trc_oce.F90 \
 	trddyn_oce.F90 \
 	trdtra_oce.F90 \
@@ -5737,4 +5748,5 @@
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trddyn_oce.o) \
 	$(MODEL_LIB)(trdtra_oce.o) \
@@ -5824,4 +5836,5 @@
 	trazdf_iso.F90 \
 	trazdf_iso_vopt.F90 \
+	trcstp.F90 \
 	trddyn.F90 \
 	trdmld.F90 \
@@ -5918,4 +5931,5 @@
 	$(MODEL_LIB)(trazdf_iso.o) \
 	$(MODEL_LIB)(trazdf_iso_vopt.o) \
+	$(MODEL_LIB)(trcstp.o) \
 	$(MODEL_LIB)(trddyn.o) \
 	$(MODEL_LIB)(trdmld.o) \
@@ -6064,107 +6078,4 @@
 	thd_ice.F90
 $(MODEL_LIB)(traadv_cen2.o) :	\
-	cpl_oce.F90 \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	trdtra_oce.F90 \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	trabbl.F90 \
-	trdtra_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	oce.F90 \
-	$(MODEL_LIB)(oce.o) \
-	domzgr_substitute.h90 \
-	traadv_cen2_atsk.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_cen2.F90
-$(MODEL_LIB)(traadv_ctl.o) :	\
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	trabbl.F90 \
-	trdtra_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	traadv_muscl2.F90 \
-	traadv_muscl.F90 \
-	traadv_tvd.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(traadv_muscl2.o) \
-	$(MODEL_LIB)(traadv_muscl.o) \
-	$(MODEL_LIB)(traadv_tvd.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_ctl.F90
-$(MODEL_LIB)(traadv_muscl2.o) :	\
 	cla_dynspg.F90 \
 	cpl_oce.F90 \
@@ -6229,8 +6140,10 @@
 	dynspg_fsc.F90 \
 	dynspg_fsc_atsk.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
 	trabbl.F90 \
 	trdtra_oce.F90 \
@@ -6239,15 +6152,63 @@
 	$(MODEL_LIB)(dynspg_fsc.o) \
 	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(trdtra_oce.o) \
+	oce.F90 \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	traadv_cen2_atsk.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_cen2.F90
+$(MODEL_LIB)(traadv_ctl.o) :	\
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.F90 \
+	trdtra_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdtra_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	traadv_muscl2.F90 \
+	traadv_muscl.F90 \
+	traadv_tvd.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(traadv_muscl2.o) \
+	$(MODEL_LIB)(traadv_muscl.o) \
+	$(MODEL_LIB)(traadv_tvd.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl2.F90
-$(MODEL_LIB)(traadv_muscl.o) :	\
+	traadv_ctl.F90
+$(MODEL_LIB)(traadv_muscl2.o) :	\
 	cla_dynspg.F90 \
 	cpl_oce.F90 \
@@ -6331,6 +6292,6 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl.F90
-$(MODEL_LIB)(traadv_tvd.o) :	\
+	traadv_muscl2.F90
+$(MODEL_LIB)(traadv_muscl.o) :	\
 	cla_dynspg.F90 \
 	cpl_oce.F90 \
@@ -6414,4 +6375,87 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
+	traadv_muscl.F90
+$(MODEL_LIB)(traadv_tvd.o) :	\
+	cla_dynspg.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	trddyn_oce.F90 \
+	trdtra_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trddyn_oce.o) \
+	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	trabbl.F90 \
+	trdtra_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdtra_oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
 	traadv_tvd.F90
 $(MODEL_LIB)(trabbc.o) :	\
@@ -6844,4 +6888,5 @@
 	par_oce.F90 \
 	phycst.F90 \
+	sms.F90 \
 	taumod.F90 \
 	tradmp.F90 \
@@ -6866,4 +6911,5 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sms.o) \
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(tradmp.o) \
@@ -6873,4 +6919,5 @@
 	oce.F90 \
 	phycst.F90 \
+	trc_oce.F90 \
 	trdtra_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6879,4 +6926,5 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trdtra_oce.o) \
 	domzgr_substitute.h90 \
@@ -6908,4 +6956,5 @@
 	taumod.F90 \
 	tradmp.F90 \
+	trc_oce.F90 \
 	trdtra_oce.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
@@ -6932,4 +6981,5 @@
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trdtra_oce.o) \
 	dom_oce.F90 \
@@ -7124,4 +7174,12 @@
 	KEY_CPP \
 	trazdf_iso_vopt.F90
+$(MODEL_LIB)(trc_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	sms.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(sms.o) \
+	trc_oce.F90
 $(MODEL_LIB)(trddyn.o) :	\
 	cpl_oce.F90 \
@@ -7731,5 +7789,11 @@
 	    echo "   use TRC_SRC files"              ; \
       \$(RM) *.passivetrc.h ; \
-      ln -sf ../TRC_SRC/*.[Ffh]          . ; ln -sf ../TRC_SRC/SMS/*.[Ffh]     . ; \
+      \$(RM) trcstp.F90 ; \
+      \$(RM) trc_oce.F90 ; \
+      ln -sf ../TRC_SRC/*.[Ffh]              . ; \
+      ln -sf ../TRC_SRC/*.[Ffh]90            . ; \
+      ln -sf ../TRC_SRC/SMS/*.[Ffh]          . ; \
+      ln -sf ../TRC_SRC/SMS/*.[Ffh]90        . ; \
+      ln -sf ../TRC_SRC/TRP/*.[Ffh]90        . ; \
       fi 
 	@if [ -d ../SRC_OFFLINE_TRC ] ; then \
Index: /trunk/CONFIG/ORCA2_LIM/scripts/BB_make
===================================================================
--- /trunk/CONFIG/ORCA2_LIM/scripts/BB_make	(revision 202)
+++ /trunk/CONFIG/ORCA2_LIM/scripts/BB_make	(revision 203)
@@ -54,4 +54,6 @@
      key_lim_cp3 \
      key_lim_fdd \
+     key_mpi_bsend \
+     key_mpi_isend \
      key_mpp_mpi \
      key_mpp_shmem \
@@ -75,4 +77,5 @@
      key_traldf_c3d \
      key_traldf_eiv \
+     key_trc_pisces \
      key_trddyn \
      key_trddyn_new \
@@ -206,4 +209,5 @@
 		$(MODEL_LIB)(phycst.o)\
 		$(MODEL_LIB)(restart.o)\
+		$(MODEL_LIB)(sms.o)\
 		$(MODEL_LIB)(solfet.o)\
 		$(MODEL_LIB)(solisl.o)\
@@ -238,4 +242,6 @@
 		$(MODEL_LIB)(trazdf_iso.o)\
 		$(MODEL_LIB)(trazdf_iso_vopt.o)\
+		$(MODEL_LIB)(trcstp.o)\
+		$(MODEL_LIB)(trc_oce.o)\
 		$(MODEL_LIB)(trddyn.o)\
 		$(MODEL_LIB)(trddyn_oce.o)\
@@ -4943,4 +4949,6 @@
 	trazdf_iso.F90 \
 	trazdf_iso_vopt.F90 \
+	trcstp.F90 \
+	trc_oce.F90 \
 	trddyn.F90 \
 	trddyn_oce.F90 \
@@ -5062,4 +5070,6 @@
 	$(MODEL_LIB)(trazdf_iso.o) \
 	$(MODEL_LIB)(trazdf_iso_vopt.o) \
+	$(MODEL_LIB)(trcstp.o) \
+	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trddyn.o) \
 	$(MODEL_LIB)(trddyn_oce.o) \
@@ -5662,4 +5672,5 @@
 	traqsr.F90 \
 	trazdf_exp.F90 \
+	trc_oce.F90 \
 	trddyn_oce.F90 \
 	trdtra_oce.F90 \
@@ -5737,4 +5748,5 @@
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trddyn_oce.o) \
 	$(MODEL_LIB)(trdtra_oce.o) \
@@ -5824,4 +5836,5 @@
 	trazdf_iso.F90 \
 	trazdf_iso_vopt.F90 \
+	trcstp.F90 \
 	trddyn.F90 \
 	trdmld.F90 \
@@ -5918,4 +5931,5 @@
 	$(MODEL_LIB)(trazdf_iso.o) \
 	$(MODEL_LIB)(trazdf_iso_vopt.o) \
+	$(MODEL_LIB)(trcstp.o) \
 	$(MODEL_LIB)(trddyn.o) \
 	$(MODEL_LIB)(trdmld.o) \
@@ -6064,107 +6078,4 @@
 	thd_ice.F90
 $(MODEL_LIB)(traadv_cen2.o) :	\
-	cpl_oce.F90 \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	trdtra_oce.F90 \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	trabbl.F90 \
-	trdtra_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	oce.F90 \
-	$(MODEL_LIB)(oce.o) \
-	domzgr_substitute.h90 \
-	traadv_cen2_atsk.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_cen2.F90
-$(MODEL_LIB)(traadv_ctl.o) :	\
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	trabbl.F90 \
-	trdtra_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	traadv_muscl2.F90 \
-	traadv_muscl.F90 \
-	traadv_tvd.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(traadv_muscl2.o) \
-	$(MODEL_LIB)(traadv_muscl.o) \
-	$(MODEL_LIB)(traadv_tvd.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_ctl.F90
-$(MODEL_LIB)(traadv_muscl2.o) :	\
 	cla_dynspg.F90 \
 	cpl_oce.F90 \
@@ -6229,8 +6140,10 @@
 	dynspg_fsc.F90 \
 	dynspg_fsc_atsk.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
 	trabbl.F90 \
 	trdtra_oce.F90 \
@@ -6239,15 +6152,63 @@
 	$(MODEL_LIB)(dynspg_fsc.o) \
 	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(trdtra_oce.o) \
+	oce.F90 \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	traadv_cen2_atsk.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_cen2.F90
+$(MODEL_LIB)(traadv_ctl.o) :	\
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.F90 \
+	trdtra_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdtra_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	traadv_muscl2.F90 \
+	traadv_muscl.F90 \
+	traadv_tvd.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(traadv_muscl2.o) \
+	$(MODEL_LIB)(traadv_muscl.o) \
+	$(MODEL_LIB)(traadv_tvd.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl2.F90
-$(MODEL_LIB)(traadv_muscl.o) :	\
+	traadv_ctl.F90
+$(MODEL_LIB)(traadv_muscl2.o) :	\
 	cla_dynspg.F90 \
 	cpl_oce.F90 \
@@ -6331,6 +6292,6 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl.F90
-$(MODEL_LIB)(traadv_tvd.o) :	\
+	traadv_muscl2.F90
+$(MODEL_LIB)(traadv_muscl.o) :	\
 	cla_dynspg.F90 \
 	cpl_oce.F90 \
@@ -6414,4 +6375,87 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
+	traadv_muscl.F90
+$(MODEL_LIB)(traadv_tvd.o) :	\
+	cla_dynspg.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	trddyn_oce.F90 \
+	trdtra_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trddyn_oce.o) \
+	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	trabbl.F90 \
+	trdtra_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdtra_oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
 	traadv_tvd.F90
 $(MODEL_LIB)(trabbc.o) :	\
@@ -6844,4 +6888,5 @@
 	par_oce.F90 \
 	phycst.F90 \
+	sms.F90 \
 	taumod.F90 \
 	tradmp.F90 \
@@ -6866,4 +6911,5 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sms.o) \
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(tradmp.o) \
@@ -6873,4 +6919,5 @@
 	oce.F90 \
 	phycst.F90 \
+	trc_oce.F90 \
 	trdtra_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6879,4 +6926,5 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trdtra_oce.o) \
 	domzgr_substitute.h90 \
@@ -6908,4 +6956,5 @@
 	taumod.F90 \
 	tradmp.F90 \
+	trc_oce.F90 \
 	trdtra_oce.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
@@ -6932,4 +6981,5 @@
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trdtra_oce.o) \
 	dom_oce.F90 \
@@ -7124,4 +7174,12 @@
 	KEY_CPP \
 	trazdf_iso_vopt.F90
+$(MODEL_LIB)(trc_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	sms.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(sms.o) \
+	trc_oce.F90
 $(MODEL_LIB)(trddyn.o) :	\
 	cpl_oce.F90 \
@@ -7731,5 +7789,11 @@
 	    echo "   use TRC_SRC files"              ; \
       \$(RM) *.passivetrc.h ; \
-      ln -sf ../TRC_SRC/*.[Ffh]          . ; ln -sf ../TRC_SRC/SMS/*.[Ffh]     . ; \
+      \$(RM) trcstp.F90 ; \
+      \$(RM) trc_oce.F90 ; \
+      ln -sf ../TRC_SRC/*.[Ffh]              . ; \
+      ln -sf ../TRC_SRC/*.[Ffh]90            . ; \
+      ln -sf ../TRC_SRC/SMS/*.[Ffh]          . ; \
+      ln -sf ../TRC_SRC/SMS/*.[Ffh]90        . ; \
+      ln -sf ../TRC_SRC/TRP/*.[Ffh]90        . ; \
       fi 
 	@if [ -d ../SRC_OFFLINE_TRC ] ; then \
Index: /trunk/UTIL/fait_AA_make
===================================================================
--- /trunk/UTIL/fait_AA_make	(revision 202)
+++ /trunk/UTIL/fait_AA_make	(revision 203)
@@ -394,7 +394,6 @@
 echo '	@if [ -d ../TRC_SRC ] && [ ! -d ../SRC_OFFLINE_TRC ] ; then  \'
 echo '	    echo "   use TRC_SRC files"              ; \'
-echo '      \$(RM) *.passivetrc.h ; \'
 echo '      \$(RM) trcstp.F90 ; \'
-echo '      \$(RM) trc_oce.F90 ; \'
+echo '      \$(RM) sms.F90    ; \'
 echo '      ln -sf ../TRC_SRC/*.[Ffh]              . ; \'
 echo '      ln -sf ../TRC_SRC/*.[Ffh]90            . ; \'
