Index: trunk/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make
===================================================================
--- trunk/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make	(revision 1451)
+++ trunk/CONFIG/ORCA2_OFF_PISCES/scripts/BB_make	(revision 1458)
@@ -298,4 +298,5 @@
 		$(MODEL_LIB)(trctrp.o)\
 		$(MODEL_LIB)(trctrp_lec.o)\
+		$(MODEL_LIB)(trcwri.o)\
 		$(MODEL_LIB)(trczdf_exp.o)\
 		$(MODEL_LIB)(trczdf_imp.o)\
@@ -1393,4 +1394,10 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -1400,4 +1407,10 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -1449,4 +1462,6 @@
 	zdfmxl.F90 \
 	zdf_oce.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(p4zlim.o) \
@@ -1527,4 +1542,9 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -1534,4 +1554,9 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -1565,5 +1590,7 @@
 	zdfmxl.F90 \
 	zdf_oce.F90 \
-	lib_mpp.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
@@ -1676,4 +1703,9 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -1683,4 +1715,9 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -1710,4 +1747,6 @@
 	zdfmxl.F90 \
 	zdf_oce.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
@@ -1725,4 +1764,5 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -1732,4 +1772,5 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -1785,4 +1826,5 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -1792,4 +1834,5 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -1845,4 +1888,5 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -1852,4 +1896,5 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -1903,4 +1948,9 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -1910,4 +1960,9 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -1935,4 +1990,6 @@
 	zdfmxl.F90 \
 	zdf_oce.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(sms_pisces.o) \
@@ -1951,4 +2008,10 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
+	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -1958,4 +2021,10 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -1991,5 +2060,7 @@
 	zdfmxl.F90 \
 	zdf_oce.F90 \
-	lib_mpp.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
@@ -2015,4 +2086,5 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -2022,4 +2094,5 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -2092,4 +2165,5 @@
 	in_out_manager.F90 \
 	iom_def.F90 \
+	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -2106,4 +2180,5 @@
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2197,4 +2272,9 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -2204,4 +2284,9 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -2231,4 +2316,6 @@
 	zdfmxl.F90 \
 	zdf_oce.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
@@ -2609,7 +2696,9 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce_trc.o) \
@@ -3006,5 +3095,9 @@
 	eosbn2.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
 	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
 	lbclnk.F90 \
 	ldfeiv.F90 \
@@ -3017,5 +3110,9 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
 	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfeiv.o) \
@@ -3044,4 +3141,5 @@
 	$(MODEL_LIB)(trctrp_lec.o) \
 	$(MODEL_LIB)(trctrp.o) \
+	$(MODEL_LIB)(trcwri.o) \
 	$(MODEL_LIB)(trdmld_trc.o) \
 	$(MODEL_LIB)(trdmld_trc_oce.o) \
@@ -3071,4 +3169,5 @@
 	trctrp.F90 \
 	trctrp_lec.F90 \
+	trcwri.F90 \
 	trdmld_trc.F90 \
 	trdmld_trc_oce.F90 \
@@ -3083,4 +3182,5 @@
 	eosbn2.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	lbclnk.F90 \
 	ldftra_oce.F90 \
@@ -3090,4 +3190,5 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -3769,4 +3870,8 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
 	lbclnk.F90 \
 	ldfslp.F90 \
@@ -3778,4 +3883,8 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
@@ -3822,5 +3931,7 @@
 	zdfmxl.F90 \
 	zdf_oce.F90 \
-	lbclnk.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
@@ -3837,4 +3948,8 @@
 	trdmld_trc_oce.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	trcbio.F90
@@ -4122,9 +4237,4 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -4135,9 +4245,4 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -4172,9 +4277,7 @@
 	dianam.F90 \
 	in_out_manager.F90 \
-	iom.F90 \
 	lib_mpp.F90 \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce_trc.o) \
@@ -4373,4 +4476,8 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
 	lbclnk.F90 \
 	ldfslp.F90 \
@@ -4382,4 +4489,8 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
@@ -4426,5 +4537,7 @@
 	zdfmxl.F90 \
 	zdf_oce.F90 \
-	lbclnk.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
@@ -4443,4 +4556,8 @@
 	trdmld_trc_oce.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	trcexp.F90
@@ -6088,4 +6205,8 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
 	lbclnk.F90 \
 	ldfslp.F90 \
@@ -6097,4 +6218,8 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
@@ -6141,5 +6266,7 @@
 	zdfmxl.F90 \
 	zdf_oce.F90 \
-	lbclnk.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce_trc.o) \
@@ -6429,4 +6556,5 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	lbclnk.F90 \
 	ldfslp.F90 \
@@ -6438,4 +6566,5 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
@@ -6715,9 +6844,14 @@
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
 	iom.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
 	lbclnk.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
+	lib_print.f90 \
 	$(MODEL_LIB)(agrif_top_sponge.o) \
 	$(MODEL_LIB)(daymod.o) \
@@ -6726,11 +6860,17 @@
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
 	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce_trc.o) \
+	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(par_trc.o) \
@@ -6779,4 +6919,5 @@
 	oce.F90 \
 	oce_trc.F90 \
+	par_kind.F90 \
 	par_oce.F90 \
 	par_trc.F90 \
@@ -6823,4 +6964,8 @@
 	zdf_oce.F90 \
 	zpshde_trc.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(oce_trc.o) \
 	$(MODEL_LIB)(prtctl_trc.o) \
@@ -6829,4 +6974,5 @@
 	$(MODEL_LIB)(trcsms.o) \
 	$(MODEL_LIB)(trctrp.o) \
+	$(MODEL_LIB)(trcwri.o) \
 	$(MODEL_LIB)(trdmld_trc.o) \
 	$(MODEL_LIB)(trdmld_trc_oce.o) \
@@ -6838,4 +6984,5 @@
 	trcsms.F90 \
 	trctrp.F90 \
+	trcwri.F90 \
 	trdmld_trc.F90 \
 	trdmld_trc_oce.F90 \
@@ -7060,4 +7207,36 @@
 	KEY_CPP \
 	trctrp_lec.F90
+$(MODEL_LIB)(trcwri.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(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)(par_oce.o) \
+	$(MODEL_LIB)(par_trc.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	par_oce.F90 \
+	par_trc.F90 \
+	zdfddm.F90 \
+	iom.F90 \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(trc.o) \
+	trc.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	top_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	trcwri.F90
 $(MODEL_LIB)(trczdf_exp.o) :	\
 	daymod.F90 \
