Index: /trunk/CONFIG/GYRE/scripts/BB_make
===================================================================
--- /trunk/CONFIG/GYRE/scripts/BB_make	(revision 788)
+++ /trunk/CONFIG/GYRE/scripts/BB_make	(revision 789)
@@ -120,5 +120,4 @@
      key_mpp_dyndist \
      key_mpp_mpi \
-     key_mpp_omp \
      key_mpp_shmem \
      key_noslip_accurate \
@@ -208,5 +207,4 @@
 		$(MODEL_LIB)(dyncor1d.o)\
 		$(MODEL_LIB)(dynhpg.o)\
-		$(MODEL_LIB)(dynhpg_jki.o)\
 		$(MODEL_LIB)(dynkeg.o)\
 		$(MODEL_LIB)(dynldf.o)\
@@ -219,11 +217,8 @@
 		$(MODEL_LIB)(dynspg.o)\
 		$(MODEL_LIB)(dynspg_exp.o)\
-		$(MODEL_LIB)(dynspg_exp_jki.o)\
 		$(MODEL_LIB)(dynspg_flt.o)\
-		$(MODEL_LIB)(dynspg_flt_jki.o)\
 		$(MODEL_LIB)(dynspg_oce.o)\
 		$(MODEL_LIB)(dynspg_rl.o)\
 		$(MODEL_LIB)(dynspg_ts.o)\
-		$(MODEL_LIB)(dynspg_ts_jki.o)\
 		$(MODEL_LIB)(dynvor.o)\
 		$(MODEL_LIB)(dynzad.o)\
@@ -231,5 +226,4 @@
 		$(MODEL_LIB)(dynzdf_exp.o)\
 		$(MODEL_LIB)(dynzdf_imp.o)\
-		$(MODEL_LIB)(dynzdf_imp_jki.o)\
 		$(MODEL_LIB)(eosbn2.o)\
 		$(MODEL_LIB)(flo4rk.o)\
@@ -325,5 +319,4 @@
 		$(MODEL_LIB)(traadv.o)\
 		$(MODEL_LIB)(traadv_cen2.o)\
-		$(MODEL_LIB)(traadv_cen2_jki.o)\
 		$(MODEL_LIB)(traadv_eiv.o)\
 		$(MODEL_LIB)(traadv_muscl.o)\
@@ -347,5 +340,4 @@
 		$(MODEL_LIB)(trazdf_exp.o)\
 		$(MODEL_LIB)(trazdf_imp.o)\
-		$(MODEL_LIB)(trazdf_imp_jki.o)\
 		$(MODEL_LIB)(trc_oce.o)\
 		$(MODEL_LIB)(trcstp.o)\
@@ -369,5 +361,4 @@
 		$(MODEL_LIB)(zdfric.o)\
 		$(MODEL_LIB)(zdftke.o)\
-		$(MODEL_LIB)(zdftke_jki.o)\
 		$(MODEL_LIB)(zpshde.o)
 
@@ -2477,5 +2468,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -2496,5 +2486,4 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	lbclnk.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
@@ -2514,5 +2503,4 @@
 	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynhpg_jki.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2523,5 +2511,4 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	dom_oce.F90 \
-	dynhpg_jki.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -2535,33 +2522,4 @@
 	KEY_CPP \
 	dynhpg.F90
-$(MODEL_LIB)(dynhpg_jki.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynhpg_jki.F90
 $(MODEL_LIB)(dynkeg.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3051,8 +3009,5 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
 	$(MODEL_LIB)(dynvor.o) \
 	$(MODEL_LIB)(flxrnf.o) \
@@ -3097,8 +3052,5 @@
 	dom_oce.F90 \
 	domvvl.F90 \
-	dynspg_exp.F90 \
-	dynspg_flt.F90 \
 	dynspg_oce.F90 \
-	dynspg_ts.F90 \
 	dynvor.F90 \
 	flxrnf.F90 \
@@ -3141,11 +3093,8 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_exp_jki.o) \
 	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_flt_jki.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynspg_ts_jki.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(obc_oce.o) \
@@ -3156,11 +3105,8 @@
 	dom_oce.F90 \
 	dynspg_exp.F90 \
-	dynspg_exp_jki.F90 \
 	dynspg_flt.F90 \
-	dynspg_flt_jki.F90 \
 	dynspg_oce.F90 \
 	dynspg_rl.F90 \
 	dynspg_ts.F90 \
-	dynspg_ts_jki.F90 \
 	in_out_manager.F90 \
 	obc_oce.F90 \
@@ -3278,107 +3224,4 @@
 	KEY_CPP \
 	dynspg_exp.F90
-$(MODEL_LIB)(dynspg_exp_jki.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasss.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasss.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	ini1d.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	obcdta.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trdmld_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	dom_oce.F90 \
-	dynspg_exp.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obcdta.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_exp_jki.F90
 $(MODEL_LIB)(dynspg_flt.o) :	\
 	$(MODEL_LIB)(blk_oce.o) \
@@ -3531,163 +3374,4 @@
 	KEY_CPP \
 	dynspg_flt.F90
-$(MODEL_LIB)(dynspg_flt_jki.o) :	\
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasss.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_feti.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	agrif_opa_interp.F90 \
-	blk_oce.F90 \
-	cla_dynspg.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dtasal.F90 \
-	dtasss.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	ini1d.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_feti.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trdmld_oce.F90 \
-	zdf_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	agrif_opa_interp.F90 \
-	cla_dynspg.F90 \
-	dom_oce.F90 \
-	dynspg_flt.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	dynspg_flt_jki.F90
 $(MODEL_LIB)(dynspg_oce.o) :	\
 	$(MODEL_LIB)(par_kind.o) \
@@ -3926,135 +3610,4 @@
 	KEY_CPP \
 	dynspg_ts.F90
-$(MODEL_LIB)(dynspg_ts_jki.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasss.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynadv.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcfla.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dtasal.F90 \
-	dtasss.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynadv.F90 \
-	dynspg_oce.F90 \
-	dynvor.F90 \
-	eosbn2.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	ini1d.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	obcdta.F90 \
-	obcfla.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trdmld_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcfla.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynspg_ts.F90 \
-	dynvor.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obcdta.F90 \
-	obcfla.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_ts_jki.F90
 $(MODEL_LIB)(dynvor.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
@@ -4239,5 +3792,4 @@
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(dynzdf_imp.o) \
-	$(MODEL_LIB)(dynzdf_imp_jki.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
@@ -4252,5 +3804,4 @@
 	dynzdf_exp.F90 \
 	dynzdf_imp.F90 \
-	dynzdf_imp_jki.F90 \
 	in_out_manager.F90 \
 	ldfdyn_oce.F90 \
@@ -4349,45 +3900,4 @@
 	KEY_CPP \
 	dynzdf_imp.F90
-$(MODEL_LIB)(dynzdf_imp_jki.o) :	\
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(cpl_oasis4.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	cpl_oasis3.F90 \
-	cpl_oasis4.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	geo2ocean.F90 \
-	ice.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynzdf_imp_jki.F90
 $(MODEL_LIB)(eosbn2.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
@@ -5366,11 +4876,8 @@
 	$(MODEL_LIB)(domvvl.o) \
 	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_exp_jki.o) \
 	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_flt_jki.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynspg_ts_jki.o) \
 	$(MODEL_LIB)(dynvor.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -5420,11 +4927,8 @@
 	domvvl.F90 \
 	dynspg_exp.F90 \
-	dynspg_exp_jki.F90 \
 	dynspg_flt.F90 \
-	dynspg_flt_jki.F90 \
 	dynspg_oce.F90 \
 	dynspg_rl.F90 \
 	dynspg_ts.F90 \
-	dynspg_ts_jki.F90 \
 	dynvor.F90 \
 	eosbn2.F90 \
@@ -7429,5 +6933,4 @@
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdftke_jki.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	agrif_opa_sponge.F90 \
@@ -7550,5 +7053,4 @@
 	zdfric.F90 \
 	zdftke.F90 \
-	zdftke_jki.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(cpl.o) \
@@ -8008,5 +7510,4 @@
 	$(MODEL_LIB)(dynadv_cen2.o) \
 	$(MODEL_LIB)(dynadv_ubs.o) \
-	$(MODEL_LIB)(dynhpg_jki.o) \
 	$(MODEL_LIB)(dynkeg.o) \
 	$(MODEL_LIB)(dynldf_bilap.o) \
@@ -8015,15 +7516,11 @@
 	$(MODEL_LIB)(dynldf_lap.o) \
 	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_exp_jki.o) \
 	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_flt_jki.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynspg_ts_jki.o) \
 	$(MODEL_LIB)(dynzad.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(dynzdf_imp.o) \
-	$(MODEL_LIB)(dynzdf_imp_jki.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(flo4rk.o) \
@@ -8081,5 +7578,4 @@
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(traadv_cen2.o) \
-	$(MODEL_LIB)(traadv_cen2_jki.o) \
 	$(MODEL_LIB)(traadv_eiv.o) \
 	$(MODEL_LIB)(traadv_muscl.o) \
@@ -8098,5 +7594,4 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf_imp_jki.o) \
 	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
@@ -8134,5 +7629,4 @@
 	dynadv_cen2.F90 \
 	dynadv_ubs.F90 \
-	dynhpg_jki.F90 \
 	dynkeg.F90 \
 	dynldf_bilap.F90 \
@@ -8141,15 +7635,11 @@
 	dynldf_lap.F90 \
 	dynspg_exp.F90 \
-	dynspg_exp_jki.F90 \
 	dynspg_flt.F90 \
-	dynspg_flt_jki.F90 \
 	dynspg_oce.F90 \
 	dynspg_rl.F90 \
 	dynspg_ts.F90 \
-	dynspg_ts_jki.F90 \
 	dynzad.F90 \
 	dynzdf_exp.F90 \
 	dynzdf_imp.F90 \
-	dynzdf_imp_jki.F90 \
 	eosbn2.F90 \
 	flo4rk.F90 \
@@ -8207,5 +7697,4 @@
 	taumod.F90 \
 	traadv_cen2.F90 \
-	traadv_cen2_jki.F90 \
 	traadv_eiv.F90 \
 	traadv_muscl.F90 \
@@ -8224,5 +7713,4 @@
 	trazdf_exp.F90 \
 	trazdf_imp.F90 \
-	trazdf_imp_jki.F90 \
 	trc_oce.F90 \
 	trdicp_oce.F90 \
@@ -8319,5 +7807,4 @@
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdftke_jki.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	agrif_opa_sponge.F90 \
@@ -8402,5 +7889,4 @@
 	zdfric.F90 \
 	zdftke.F90 \
-	zdftke_jki.F90 \
 	zpshde.F90 \
 	domzgr_substitute.h90 \
@@ -8432,5 +7918,4 @@
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(dynzdf_imp.o) \
-	$(MODEL_LIB)(dynzdf_imp_jki.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(flx_oce.o) \
@@ -8469,5 +7954,4 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf_imp_jki.o) \
 	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
@@ -8502,5 +7986,4 @@
 	dynzdf_exp.F90 \
 	dynzdf_imp.F90 \
-	dynzdf_imp_jki.F90 \
 	eosbn2.F90 \
 	flx_oce.F90 \
@@ -8539,5 +8022,4 @@
 	trazdf_exp.F90 \
 	trazdf_imp.F90 \
-	trazdf_imp_jki.F90 \
 	trc_oce.F90 \
 	trdmld_oce.F90 \
@@ -8825,5 +8307,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(traadv_cen2.o) \
-	$(MODEL_LIB)(traadv_cen2_jki.o) \
 	$(MODEL_LIB)(traadv_eiv.o) \
 	$(MODEL_LIB)(traadv_muscl.o) \
@@ -8839,5 +8320,4 @@
 	prtctl.F90 \
 	traadv_cen2.F90 \
-	traadv_cen2_jki.F90 \
 	traadv_eiv.F90 \
 	traadv_muscl.F90 \
@@ -8932,5 +8412,46 @@
 	KEY_CPP \
 	traadv_cen2.F90
-$(MODEL_LIB)(traadv_cen2_jki.o) :	\
+$(MODEL_LIB)(traadv_eiv.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_eiv.F90
+$(MODEL_LIB)(traadv_muscl.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8986,10 +8507,8 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_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)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trabbl.o) \
@@ -8999,10 +8518,8 @@
 	dom_oce.F90 \
 	dynspg_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
 	prtctl.F90 \
 	trabbl.F90 \
@@ -9012,47 +8529,6 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_cen2_jki.F90
-$(MODEL_LIB)(traadv_eiv.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_eiv.F90
-$(MODEL_LIB)(traadv_muscl.o) :	\
+	traadv_muscl.F90
+$(MODEL_LIB)(traadv_muscl2.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9130,6 +8606,6 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl.F90
-$(MODEL_LIB)(traadv_muscl2.o) :	\
+	traadv_muscl2.F90
+$(MODEL_LIB)(traadv_qck.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9185,8 +8661,10 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(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)(prtctl.o) \
 	$(MODEL_LIB)(trabbl.o) \
@@ -9196,8 +8674,10 @@
 	dom_oce.F90 \
 	dynspg_oce.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 \
 	prtctl.F90 \
 	trabbl.F90 \
@@ -9207,6 +8687,6 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl2.F90
-$(MODEL_LIB)(traadv_qck.o) :	\
+	traadv_qck.F90
+$(MODEL_LIB)(traadv_tvd.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9262,85 +8742,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_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)(prtctl.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	prtctl.F90 \
-	trabbl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_qck.F90
-$(MODEL_LIB)(traadv_tvd.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -9670,5 +9069,4 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf_imp_jki.o) \
 	$(MODEL_LIB)(trdicp.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
@@ -9703,5 +9101,4 @@
 	trazdf_exp.F90 \
 	trazdf_imp.F90 \
-	trazdf_imp_jki.F90 \
 	trdicp.F90 \
 	trdicp_oce.F90 \
@@ -10501,5 +9898,4 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf_imp_jki.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
@@ -10519,5 +9915,4 @@
 	trazdf_exp.F90 \
 	trazdf_imp.F90 \
-	trazdf_imp_jki.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
@@ -10670,77 +10065,4 @@
 	KEY_CPP \
 	trazdf_imp.F90
-$(MODEL_LIB)(trazdf_imp_jki.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	domzgr_substitute.h90 \
-	ldftra_substitute.h90 \
-	zdf.matrixsolver.h90 \
-	zdfddm_substitute.h90 \
-	KEY_CPP \
-	trazdf_imp_jki.F90
 $(MODEL_LIB)(trc_oce.o) :	\
 	$(MODEL_LIB)(par_kind.o) \
@@ -11630,85 +10952,4 @@
 	KEY_CPP \
 	zdftke.F90
-$(MODEL_LIB)(zdftke_jki.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(cpl_oasis4.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	blk_oce.F90 \
-	cpl_oasis3.F90 \
-	cpl_oasis4.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.F90 \
-	geo2ocean.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	ini1d.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	taumod.F90 \
-	trazdf_exp.F90 \
-	trdmld_oce.F90 \
-	zdf_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	taumod.F90 \
-	zdf_oce.F90 \
-	zdftke.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	zdftke_jki.F90
 $(MODEL_LIB)(zpshde.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
Index: /trunk/CONFIG/ORCA2_LIM/scripts/BB_make
===================================================================
--- /trunk/CONFIG/ORCA2_LIM/scripts/BB_make	(revision 788)
+++ /trunk/CONFIG/ORCA2_LIM/scripts/BB_make	(revision 789)
@@ -120,5 +120,4 @@
      key_mpp_dyndist \
      key_mpp_mpi \
-     key_mpp_omp \
      key_mpp_shmem \
      key_noslip_accurate \
@@ -213,5 +212,4 @@
 		$(MODEL_LIB)(dyncor1d.o)\
 		$(MODEL_LIB)(dynhpg.o)\
-		$(MODEL_LIB)(dynhpg_jki.o)\
 		$(MODEL_LIB)(dynkeg.o)\
 		$(MODEL_LIB)(dynldf.o)\
@@ -224,11 +222,8 @@
 		$(MODEL_LIB)(dynspg.o)\
 		$(MODEL_LIB)(dynspg_exp.o)\
-		$(MODEL_LIB)(dynspg_exp_jki.o)\
 		$(MODEL_LIB)(dynspg_flt.o)\
-		$(MODEL_LIB)(dynspg_flt_jki.o)\
 		$(MODEL_LIB)(dynspg_oce.o)\
 		$(MODEL_LIB)(dynspg_rl.o)\
 		$(MODEL_LIB)(dynspg_ts.o)\
-		$(MODEL_LIB)(dynspg_ts_jki.o)\
 		$(MODEL_LIB)(dynvor.o)\
 		$(MODEL_LIB)(dynzad.o)\
@@ -236,5 +231,4 @@
 		$(MODEL_LIB)(dynzdf_exp.o)\
 		$(MODEL_LIB)(dynzdf_imp.o)\
-		$(MODEL_LIB)(dynzdf_imp_jki.o)\
 		$(MODEL_LIB)(eosbn2.o)\
 		$(MODEL_LIB)(flo4rk.o)\
@@ -330,5 +324,4 @@
 		$(MODEL_LIB)(traadv.o)\
 		$(MODEL_LIB)(traadv_cen2.o)\
-		$(MODEL_LIB)(traadv_cen2_jki.o)\
 		$(MODEL_LIB)(traadv_eiv.o)\
 		$(MODEL_LIB)(traadv_muscl.o)\
@@ -352,5 +345,4 @@
 		$(MODEL_LIB)(trazdf_exp.o)\
 		$(MODEL_LIB)(trazdf_imp.o)\
-		$(MODEL_LIB)(trazdf_imp_jki.o)\
 		$(MODEL_LIB)(trc_oce.o)\
 		$(MODEL_LIB)(trcstp.o)\
@@ -374,5 +366,4 @@
 		$(MODEL_LIB)(zdfric.o)\
 		$(MODEL_LIB)(zdftke.o)\
-		$(MODEL_LIB)(zdftke_jki.o)\
 		$(MODEL_LIB)(zpshde.o)
 
@@ -2772,5 +2763,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -2791,5 +2781,4 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	lbclnk.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
@@ -2809,5 +2798,4 @@
 	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynhpg_jki.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2818,5 +2806,4 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	dom_oce.F90 \
-	dynhpg_jki.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -2830,33 +2817,4 @@
 	KEY_CPP \
 	dynhpg.F90
-$(MODEL_LIB)(dynhpg_jki.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynhpg_jki.F90
 $(MODEL_LIB)(dynkeg.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3358,8 +3316,5 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
 	$(MODEL_LIB)(dynvor.o) \
 	$(MODEL_LIB)(flxrnf.o) \
@@ -3404,8 +3359,5 @@
 	dom_oce.F90 \
 	domvvl.F90 \
-	dynspg_exp.F90 \
-	dynspg_flt.F90 \
 	dynspg_oce.F90 \
-	dynspg_ts.F90 \
 	dynvor.F90 \
 	flxrnf.F90 \
@@ -3448,11 +3400,8 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_exp_jki.o) \
 	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_flt_jki.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynspg_ts_jki.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(obc_oce.o) \
@@ -3463,11 +3412,8 @@
 	dom_oce.F90 \
 	dynspg_exp.F90 \
-	dynspg_exp_jki.F90 \
 	dynspg_flt.F90 \
-	dynspg_flt_jki.F90 \
 	dynspg_oce.F90 \
 	dynspg_rl.F90 \
 	dynspg_ts.F90 \
-	dynspg_ts_jki.F90 \
 	in_out_manager.F90 \
 	obc_oce.F90 \
@@ -3585,107 +3531,4 @@
 	KEY_CPP \
 	dynspg_exp.F90
-$(MODEL_LIB)(dynspg_exp_jki.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasss.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasss.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	ini1d.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	obcdta.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trdmld_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	dom_oce.F90 \
-	dynspg_exp.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obcdta.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_exp_jki.F90
 $(MODEL_LIB)(dynspg_flt.o) :	\
 	$(MODEL_LIB)(agrif_oce.o) \
@@ -3840,165 +3683,4 @@
 	KEY_CPP \
 	dynspg_flt.F90
-$(MODEL_LIB)(dynspg_flt_jki.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasss.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_feti.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	agrif_oce.F90 \
-	agrif_opa_interp.F90 \
-	blk_oce.F90 \
-	cla_dynspg.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dtasal.F90 \
-	dtasss.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	ini1d.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_feti.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trdmld_oce.F90 \
-	zdf_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	agrif_opa_interp.F90 \
-	cla_dynspg.F90 \
-	dom_oce.F90 \
-	dynspg_flt.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	dynspg_flt_jki.F90
 $(MODEL_LIB)(dynspg_oce.o) :	\
 	$(MODEL_LIB)(par_kind.o) \
@@ -4237,135 +3919,4 @@
 	KEY_CPP \
 	dynspg_ts.F90
-$(MODEL_LIB)(dynspg_ts_jki.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasss.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynadv.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcfla.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dtasal.F90 \
-	dtasss.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynadv.F90 \
-	dynspg_oce.F90 \
-	dynvor.F90 \
-	eosbn2.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	ini1d.F90 \
-	iom.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	obcdta.F90 \
-	obcfla.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trdmld_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcfla.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynspg_ts.F90 \
-	dynvor.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obcdta.F90 \
-	obcfla.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_ts_jki.F90
 $(MODEL_LIB)(dynvor.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
@@ -4550,5 +4101,4 @@
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(dynzdf_imp.o) \
-	$(MODEL_LIB)(dynzdf_imp_jki.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
@@ -4563,5 +4113,4 @@
 	dynzdf_exp.F90 \
 	dynzdf_imp.F90 \
-	dynzdf_imp_jki.F90 \
 	in_out_manager.F90 \
 	ldfdyn_oce.F90 \
@@ -4660,45 +4209,4 @@
 	KEY_CPP \
 	dynzdf_imp.F90
-$(MODEL_LIB)(dynzdf_imp_jki.o) :	\
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(cpl_oasis4.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	cpl_oasis3.F90 \
-	cpl_oasis4.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	geo2ocean.F90 \
-	ice.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynzdf_imp_jki.F90
 $(MODEL_LIB)(eosbn2.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
@@ -5677,11 +5185,8 @@
 	$(MODEL_LIB)(domvvl.o) \
 	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_exp_jki.o) \
 	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_flt_jki.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynspg_ts_jki.o) \
 	$(MODEL_LIB)(dynvor.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -5731,11 +5236,8 @@
 	domvvl.F90 \
 	dynspg_exp.F90 \
-	dynspg_exp_jki.F90 \
 	dynspg_flt.F90 \
-	dynspg_flt_jki.F90 \
 	dynspg_oce.F90 \
 	dynspg_rl.F90 \
 	dynspg_ts.F90 \
-	dynspg_ts_jki.F90 \
 	dynvor.F90 \
 	eosbn2.F90 \
@@ -7740,5 +7242,4 @@
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdftke_jki.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	agrif_opa_sponge.F90 \
@@ -7861,5 +7362,4 @@
 	zdfric.F90 \
 	zdftke.F90 \
-	zdftke_jki.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(cpl.o) \
@@ -8320,5 +7820,4 @@
 	$(MODEL_LIB)(dynadv_cen2.o) \
 	$(MODEL_LIB)(dynadv_ubs.o) \
-	$(MODEL_LIB)(dynhpg_jki.o) \
 	$(MODEL_LIB)(dynkeg.o) \
 	$(MODEL_LIB)(dynldf_bilap.o) \
@@ -8327,15 +7826,11 @@
 	$(MODEL_LIB)(dynldf_lap.o) \
 	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_exp_jki.o) \
 	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_flt_jki.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynspg_ts_jki.o) \
 	$(MODEL_LIB)(dynzad.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(dynzdf_imp.o) \
-	$(MODEL_LIB)(dynzdf_imp_jki.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(flo4rk.o) \
@@ -8393,5 +7888,4 @@
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(traadv_cen2.o) \
-	$(MODEL_LIB)(traadv_cen2_jki.o) \
 	$(MODEL_LIB)(traadv_eiv.o) \
 	$(MODEL_LIB)(traadv_muscl.o) \
@@ -8410,5 +7904,4 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf_imp_jki.o) \
 	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
@@ -8447,5 +7940,4 @@
 	dynadv_cen2.F90 \
 	dynadv_ubs.F90 \
-	dynhpg_jki.F90 \
 	dynkeg.F90 \
 	dynldf_bilap.F90 \
@@ -8454,15 +7946,11 @@
 	dynldf_lap.F90 \
 	dynspg_exp.F90 \
-	dynspg_exp_jki.F90 \
 	dynspg_flt.F90 \
-	dynspg_flt_jki.F90 \
 	dynspg_oce.F90 \
 	dynspg_rl.F90 \
 	dynspg_ts.F90 \
-	dynspg_ts_jki.F90 \
 	dynzad.F90 \
 	dynzdf_exp.F90 \
 	dynzdf_imp.F90 \
-	dynzdf_imp_jki.F90 \
 	eosbn2.F90 \
 	flo4rk.F90 \
@@ -8520,5 +8008,4 @@
 	taumod.F90 \
 	traadv_cen2.F90 \
-	traadv_cen2_jki.F90 \
 	traadv_eiv.F90 \
 	traadv_muscl.F90 \
@@ -8537,5 +8024,4 @@
 	trazdf_exp.F90 \
 	trazdf_imp.F90 \
-	trazdf_imp_jki.F90 \
 	trc_oce.F90 \
 	trdicp_oce.F90 \
@@ -8632,5 +8118,4 @@
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdftke_jki.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	agrif_opa_sponge.F90 \
@@ -8715,5 +8200,4 @@
 	zdfric.F90 \
 	zdftke.F90 \
-	zdftke_jki.F90 \
 	zpshde.F90 \
 	domzgr_substitute.h90 \
@@ -8745,5 +8229,4 @@
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(dynzdf_imp.o) \
-	$(MODEL_LIB)(dynzdf_imp_jki.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(flx_oce.o) \
@@ -8782,5 +8265,4 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf_imp_jki.o) \
 	$(MODEL_LIB)(trc_oce.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
@@ -8815,5 +8297,4 @@
 	dynzdf_exp.F90 \
 	dynzdf_imp.F90 \
-	dynzdf_imp_jki.F90 \
 	eosbn2.F90 \
 	flx_oce.F90 \
@@ -8852,5 +8333,4 @@
 	trazdf_exp.F90 \
 	trazdf_imp.F90 \
-	trazdf_imp_jki.F90 \
 	trc_oce.F90 \
 	trdmld_oce.F90 \
@@ -9138,5 +8618,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(traadv_cen2.o) \
-	$(MODEL_LIB)(traadv_cen2_jki.o) \
 	$(MODEL_LIB)(traadv_eiv.o) \
 	$(MODEL_LIB)(traadv_muscl.o) \
@@ -9152,5 +8631,4 @@
 	prtctl.F90 \
 	traadv_cen2.F90 \
-	traadv_cen2_jki.F90 \
 	traadv_eiv.F90 \
 	traadv_muscl.F90 \
@@ -9245,5 +8723,46 @@
 	KEY_CPP \
 	traadv_cen2.F90
-$(MODEL_LIB)(traadv_cen2_jki.o) :	\
+$(MODEL_LIB)(traadv_eiv.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_eiv.F90
+$(MODEL_LIB)(traadv_muscl.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9299,10 +8818,8 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_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)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trabbl.o) \
@@ -9312,10 +8829,8 @@
 	dom_oce.F90 \
 	dynspg_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
 	prtctl.F90 \
 	trabbl.F90 \
@@ -9325,47 +8840,6 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_cen2_jki.F90
-$(MODEL_LIB)(traadv_eiv.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_eiv.F90
-$(MODEL_LIB)(traadv_muscl.o) :	\
+	traadv_muscl.F90
+$(MODEL_LIB)(traadv_muscl2.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9443,6 +8917,6 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl.F90
-$(MODEL_LIB)(traadv_muscl2.o) :	\
+	traadv_muscl2.F90
+$(MODEL_LIB)(traadv_qck.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9498,8 +8972,10 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(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)(prtctl.o) \
 	$(MODEL_LIB)(trabbl.o) \
@@ -9509,8 +8985,10 @@
 	dom_oce.F90 \
 	dynspg_oce.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 \
 	prtctl.F90 \
 	trabbl.F90 \
@@ -9520,6 +8998,6 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl2.F90
-$(MODEL_LIB)(traadv_qck.o) :	\
+	traadv_qck.F90
+$(MODEL_LIB)(traadv_tvd.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9575,85 +9053,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_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)(prtctl.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	prtctl.F90 \
-	trabbl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_qck.F90
-$(MODEL_LIB)(traadv_tvd.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -9983,5 +9380,4 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf_imp_jki.o) \
 	$(MODEL_LIB)(trdicp.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
@@ -10016,5 +9412,4 @@
 	trazdf_exp.F90 \
 	trazdf_imp.F90 \
-	trazdf_imp_jki.F90 \
 	trdicp.F90 \
 	trdicp_oce.F90 \
@@ -10824,5 +10219,4 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf_imp_jki.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
@@ -10842,5 +10236,4 @@
 	trazdf_exp.F90 \
 	trazdf_imp.F90 \
-	trazdf_imp_jki.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
@@ -10993,77 +10386,4 @@
 	KEY_CPP \
 	trazdf_imp.F90
-$(MODEL_LIB)(trazdf_imp_jki.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	domzgr_substitute.h90 \
-	ldftra_substitute.h90 \
-	zdf.matrixsolver.h90 \
-	zdfddm_substitute.h90 \
-	KEY_CPP \
-	trazdf_imp_jki.F90
 $(MODEL_LIB)(trc_oce.o) :	\
 	$(MODEL_LIB)(par_kind.o) \
@@ -11953,85 +11273,4 @@
 	KEY_CPP \
 	zdftke.F90
-$(MODEL_LIB)(zdftke_jki.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(cpl_oasis4.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	blk_oce.F90 \
-	cpl_oasis3.F90 \
-	cpl_oasis4.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.F90 \
-	geo2ocean.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	ini1d.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	taumod.F90 \
-	trazdf_exp.F90 \
-	trdmld_oce.F90 \
-	zdf_oce.F90 \
-	zpshde.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	taumod.F90 \
-	zdf_oce.F90 \
-	zdftke.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	zdftke_jki.F90
 $(MODEL_LIB)(zpshde.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
Index: /trunk/NEMO/OPA_SRC/DYN/dynhpg.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynhpg.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/DYN/dynhpg.F90	(revision 789)
@@ -18,5 +18,4 @@
    !!   dyn_hpg      : update the momentum trend with the now horizontal
    !!                  gradient of the hydrostatic pressure
-   !!                  default case : k-j-i loops (vector opt. available)
    !!       hpg_ctl  : initialisation and control of options
    !!       hpg_zco  : z-coordinate scheme
@@ -30,5 +29,4 @@
    USE oce             ! ocean dynamics and tracers
    USE dom_oce         ! ocean space and time domain
-   USE dynhpg_jki      !
    USE phycst          ! physical constants
    USE in_out_manager  ! I/O manager
@@ -42,18 +40,4 @@
 
    PUBLIC   dyn_hpg    ! routine called by step module
-
-#if defined key_mpp_omp
-   !!----------------------------------------------------------------------
-   !!   'key_mpp_omp' :                                 j-k-i loop (j-slab)
-   !!----------------------------------------------------------------------
-   LOGICAL, PUBLIC, PARAMETER ::   lk_dynhpg_jki = .TRUE.    !: OpenMP hpg flag
-   LOGICAL, PUBLIC, PARAMETER ::   lk_dynhpg     = .FALSE.   !: vector hpg flag
-#else
-   !!----------------------------------------------------------------------
-   !!   default case :                             k-j-i loop (vector opt.)
-   !!----------------------------------------------------------------------   
-   LOGICAL, PUBLIC, PARAMETER ::   lk_dynhpg_jki = .FALSE.   !: OpenMP hpg flag
-   LOGICAL, PUBLIC, PARAMETER ::   lk_dynhpg     = .TRUE.    !: vector hpg flag
-#endif
 
    !!* Namelist nam_dynhpg : Choice of horizontal pressure gradient computation
@@ -111,7 +95,4 @@
       CASE (  5 )   ;   CALL hpg_djc    ( kt )      ! s-coordinate (Density Jacobian with Cubic polynomial)
       CASE (  6 )   ;   CALL hpg_rot    ( kt )      ! s-coordinate (ROTated axes scheme)
-      CASE ( 10 )   ;   CALL hpg_zco_jki( kt )      ! z-coordinate (k-j-i)
-      CASE ( 11 )   ;   CALL hpg_zps_jki( kt )      ! z-coordinate plus partial steps (interpolation) (k-j-i)
-      CASE ( 12 )   ;   CALL hpg_sco_jki( kt )      ! s-coordinate (standard jacobian formulation) (k-j-i)
       END SELECT
 
@@ -186,9 +167,4 @@
       IF ( ioptio /= 1 )   CALL ctl_stop( ' NO or several hydrostatic pressure gradient options used' )
 
-      IF( lk_dynhpg_jki ) THEN
-         nhpg = nhpg + 10
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) '          Autotasking or OPENMP: use j-k-i loops (i.e. _jki routines)'
-      ENDIF
       !
    END SUBROUTINE hpg_ctl
Index: unk/NEMO/OPA_SRC/DYN/dynhpg_jki.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynhpg_jki.F90	(revision 788)
+++ 	(revision )
@@ -1,308 +1,0 @@
-MODULE dynhpg_jki
-   !!======================================================================
-   !!                       ***  MODULE  dynhpg_jki  ***
-   !! Ocean dynamics:  hydrostatic pressure gradient trend
-   !!======================================================================
-   !! History :  9.0  !  06-09  (G. Madec) From dynhpg module
-   !!----------------------------------------------------------------------
-
-   !!----------------------------------------------------------------------
-   !!   hpg_sco_jki : update the momentum trend with the horizontal
-   !!                 gradient of the hydrostatic pressure (s-coordinate)
-   !!   hpg_zps_jki : update the momentum trend with the horizontal
-   !!                 gradient of the hydrostatic pressure (partial step)
-   !!   hpg_zco_jki : update the momentum trend with the horizontal
-   !!                 gradient of the hydrostatic pressure (z-coordinate)
-   !!----------------------------------------------------------------------
-   USE oce             ! ocean dynamics and tracers
-   USE dom_oce         ! ocean space and time domain
-   USE phycst          ! physical constants
-   USE in_out_manager  ! I/O manager
-   USE lbclnk          ! lateral boundary condition
-
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC   hpg_sco_jki   ! routine called by step.F90
-   PUBLIC   hpg_zps_jki   ! routine called by step.F90
-   PUBLIC   hpg_zco_jki   ! routine called by step.F90
-
-   !! * Substitutions
-#  include "domzgr_substitute.h90"
-#  include "vectopt_loop_substitute.h90"
-   !!----------------------------------------------------------------------
-   !!   OPA 9.0 , LOCEAN-IPSL (2005) 
-   !! $Header$
-   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-
-CONTAINS
-
-   SUBROUTINE hpg_sco_jki( kt )
-      !!---------------------------------------------------------------------
-      !!                  ***  ROUTINE hpg_sco_jki  ***
-      !!        
-      !! ** Purpose :   Compute the now momentum trend due to the horizontal 
-      !!     gradient of the hydrostatic pressure. Add it to the general
-      !!     momentum trend.
-      !!
-      !! ** Method  :   The now hydrostatic pressure gradient at a given level
-      !!      jk is computed by taking the vertical integral of the in-situ 
-      !!      density gradient along the model level from the suface to that
-      !!      level. s-coordinate case (ln_sco=T): a corrective term is
-      !!      added to the horizontal pressure gradient :
-      !!         zhpi = grav .....   + 1/e1u mi(rhd) di[ grav dep3w ]
-      !!         zhpj = grav .....   + 1/e2v mj(rhd) dj[ grav dep3w ]
-      !!      add it to the general momentum trend (ua,va).
-      !!         ua = ua - 1/e1u * zhpi
-      !!         va = va - 1/e2v * zhpj
-      !!      j-k-i loop (j-slab) ('key_mpp_omp')
-      !!
-      !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend
-      !!             - Save the trend in (ztrdu,ztrdv) ('key_trddyn')
-      !!----------------------------------------------------------------------
-      USE oce, ONLY :   zhpi => ta   ! use ta as 3D workspace
-      USE oce, ONLY :   zhpj => sa   ! use sa as 3D workspace
-      !!
-      INTEGER, INTENT(in) ::   kt   ! ocean time-step index
-      !!
-      INTEGER  ::   ji, jj, jk           ! dummy loop indices
-      REAL(wp) ::   zcoef0, zuap, zvap   ! temporary scalars
-      !!----------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'hpg_sco_jki : s-coordinate hydrostatic pressure gradient trend'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~   OpenMP / NEC autotasking case (j-k-i loop)'
-      ENDIF
-
-      ! Local constant initialization
-      zcoef0 = - grav * 0.5
-      zuap   = 0.e0
-      zvap   = 0.e0
-
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-         DO ji = 2, jpim1         !  Surface value
-            ! hydrostatic pressure gradient along s-surfaces
-            zhpi(ji,jj,1) = zcoef0 / e1u(ji,jj)   &
-                       * ( fse3w(ji+1,jj,1) * rhd(ji+1,jj,1) - fse3w(ji,jj,1) * rhd(ji,jj,1)  )
-            zhpj(ji,jj,1) = zcoef0 / e2v(ji,jj)   &
-                       * ( fse3w(ji,jj+1,1) * rhd(ji,jj+1,1) - fse3w(ji,jj,1) * rhd(ji,jj,1)  )
-            ! s-coordinate pressure gradient correction
-            zuap = -zcoef0 * ( rhd(ji+1,jj,1) + rhd(ji,jj,1) )   &
-                 * ( fsde3w(ji+1,jj,1) - fsde3w(ji,jj,1) ) / e1u(ji,jj)
-            zvap = -zcoef0 * ( rhd(ji,jj+1,1) + rhd(ji,jj,1) )   &
-                 * ( fsde3w(ji,jj+1,1) - fsde3w(ji,jj,1) ) / e2v(ji,jj)
-            ! add to the general momentum trend
-            ua(ji,jj,1) = ua(ji,jj,1) + zhpi(ji,jj,1) + zuap
-            va(ji,jj,1) = va(ji,jj,1) + zhpj(ji,jj,1) + zvap
-         END DO  
-         !
-         DO jk = 2, jpkm1         ! interior value (2=<jk=<jpkm1)
-            DO ji = 2, jpim1
-               ! hydrostatic pressure gradient along s-surfaces
-               zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1) + zcoef0 / e1u(ji,jj)   &
-                  &           * ( fse3w(ji+1,jj,jk) * ( rhd(ji+1,jj,jk) + rhd(ji+1,jj,jk-1) )   &
-                  &              -fse3w(ji  ,jj,jk) * ( rhd(ji  ,jj,jk) + rhd(ji  ,jj,jk-1) )  )
-               zhpj(ji,jj,jk) = zhpj(ji,jj,jk-1) + zcoef0 / e2v(ji,jj)   &
-                  &           * ( fse3w(ji,jj+1,jk) * ( rhd(ji,jj+1,jk) + rhd(ji,jj+1,jk-1) )   &
-                  &              -fse3w(ji,jj  ,jk) * ( rhd(ji,jj,  jk) + rhd(ji,jj  ,jk-1) )  )
-               ! s-coordinate pressure gradient correction 
-               zuap = -zcoef0 * ( rhd(ji+1,jj  ,jk) + rhd(ji,jj,jk) )   &
-                    * ( fsde3w(ji+1,jj,jk) - fsde3w(ji,jj,jk) ) / e1u(ji,jj)
-               zvap = -zcoef0 * ( rhd(ji  ,jj+1,jk) + rhd(ji,jj,jk) )   &
-                    * ( fsde3w(ji,jj+1,jk) - fsde3w(ji,jj,jk) ) / e2v(ji,jj)
-               ! add to the general momentum trend
-               ua(ji,jj,jk) = ua(ji,jj,jk) + zhpi(ji,jj,jk) + zuap
-               va(ji,jj,jk) = va(ji,jj,jk) + zhpj(ji,jj,jk) + zvap
-            END DO
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-   END SUBROUTINE hpg_sco_jki
-
-
-   SUBROUTINE hpg_zps_jki( kt )
-      !!---------------------------------------------------------------------
-      !!                  ***  ROUTINE hpg_zps_jki  ***
-      !!  
-      !! ** Purpose :   Compute the now momentum trend due to the hor. gradient
-      !!      of the hydrostatic pressure. Add it to the general momentum trend.
-      !!
-      !! ** Method  :   The now hydrostatic pressure gradient at a given level
-      !!      jk is computed by taking the vertical integral of the in-situ
-      !!      density gradient along the model level from the suface to that 
-      !!      level:    zhpi = grav .....
-      !!                zhpj = grav .....
-      !!      add it to the general momentum trend (ua,va).
-      !!            ua = ua - 1/e1u * zhpi
-      !!            va = va - 1/e2v * zhpj
-      !!      j-k-i loop (j-slab) ('key_mpp_omp')
-      !!
-      !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend
-      !!             - Save the trend in (ztrdu,ztrdv) ('key_trddyn')
-      !!----------------------------------------------------------------------
-      USE oce, ONLY :   zhpi => ta   ! use ta as 3D workspace
-      USE oce, ONLY :   zhpj => sa   ! use sa as 3D workspace
-      !!
-      INTEGER, INTENT(in) ::   kt    ! ocean time-step index
-      !!
-      INTEGER  ::   ji, jj, jk             ! dummy loop indices
-      INTEGER  ::   iku, ikv               ! temporary integers
-      REAL(wp) ::   zcoef0, zcoef1, zuap   ! temporary scalars
-      REAL(wp) ::   zcoef2, zcoef3, zvap   !    "         "
-      !!----------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'hpg_zps_jki : z-coord. partial steps hydrostatic pressure gradient trend'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~   OpenMP / NEC autotasking case (j-k-i loop)'
-      ENDIF
-
-      ! Local constant initialization
-      zcoef0 = - grav * 0.5
-      zuap   = 0.e0
-      zvap   = 0.e0
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-         DO ji = 2, jpim1         ! Surface value
-            zcoef1 = zcoef0 * fse3w(ji,jj,1)
-            ! hydrostatic pressure gradient
-            zhpi(ji,jj,1) = zcoef1 * ( rhd(ji+1,jj,1) - rhd(ji,jj,1) ) / e1u(ji,jj)
-            zhpj(ji,jj,1) = zcoef1 * ( rhd(ji,jj+1,1) - rhd(ji,jj,1) ) / e2v(ji,jj)
-            ! add to the general momentum trend
-            ua(ji,jj,1) = ua(ji,jj,1) + zhpi(ji,jj,1)
-            va(ji,jj,1) = va(ji,jj,1) + zhpj(ji,jj,1)
-         END DO
-         !
-         DO jk = 2, jpkm1         ! interior value (2=<jk=<jpkm1)
-            DO ji = 2, jpim1
-               zcoef1 = zcoef0 * fse3w(ji,jj,jk)
-               ! hydrostatic pressure gradient
-               zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1)   &
-                  &           + zcoef1 * (  ( rhd(ji+1,jj,jk)+rhd(ji+1,jj,jk-1) )   &
-                  &                       - ( rhd(ji  ,jj,jk)+rhd(ji  ,jj,jk-1) )  ) / e1u(ji,jj)
-
-               zhpj(ji,jj,jk) = zhpj(ji,jj,jk-1)   &
-                  &           + zcoef1 * (  ( rhd(ji,jj+1,jk)+rhd(ji,jj+1,jk-1) )   &
-                  &                       - ( rhd(ji,jj,  jk)+rhd(ji,jj  ,jk-1) )  ) / e2v(ji,jj)
-               ! add to the general momentum trend
-               ua(ji,jj,jk) = ua(ji,jj,jk) + zhpi(ji,jj,jk)
-               va(ji,jj,jk) = va(ji,jj,jk) + zhpj(ji,jj,jk)
-            END DO 
-         END DO
-         !
-         ! partial steps correction at the last level  (new gradient with  intgrd.F)
-         DO ji = 2, jpim1
-            iku = MIN ( mbathy(ji,jj), mbathy(ji+1,jj) ) - 1
-            ikv = MIN ( mbathy(ji,jj), mbathy(ji,jj+1) ) - 1
-            zcoef2 = zcoef0 * MIN( fse3w(ji,jj,iku), fse3w(ji+1,jj  ,iku) )
-            zcoef3 = zcoef0 * MIN( fse3w(ji,jj,ikv), fse3w(ji  ,jj+1,ikv) )
-            ! on i-direction
-            IF ( iku > 2 ) THEN
-               ! subtract old value  
-               ua(ji,jj,iku) = ua(ji,jj,iku) - zhpi(ji,jj,iku)
-               ! compute the new one   
-               zhpi (ji,jj,iku) = zhpi(ji,jj,iku-1)   &
-                  + zcoef2 * ( rhd(ji+1,jj,iku-1) - rhd(ji,jj,iku-1) + gru(ji,jj) ) / e1u(ji,jj)
-               ! add the new one to the general momentum trend
-               ua(ji,jj,iku) = ua(ji,jj,iku) + zhpi(ji,jj,iku)
-            ENDIF
-            ! on j-direction
-            IF ( ikv > 2 ) THEN
-               ! subtract old value  
-               va(ji,jj,ikv) = va(ji,jj,ikv) - zhpj(ji,jj,ikv)
-               ! compute the new one   
-               zhpj (ji,jj,ikv) = zhpj(ji,jj,ikv-1)   &
-                  + zcoef3 * ( rhd(ji,jj+1,ikv-1) - rhd(ji,jj,ikv-1) + grv(ji,jj) ) / e2v(ji,jj)
-               ! add the new one to the general momentum trend
-               va(ji,jj,ikv) = va(ji,jj,ikv) + zhpj(ji,jj,ikv)
-            ENDIF
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-   END SUBROUTINE hpg_zps_jki
-
-
-   SUBROUTINE hpg_zco_jki( kt )
-      !!---------------------------------------------------------------------
-      !!                  ***  ROUTINE hpg_zco_jki  ***
-      !!   
-      !! ** Purpose :   Compute the now momentum trend due to the horizontal
-      !!      gradient of the hydrostatic pressure. Add it to the general
-      !!      momentum trend.
-      !!
-      !! ** Method  :   The now hydrostatic pressure gradient at a given level
-      !!      jk is computed by taking the vertical integral of the in-situ  
-      !!      density gradient along the model level from the suface to that
-      !!      level:    zhpi = grav .....
-      !!                zhpj = grav .....
-      !!      add it to the general momentum trend (ua,va).
-      !!            ua = ua - 1/e1u * zhpi
-      !!            va = va - 1/e2v * zhpj
-      !!      j-k-i loop (j-slab) ('key_mpp_omp')
-      !!
-      !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend
-      !!             - Save the trend in (ztrdu,ztrdv) ('key_trddyn')
-      !!----------------------------------------------------------------------
-      USE oce, ONLY :   zhpi => ta   ! use ta as 3D workspace
-      USE oce, ONLY :   zhpj => sa   ! use sa as 3D workspace
-      !!
-      INTEGER, INTENT(in) ::   kt    ! ocean time-step index
-      !!
-      INTEGER  ::   ji, jj, jk                   ! dummy loop indices
-      REAL(wp) ::   zcoef0, zcoef1, zuap, zvap   ! temporary scalars
-      !!----------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'hpg_zco_jki : z-coordinate hydrostatic pressure gradient trend'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~   OpenMP / NEC auto-tasking (j-k-i loop)'
-      ENDIF
-
-      ! Local constant initialization
-      zcoef0 = - grav * 0.5
-      zuap   = 0.e0
-      zvap   = 0.e0
-
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-         DO ji = 2, jpim1         ! Surface value
-            zcoef1 = zcoef0 * fse3w(ji,jj,1)
-            ! hydrostatic pressure gradient
-            zhpi(ji,jj,1) = zcoef1 * ( rhd(ji+1,jj,1) - rhd(ji,jj,1) ) / e1u(ji,jj)
-            zhpj(ji,jj,1) = zcoef1 * ( rhd(ji,jj+1,1) - rhd(ji,jj,1) ) / e2v(ji,jj)
-            ! add to the general momentum trend
-            ua(ji,jj,1) = ua(ji,jj,1) + zhpi(ji,jj,1)
-            va(ji,jj,1) = va(ji,jj,1) + zhpj(ji,jj,1)
-         END DO
-         !
-         DO jk = 2, jpkm1         ! interior value (2=<jk=<jpkm1)
-            DO ji = 2, jpim1
-               zcoef1 = zcoef0 * fse3w(ji,jj,jk)
-               ! hydrostatic pressure gradient
-               zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1)   &
-                  &           + zcoef1 * (  ( rhd(ji+1,jj,jk)+rhd(ji+1,jj,jk-1) )   &
-                  &                       - ( rhd(ji  ,jj,jk)+rhd(ji  ,jj,jk-1) )  ) / e1u(ji,jj)
-
-               zhpj(ji,jj,jk) = zhpj(ji,jj,jk-1)   &
-                  &           + zcoef1 * (  ( rhd(ji,jj+1,jk)+rhd(ji,jj+1,jk-1) )   &
-                  &                       - ( rhd(ji,jj,  jk)+rhd(ji,jj  ,jk-1) )  ) / e2v(ji,jj)
-               ! add to the general momentum trend
-               ua(ji,jj,jk) = ua(ji,jj,jk) + zhpi(ji,jj,jk)
-               va(ji,jj,jk) = va(ji,jj,jk) + zhpj(ji,jj,jk)
-            END DO 
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-   END SUBROUTINE hpg_zco_jki
-
-   !!======================================================================
-END MODULE dynhpg_jki
Index: /trunk/NEMO/OPA_SRC/DYN/dynspg.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynspg.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/DYN/dynspg.F90	(revision 789)
@@ -20,7 +20,4 @@
    USE dynspg_flt     ! surface pressure gradient     (dyn_spg_flt routine)
    USE dynspg_rl      ! surface pressure gradient     (dyn_spg_rl  routine)
-   USE dynspg_exp_jki ! surface pressure gradient (dyn_spg_exp_jki routine)
-   USE dynspg_ts_jki  ! surface pressure gradient (dyn_spg_ts_jki  routine)
-   USE dynspg_flt_jki ! surface pressure gradient (dyn_spg_flt_jki routine)
    USE trdmod         ! ocean dynamics trends
    USE trdmod_oce     ! ocean variables trends
@@ -68,14 +65,10 @@
 
       SELECT CASE ( nspg )                       ! compute surf. pressure gradient trend and add it to the general trend
-      !                                                      ! k-j-i loops
+      !                                                     
       CASE (  0 )   ;   CALL dyn_spg_exp    ( kt )              ! explicit
       CASE (  1 )   ;   CALL dyn_spg_ts     ( kt )              ! time-splitting
       CASE (  2 )   ;   CALL dyn_spg_flt    ( kt, kindic )      ! filtered
       CASE (  3 )   ;   CALL dyn_spg_rl     ( kt, kindic )      ! rigid lid
-      !                                                      ! j-k-i loops
-      CASE ( 10 )   ;   CALL dyn_spg_exp_jki( kt )              ! explicit with j-k-i loop
-      CASE ( 11 )   ;   CALL dyn_spg_ts_jki ( kt )              ! time-splitting with j-k-i loop
-      CASE ( 12 )   ;   CALL dyn_spg_flt_jki( kt, kindic )      ! filtered with j-k-i loop
-      !
+      !                                                    
       CASE ( -1 )                                       ! esopa: test all possibility with control print
          ;              CALL dyn_spg_exp    ( kt )
@@ -87,13 +80,4 @@
          ;              CALL dyn_spg_flt  ( kt, kindic )
          ;              CALL prt_ctl( tab3d_1=ua, clinfo1=' spg2 - Ua: ', mask1=umask, &
-            &                         tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' )
-         ;              CALL dyn_spg_exp_jki( kt )
-         ;              CALL prt_ctl( tab3d_1=ua, clinfo1=' spg10- Ua: ', mask1=umask, &
-            &                         tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' )
-         ;              CALL dyn_spg_ts_jki ( kt )
-         ;              CALL prt_ctl( tab3d_1=ua, clinfo1=' spg12- Ua: ', mask1=umask, &
-            &                         tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' )
-         ;              CALL dyn_spg_flt_jki( kt, kindic )
-         ;              CALL prt_ctl( tab3d_1=ua, clinfo1=' spg13- Ua: ', mask1=umask, &
             &                         tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' )
       END SELECT
@@ -159,5 +143,4 @@
       IF( lk_dynspg_flt)   nspg =  2
       IF( lk_dynspg_rl )   nspg =  3
-      IF( lk_jki       )   nspg =  nspg + 10
       IF( nspg == 13   )   nspg =  3
 
@@ -171,7 +154,4 @@
          IF( nspg ==  2 )   WRITE(numout,*) '     filtered free surface'
          IF( nspg ==  3 )   WRITE(numout,*) '     rigid-lid'
-         IF( nspg == 10 )   WRITE(numout,*) '     explicit free surface with j-k-i loop'
-         IF( nspg == 11 )   WRITE(numout,*) '     time splitting free surface with j-k-i loop'
-         IF( nspg == 12 )   WRITE(numout,*) '     filtered free surface with j-k-i loop'
       ENDIF
 
Index: /trunk/NEMO/OPA_SRC/DYN/dynspg_exp.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynspg_exp.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/DYN/dynspg_exp.F90	(revision 789)
@@ -33,5 +33,4 @@
    !! * Accessibility
    PUBLIC dyn_spg_exp  ! routine called by step.F90
-   PUBLIC exp_rst      ! routine called j-k-i subroutine
 
    !! * Substitutions
Index: unk/NEMO/OPA_SRC/DYN/dynspg_exp_jki.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynspg_exp_jki.F90	(revision 788)
+++ 	(revision )
@@ -1,212 +1,0 @@
-MODULE dynspg_exp_jki
-   !!======================================================================
-   !!                   ***  MODULE  dynspg_exp_jki  ***
-   !! Ocean dynamics:  surface pressure gradient trend
-   !!======================================================================
-#if defined key_dynspg_exp   ||   defined key_esopa
-   !!----------------------------------------------------------------------
-   !!   'key_dynspg_exp'                              explicit free surface
-   !!----------------------------------------------------------------------
-   !!   dyn_spg_exp_jki  : update the momentum trend with the surface 
-   !!                      pressure gradient in the free surface constant  
-   !!                      volume case with vector optimization
-   !!----------------------------------------------------------------------
-   !! * Modules used
-   USE oce             ! ocean dynamics and tracers 
-   USE dom_oce         ! ocean space and time domain 
-   USE in_out_manager  ! I/O manager
-   USE phycst          ! physical constants
-   USE ocesbc          ! ocean surface boundary condition
-   USE obc_oce         ! Lateral open boundary condition
-   USE obc_par         ! open boundary condition parameters
-   USE obcdta          ! open boundary condition data     (obc_dta_bt routine)
-   USE lib_mpp         ! distributed memory computing library
-   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
-   USE prtctl          ! Print control
-   USE dynspg_exp      ! surface pressure gradient
-   USE restart         ! only for lrst_oce
-
-   IMPLICIT NONE
-   PRIVATE
-
-   !! * Accessibility
-   PUBLIC dyn_spg_exp_jki  ! routine called by step.F90
-
-   !! * Substitutions
-#  include "domzgr_substitute.h90"
-#  include "vectopt_loop_substitute.h90"
-   !!----------------------------------------------------------------------
-   !!  OPA 9.0 , LOCEAN-IPSL (2005) 
-   !! $Header$ 
-   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
-   !!----------------------------------------------------------------------
-
-CONTAINS
-
-   SUBROUTINE dyn_spg_exp_jki( kt )
-      !!----------------------------------------------------------------------
-      !!                  ***  routine dyn_spg_exp_jki  ***
-      !!
-      !! ** Purpose :   Compute the now trend due to the surface pressure
-      !!      gradient in case of explicit free surface formulation and 
-      !!      add it to the general trend of momentum equation. Compute
-      !!      the free surface.
-      !!
-      !! ** Method  :   Explicit free surface formulation. The surface pressure
-      !!      gradient is given by:
-      !!         spgu = 1/rau0 d/dx(ps) =  g/e1u di( sshn )
-      !!         spgv = 1/rau0 d/dy(ps) =  g/e2v dj( sshn )
-      !!      -1- Compute the now surface pressure gradient
-      !!      -2- Add it to the general trend
-      !!      -3- Compute the horizontal divergence of velocities
-      !!      - the now divergence is given by :
-      !!         zhdivn = 1/(e1t*e2t*e3t) ( di[e2u*e3u un] + dj[e1v*e3v vn] )
-      !!      - integrate the horizontal divergence from the bottom 
-      !!         to the surface
-      !!      - apply lateral boundary conditions on zhdivn
-      !!      -4- Estimate the after sea surface elevation from the kinematic
-      !!         surface boundary condition:
-      !!         zssha = sshb - 2 rdt ( zhdiv + emp )
-      !!      - Time filter applied on now sea surface elevation to avoid
-      !!         the divergence of two consecutive time-steps and swap of free
-      !!         surface arrays to start the next time step:
-      !!         sshb = sshn + atfp * [ sshb + zssha - 2 sshn ]
-      !!         sshn = zssha
-      !!      - apply lateral boundary conditions on sshn
-      !!
-      !! ** Action : - Update (ua,va) with the surf. pressure gradient trend
-      !!
-      !! References :
-      !!
-      !! History :
-      !!   9.0  !  05-11  (V. Garnier, G. Madec, L. Bessieres) Original code
-      !!
-      !!---------------------------------------------------------------------
-      !! * Arguments
-      INTEGER, INTENT( in )  ::   kt         ! ocean time-step index
-
-      !! * Local declarations
-      INTEGER  ::   ji, jj, jk               ! dummy loop indices
-      REAL(wp) ::   z2dt, zraur, zssha       ! temporary scalars 
-      REAL(wp), DIMENSION(jpi,jpj)    ::  &  ! temporary arrays
-         &         zhdiv
-      !!----------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'dyn_spg_exp_jki : surface pressure gradient trend'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~   (explicit free surface, j-k-i loop)'
-
-         ! set to zero free surface specific arrays
-         spgu(:,:) = 0.e0                     ! surface pressure gradient (i-direction)
-         spgv(:,:) = 0.e0                     ! surface pressure gradient (j-direction)
-
-         CALL exp_rst( nit000, 'READ' )       ! read or initialize the following fields:
-         !                                    ! sshb, sshn
-
-      ENDIF
-
-      ! 0. Local constant initialization
-      ! --------------------------------
-      ! read or estimate sea surface height and vertically integrated velocities
-      IF( lk_obc )   CALL obc_dta_bt( kt, 0 )
-      z2dt = 2. * rdt                                       ! time step: leap-frog
-      IF( neuler == 0 .AND. kt == nit000 ) z2dt = rdt       ! time step: Euler if restart from rest
-      zraur = 1.e0 / rauw
-
-!CDIR PARALLEL DO
-!$OMP PARALLEL DO
-      !                                                ! =============== !
-      DO jj = 2, jpjm1                                 !  Vertical slab  !
-         !                                             ! =============== !
-
-         ! Surface pressure gradient (now)
-         DO ji = 2, jpim1
-            spgu(ji,jj) = - grav * ( sshn(ji+1,jj) - sshn(ji,jj) ) / e1u(ji,jj)
-            spgv(ji,jj) = - grav * ( sshn(ji,jj+1) - sshn(ji,jj) ) / e2v(ji,jj)
-         END DO
-
-         ! Add the surface pressure trend to the general trend
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               ua(ji,jj,jk) = ua(ji,jj,jk) + spgu(ji,jj)
-               va(ji,jj,jk) = va(ji,jj,jk) + spgv(ji,jj)
-            END DO
-         END DO
-     
-         !  Vertical integration of horizontal divergence of velocities
-         zhdiv(:,jj) = 0.e0
-         DO jk = jpkm1, 1, -1
-            DO ji = 2, jpim1
-               zhdiv(ji,jj) = zhdiv(ji,jj) + (  e2u(ji  ,jj  ) * fse3u(ji  ,jj  ,jk) * un(ji  ,jj  ,jk)      &
-                  &                           - e2u(ji-1,jj  ) * fse3u(ji-1,jj  ,jk) * un(ji-1,jj  ,jk)      &
-                  &                           + e1v(ji  ,jj  ) * fse3v(ji  ,jj  ,jk) * vn(ji  ,jj  ,jk)      &
-                  &                           - e1v(ji  ,jj-1) * fse3v(ji  ,jj-1,jk) * vn(ji  ,jj-1,jk)  )   &
-                  &                        / ( e1t(ji,jj) * e2t(ji,jj) )
-            END DO
-         END DO
-
-#if defined key_obc
-         ! open boundaries (div must be zero behind the open boundary)
-         !  mpp remark: The zeroing of zhdiv can probably be extended to 1->jpi/jpj for the correct row/column
-         IF( lp_obc_east  ) THEN
-            IF( nje0   <= jj .AND. jj <= nje1   )   zhdiv(nie0p1:nie1p1,jj) = 0.e0      ! east
-         ENDIF
-         IF( lp_obc_west  ) THEN
-            IF( njw0   <= jj .AND. jj <= njw1   )   zhdiv(niw0  :niw1  ,jj) = 0.e0      ! west
-         ENDIF
-         IF( lp_obc_north ) THEN
-            IF( njn0p1 <= jj .AND. jj <= njn1p1 )   zhdiv(nin0  :nin1  ,jj) = 0.e0      ! north
-         ENDIF
-         IF( lp_obc_south ) THEN
-            IF( njs0   <= jj .AND. jj <= njs1   )   zhdiv(nis0  :nis1  ,jj) = 0.e0      ! south
-         ENDIF
-#endif
-
-         ! Sea surface elevation time stepping
-         IF( neuler == 0 .AND. kt == nit000 ) THEN       ! Euler (forward) time stepping, no time filter
-            DO ji = 2, jpim1
-               ! after free surface elevation
-               zssha = sshb(ji,jj) - rdt * ( zraur * emp(ji,jj) + zhdiv(ji,jj) ) * tmask(ji,jj,1)
-               ! swap of arrays
-               sshb(ji,jj) = sshn(ji,jj)
-               sshn(ji,jj) = zssha
-            END DO
-         ELSE                                            ! Leap-frog time stepping and time filter
-            DO ji = 2, jpim1
-               ! after free surface elevation
-               zssha = sshb(ji,jj) - z2dt * ( zraur * emp(ji,jj) + zhdiv(ji,jj) ) * tmask(ji,jj,1)
-               ! time filter and array swap
-               sshb(ji,jj) = atfp * ( sshb(ji,jj) + zssha ) + atfp1 * sshn(ji,jj)
-               sshn(ji,jj) = zssha
-            END DO
-         ENDIF
-         !                                             ! =============== !
-      END DO                                           !     end slab    !
-      !                                                ! =============== !
-
-      ! Boundary conditions on sshn
-      IF( .NOT. lk_obc ) CALL lbc_lnk( sshn, 'T', 1. )
-
-      ! write filtered free surface arrays in restart file
-      ! --------------------------------------------------
-      IF( lrst_oce )   CALL exp_rst( kt, 'WRITE' )
- 
-      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
-         CALL prt_ctl(tab2d_1=sshn, clinfo1=' ssh      : ', mask1=tmask)
-      ENDIF
-      
-   END SUBROUTINE dyn_spg_exp_jki
-
-#else
-   !!----------------------------------------------------------------------
-   !!   Default case :   Empty module   No standart explicit free surface 
-   !!----------------------------------------------------------------------
-CONTAINS
-   SUBROUTINE dyn_spg_exp_jki( kt )       ! Empty routine
-      WRITE(*,*) 'dyn_spg_exp_jki: You should not have seen this print! error?', kt
-   END SUBROUTINE dyn_spg_exp_jki
-#endif
-   
-   !!======================================================================
-END MODULE dynspg_exp_jki
Index: /trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90	(revision 789)
@@ -51,5 +51,4 @@
 
    PUBLIC dyn_spg_flt  ! routine called by step.F90
-   PUBLIC flt_rst      ! routine called by j-k-i subroutine
 
    !! * Substitutions
Index: unk/NEMO/OPA_SRC/DYN/dynspg_flt_jki.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynspg_flt_jki.F90	(revision 788)
+++ 	(revision )
@@ -1,385 +1,0 @@
-MODULE dynspg_flt_jki
-   !!======================================================================
-   !!                  ***  MODULE  dynspg_flt_jki  ***
-   !! Ocean dynamics:  surface pressure gradient trend
-   !!======================================================================
-#if defined key_dynspg_flt   ||   defined key_esopa
-   !!----------------------------------------------------------------------
-   !!   'key_dynspg_flt'                              filtered free surface
-   !!----------------------------------------------------------------------
-   !!----------------------------------------------------------------------
-   !!   dyn_spg_flt_jki : Update the momentum trend with the surface pressure
-   !!                     gradient for the free surf. constant volume case
-   !!                     with auto-tasking (j-slab) (no vectior opt.)
-   !!----------------------------------------------------------------------
-   USE oce             ! ocean dynamics and tracers 
-   USE dom_oce         ! ocean space and time domain
-   USE zdf_oce         ! ocean vertical physics
-   USE phycst          ! physical constant
-   USE ocesbc          ! Ocean Surface Boundary condition
-   USE flxrnf          ! ocean runoffs
-   USE sol_oce         ! ocean elliptic solver
-   USE solpcg          ! preconditionned conjugate gradient solver
-   USE solsor          ! Successive Over-relaxation solver
-   USE solfet          ! FETI solver
-   USE solver
-   USE obc_oce         ! Lateral open boundary condition
-   USE obcdyn          ! ocean open boundary condition (obc_dyn routines)
-   USE obcvol          ! ocean open boundary condition (obc_vol routines)
-   USE lib_mpp         ! distributed memory computing library
-   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
-   USE cla_dynspg      ! cross land advection
-   USE prtctl          ! Print control
-   USE in_out_manager  ! I/O manager
-   USE solmat          ! matrix construction for elliptic solvers
-   USE agrif_opa_interp
-   USE restart         ! only for lrst_oce
-   USE iom             ! I/O library
-   USE dynspg_flt      ! surface pressure gradient
-
-   IMPLICIT NONE
-   PRIVATE
-
-   !! * Accessibility
-   PUBLIC dyn_spg_flt_jki        ! routine called by step.F90
-
-   !! * Substitutions
-#  include "domzgr_substitute.h90"
-   !!----------------------------------------------------------------------
-   !!   OPA 9.0 , LOCEAN-IPSL (2005) 
-   !! $Header$ 
-   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-
-CONTAINS
-
-   SUBROUTINE dyn_spg_flt_jki( kt, kindic )
-      !!----------------------------------------------------------------------
-      !!                  ***  routine dyn_spg_flt_jki  ***
-      !!
-      !! ** Purpose :   Compute the now trend due to the surface pressure 
-      !!      gradient for free surface formulation with a constant ocean
-      !!      volume case, add it to the general trend of momentum equation.
-      !!
-      !! ** Method  :   Free surface formulation. The surface pressure gradient
-      !!      is given by:
-      !!         spgu = 1/rau0 d/dx(ps) =  1/e1u di( etn + rnu btda )
-      !!         spgv = 1/rau0 d/dy(ps) =  1/e2v dj( etn + rnu btda )
-      !!      where etn is the free surface elevation and btda is the after
-      !!      of the free surface elevation
-      !!       -1- compute the after sea surface elevation from the cinematic
-      !!      surface boundary condition:
-      !!              zssha = sshb + 2 rdt ( wn - emp )
-      !!           Time filter applied on now sea surface elevation to avoid 
-      !!      the divergence of two consecutive time-steps and swap of free
-      !!      surface arrays to start the next time step:
-      !!              sshb = sshn + atfp * [ sshb + zssha - 2 sshn ]
-      !!              sshn = zssha
-      !!       -2- evaluate the surface presure trend (including the addi-
-      !!      tional force) in three steps:
-      !!        a- compute the right hand side of the elliptic equation:
-      !!            gcb = 1/(e1t e2t) [ di(e2u spgu) + dj(e1v spgv) ]
-      !!         where (spgu,spgv) are given by:
-      !!            spgu = vertical sum[ e3u (ub+ 2 rdt ua ) ]
-      !!                 - grav 2 rdt hu /e1u di[sshn + emp]
-      !!            spgv = vertical sum[ e3v (vb+ 2 rdt va) ]
-      !!                 - grav 2 rdt hv /e2v dj[sshn + emp]
-      !!         and define the first guess from previous computation :
-      !!            zbtd = btda
-      !!            btda = 2 zbtd - btdb
-      !!            btdb = zbtd
-      !!        b- compute the relative accuracy to be reached by the
-      !!         iterative solver
-      !!        c- apply the solver by a call to sol... routine
-      !!       -3- compute and add the free surface pressure gradient inclu-
-      !!      ding the additional force used to stabilize the equation.
-      !!      several slabs used ('key-autotasking')
-      !!
-      !! ** Action : - Update (ua,va) with the surf. pressure gradient trend
-      !!
-      !! References : Roullet and Madec 1999, JGR.
-      !!---------------------------------------------------------------------
-      INTEGER, INTENT( in ) ::   kt          ! ocean time-step index
-      INTEGER, INTENT( out ) ::   kindic     ! solver convergence flag, <0 if the solver doesn t converge
-      !!
-      INTEGER  ::   ji, jj, jk               ! dummy loop indices
-      REAL(wp) ::   &              ! temporary scalars
-         z2dt, z2dtg, zraur, znugdt, znurau,   &
-         zssha, zgcb, zbtd, ztdgu, ztdgv, zgwgt
-      !!----------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'dyn_spg_flt_jki : surface pressure gradient trend'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~~~  (free surface constant volume, autotasking case)'
-
-         ! set to zero free surface specific arrays
-         spgu(:,:) = 0.e0                     ! surface pressure gradient (i-direction)
-         
-         spgv(:,:) = 0.e0                     ! surface pressure gradient (j-direction)
-         
-         CALL solver_init( nit000 )           ! Elliptic solver initialisation
-
-         ! read filtered free surface arrays in restart file
-         CALL flt_rst( nit000, 'READ' )       ! read or initialize the following fields:
-         !                                    ! gcx, gcxb, sshb, sshn
-      ENDIF
-
-      ! 0. Local constant initialization
-      ! --------------------------------
-      ! time step: leap-frog
-      z2dt = 2. * rdt
-      ! time step: Euler if restart from rest
-      IF( neuler == 0 .AND. kt == nit000 ) z2dt = rdt
-      IF( neuler == 0 .AND. kt == nit000+1 ) CALL sol_mat(kt)
-      ! coefficients
-      z2dtg  = grav * z2dt
-      zraur  = 1. / rauw
-      znugdt =  rnu * grav * z2dt
-      znurau =  znugdt * zraur
-
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-         ! Surface pressure gradient (now)
-         DO ji = 2, jpim1
-            spgu(ji,jj) = - grav * ( sshn(ji+1,jj  ) - sshn(ji,jj) ) / e1u(ji,jj)
-            spgv(ji,jj) = - grav * ( sshn(ji  ,jj+1) - sshn(ji,jj) ) / e2v(ji,jj)
-         END DO 
-         !  Add the surface pressure trend to the general trend
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               ua(ji,jj,jk) = ua(ji,jj,jk) + spgu(ji,jj)
-               va(ji,jj,jk) = va(ji,jj,jk) + spgv(ji,jj)
-            END DO
-         END DO
-         ! Evaluate the masked next velocity (effect of the additional force not included)
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               ua(ji,jj,jk) = ( ub(ji,jj,jk) + z2dt * ua(ji,jj,jk) ) * umask(ji,jj,jk)
-               va(ji,jj,jk) = ( vb(ji,jj,jk) + z2dt * va(ji,jj,jk) ) * vmask(ji,jj,jk)
-            END DO
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-#if defined key_obc
-         ! Update velocities on each open boundary with the radiation algorithm
-         CALL obc_dyn( kt )
-         ! Correction of the barotropic componant velocity to control the volume of the system
-         CALL obc_vol( kt )
-#endif
-#if defined key_agrif
-      ! Update velocities on each coarse/fine interfaces
-
-      CALL Agrif_dyn( kt )
-#endif
-#if defined key_orca_r2
-      IF( n_cla == 1 )   CALL dyn_spg_cla( kt )      ! Cross Land Advection (Update (ua,va))
-#endif
-
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-
-         ! 2. compute the next vertically averaged velocity
-         ! ------------------------------------------------
-         !     (effect of the additional force not included)
-         ! initialize to zero
-         DO ji = 2, jpim1
-            spgu(ji,jj) = 0.e0
-            spgv(ji,jj) = 0.e0
-         END DO
-         ! vertical sum
-         DO jk = 1, jpk
-            DO ji = 2, jpim1
-               spgu(ji,jj) = spgu(ji,jj) + fse3u(ji,jj,jk) * ua(ji,jj,jk)
-               spgv(ji,jj) = spgv(ji,jj) + fse3v(ji,jj,jk) * va(ji,jj,jk)
-            END DO
-         END DO
-         ! transport: multiplied by the horizontal scale factor
-         DO ji = 2, jpim1
-            spgu(ji,jj) = spgu(ji,jj) * e2u(ji,jj)
-            spgv(ji,jj) = spgv(ji,jj) * e1v(ji,jj)
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-      !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,synchro,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-      
-      ! Boundary conditions on (spgu,spgv)
-      CALL lbc_lnk( spgu, 'U', -1. )
-      CALL lbc_lnk( spgv, 'V', -1. )
-
-      !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,synchro,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-
-      ! 3. Right hand side of the elliptic equation and first guess
-      ! -----------------------------------------------------------
-      DO jj = 2, jpjm1
-         DO ji = 2, jpim1
-            ! Divergence of the after vertically averaged velocity
-            zgcb =  spgu(ji,jj) - spgu(ji-1,jj)   &
-                  + spgv(ji,jj) - spgv(ji,jj-1)
-            gcb(ji,jj) = gcdprc(ji,jj) * zgcb
-            ! First guess of the after barotropic transport divergence
-            zbtd = gcx(ji,jj)
-            gcx (ji,jj) = 2. * zbtd   - gcxb(ji,jj)
-            gcxb(ji,jj) =      zbtd
-         END DO
-      END DO
-      ! applied the lateral boundary conditions
-      IF( nsolv == 2 .AND. MAX( jpr2di, jpr2dj ) > 0 ) CALL lbc_lnk_e( gcb, c_solver_pt, 1. )  
-
-#if defined key_agrif
-      IF( .NOT. AGRIF_ROOT() ) THEN
-         ! add contribution of gradient of after barotropic transport divergence 
-        IF( (nbondi == -1) .OR. (nbondi == 2) ) gcb(3,:) = gcb(3,:) &
-           &            -znugdt * z2dt*laplacu(2,:)*gcdprc(3,:)*hu(2,:)*e2u(2,:)
-        IF( (nbondi ==  1) .OR. (nbondi == 2) )  gcb(nlci-2,:) = gcb(nlci-2,:) &
-           &           +znugdt * z2dt*laplacu(nlci-2,:)*gcdprc(nlci-2,:)*hu(nlci-2,:)*e2u(nlci-2,:)
-        IF( (nbondj == -1) .OR. (nbondj == 2) ) gcb(:,3) = gcb(:,3) &
-           &           -znugdt * z2dt*laplacv(:,2)*gcdprc(:,3)*hv(:,2)*e1v(:,2)
-        IF( (nbondj ==  1) .OR. (nbondj == 2) )  gcb(:,nlcj-2) = gcb(:,nlcj-2) &
-           &           +znugdt * z2dt*laplacv(:,nlcj-2)*gcdprc(:,nlcj-2)*hv(:,nlcj-2)*e1v(:,nlcj-2)
-      ENDIF
-#endif
-
-      !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,synchro,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-      
-      ! 4. Relative precision (computation on one processor)
-      ! ---------------------
-      rnorme =0.
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            zgwgt  = gcdmat(ji,jj) * gcb(ji,jj)
-            rnorme = rnorme + gcb(ji,jj) * zgwgt * bmask(ji,jj)
-         END DO
-      END DO
-      IF( lk_mpp )   CALL mpp_sum( rnorme )   ! sum over the global domain
-
-      epsr = eps * eps * rnorme
-      ncut = 0
-      ! if rnorme is 0, the solution is 0, the solver isn't called
-      IF( rnorme == 0.e0 ) THEN
-         gcx(:,:) = 0.e0
-         res   = 0.e0
-         niter = 0
-         ncut  = 999
-      ENDIF
-      
-      !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,synchro,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-      
-      ! 5. Evaluate the next transport divergence
-      ! -----------------------------------------
-      !    Iterarive solver for the elliptic equation (except IF sol.=0)
-      !    (output in gcx with boundary conditions applied)
-      kindic = 0
-      IF( ncut == 0 ) THEN
-         IF( nsolv == 1 ) THEN         ! diagonal preconditioned conjuguate gradient
-            CALL sol_pcg( kindic )
-         ELSEIF( nsolv == 2 ) THEN     ! successive-over-relaxation
-            CALL sol_sor( kindic )
-         ELSEIF( nsolv == 3 ) THEN     ! FETI solver
-            CALL sol_fet( kindic )
-         ELSE                          ! e r r o r in nsolv namelist parameter
-            WRITE(ctmp1,*) ' ~~~~~~~~~~~~~~~~                not = ', nsolv
-            CALL ctl_stop( ' dyn_spg_flt_jki : e r r o r, nsolv = 1, 2 or 3', ctmp1 )
-         ENDIF
-      ENDIF
-
-      !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,synchro,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-         
-         ! 6. Transport divergence gradient multiplied by z2dt
-         ! -----------------------------------------------====
-         DO ji = 2, jpim1
-            ! trend of Transport divergence gradient
-            ztdgu = znugdt * (gcx(ji+1,jj  ) - gcx(ji,jj) ) / e1u(ji,jj)
-            ztdgv = znugdt * (gcx(ji  ,jj+1) - gcx(ji,jj) ) / e2v(ji,jj)
-            ! multiplied by z2dt
-#if defined key_obc
-            ! caution : grad D = 0 along open boundaries
-            spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj)
-            spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj)
-#else
-            spgu(ji,jj) = z2dt * ztdgu
-            spgv(ji,jj) = z2dt * ztdgv
-#endif
-         END DO
-         
-#if defined key_agrif      
-      IF( .NOT. Agrif_Root() ) THEN
-         ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface
-         IF( (nbondi == -1) .OR. (nbondi == 2) ) spgu(2,:) = znugdt * z2dt * laplacu(2,:) * umask(2,:,1)
-         IF( (nbondi ==  1) .OR. (nbondi == 2) ) spgu(nlci-2,:) = znugdt * z2dt * laplacu(nlci-2,:) * umask(nlci-2,:,1)
-         IF( (nbondj == -1) .OR. (nbondj == 2) ) spgv(:,2) = znugdt * z2dt * laplacv(:,2) * vmask(:,2,1)
-         IF( (nbondj ==  1) .OR. (nbondj == 2) ) spgv(:,nlcj-2) = znugdt * z2dt * laplacv(:,nlcj-2) * vmask(:,nlcj-2,1)
-      ENDIF
-#endif
-      
-         ! 7.  Add the trends multiplied by z2dt to the after velocity
-         ! -----------------------------------------------------------
-         !     ( c a u t i o n : (ua,va) here are the after velocity not the
-         !                       trend, the leap-frog time stepping will not
-         !                       be done in dynnxt.F routine)
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               ua(ji,jj,jk) = (ua(ji,jj,jk) + spgu(ji,jj)) * umask(ji,jj,jk)
-               va(ji,jj,jk) = (va(ji,jj,jk) + spgv(ji,jj)) * vmask(ji,jj,jk)
-            END DO
-         END DO
-
-         ! 8. Sea surface elevation time stepping
-         ! --------------------------------------
-         IF( neuler == 0 .AND. kt == nit000 ) THEN         ! Euler (forward) time stepping, no time filter
-            DO ji = 1, jpi
-               ! after free surface elevation
-               zssha = sshb(ji,jj) + rdt * ( wn(ji,jj,1) - emp(ji,jj) * zraur ) * tmask(ji,jj,1)
-               ! swap of arrays
-               sshb(ji,jj) = sshn(ji,jj)
-               sshn(ji,jj) = zssha
-            END DO
-         ELSE                                              ! Leap-frog time stepping and time filter
-            DO ji = 1, jpi
-               ! after free surface elevation
-               zssha = sshb(ji,jj) + z2dt * ( wn(ji,jj,1) - emp(ji,jj) * zraur ) * tmask(ji,jj,1)
-               ! time filter and array swap
-               sshb(ji,jj) = atfp * ( sshb(ji,jj) + zssha ) + atfp1 * sshn(ji,jj)
-               sshn(ji,jj) = zssha
-            END DO
-         ENDIF
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-      !Boundary conditions on sshn
-      CALL lbc_lnk( sshn, 'T', 1. )
-
-      ! write filtered free surface arrays in restart file
-      ! --------------------------------------------------
-      IF( lrst_oce ) CALL flt_rst( kt, 'WRITE' )
-
-      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
-         CALL prt_ctl( tab3d_1=ua  , clinfo1=' spg  - Ua : ', mask1=umask,   &
-            &          tab3d_2=va  , clinfo2='        Va : ', mask2=vmask )
-         CALL prt_ctl( tab2d_1=sshn, clinfo1=' spg  - ssh: ', mask1=tmask)
-      ENDIF
-      !
-   END SUBROUTINE dyn_spg_flt_jki
-#else
-   !!----------------------------------------------------------------------
-   !!   Default case :                                         Empty module
-   !!----------------------------------------------------------------------
-CONTAINS
-   SUBROUTINE dyn_spg_flt_jki( kt, kindic )      ! Empty module
-      WRITE(*,*) 'dyn_spg_flt_jki: You should not have seen this print! error?', kt, kindic
-   END SUBROUTINE dyn_spg_flt_jki
-#endif
-   
-   !!======================================================================
-END MODULE dynspg_flt_jki
Index: /trunk/NEMO/OPA_SRC/DYN/dynspg_ts.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynspg_ts.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/DYN/dynspg_ts.F90	(revision 789)
@@ -41,5 +41,4 @@
 
    PUBLIC dyn_spg_ts  ! routine called by step.F90
-   PUBLIC ts_rst      ! routine called by j-k-i subroutine
 
    REAL(wp), DIMENSION(jpi,jpj) ::  ftnw, ftne,   &  ! triad of coriolis parameter
Index: unk/NEMO/OPA_SRC/DYN/dynspg_ts_jki.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynspg_ts_jki.F90	(revision 788)
+++ 	(revision )
@@ -1,514 +1,0 @@
-MODULE dynspg_ts_jki
-   !!======================================================================
-   !!                   ***  MODULE  dynspg_ts_jki  ***
-   !! Ocean dynamics:  surface pressure gradient trend
-   !!======================================================================
-#if defined key_dynspg_ts   ||   defined key_esopa
-   !!----------------------------------------------------------------------
-   !!   'key_dynspg_ts'                    free surface with time splitting
-   !!----------------------------------------------------------------------
-   !!   dyn_spg_ts  : compute surface pressure gradient trend using a time-
-   !!                 splitting scheme and add to the general trend 
-   !!----------------------------------------------------------------------
-   !! * Modules used
-   USE oce             ! ocean dynamics and tracers
-   USE dom_oce         ! ocean space and time domain
-   USE phycst          ! physical constants
-   USE ocesbc          ! ocean surface boundary condition
-   USE obcdta          ! open boundary condition data     
-   USE obcfla          ! Flather open boundary condition  
-   USE dynvor          ! vorticity term
-   USE obc_oce         ! Lateral open boundary condition
-   USE obc_par         ! open boundary condition parameters
-   USE lib_mpp         ! distributed memory computing library
-   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
-   USE prtctl          ! Print control
-   USE dynspg_oce      ! surface pressure gradient variables
-   USE dynspg_ts       ! surface pressure gradient
-   USE in_out_manager  ! I/O manager
-   USE iom             ! I/O library
-   USE restart         ! only for lrst_oce
-
-   IMPLICIT NONE
-   PRIVATE
-
-   !! * Accessibility
-   PUBLIC dyn_spg_ts_jki  ! routine called by step.F90
-
-   !! * Substitutions
-#  include "domzgr_substitute.h90"
-#  include "vectopt_loop_substitute.h90"
-   !!----------------------------------------------------------------------
-   !!   OPA 9.0 , LODYC-IPSL  (2005)
-   !! $Header$ 
-   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
-   !!----------------------------------------------------------------------
-
-CONTAINS
-
-   SUBROUTINE dyn_spg_ts_jki( kt )
-      !!----------------------------------------------------------------------
-      !!                  ***  routine dyn_spg_ts_jki  ***
-      !!
-      !! ** Purpose :   Compute the now trend due to the surface pressure
-      !!      gradient in case of free surface formulation with time-splitting.
-      !!      Add it to the general trend of momentum equation.
-      !!      Compute the free surface.
-      !!
-      !! ** Method  :   Free surface formulation with time-splitting
-      !!      -1- Save the vertically integrated trend. This general trend is
-      !!          held constant over the barotropic integration.
-      !!          The Coriolis force is removed from the general trend as the
-      !!          surface gradient and the Coriolis force are updated within
-      !!          the barotropic integration.
-      !!      -2- Barotropic loop : updates of sea surface height (ssha_e) and 
-      !!          barotropic transports (ua_e and va_e) through barotropic 
-      !!          momentum and continuity integration. Barotropic former 
-      !!          variables are time averaging over the full barotropic cycle
-      !!          (= 2 * baroclinic time step) and saved in zsshX_b, zuX_b 
-      !!          and zvX_b (X specifying after, now or before).
-      !!      -3- Update of sea surface height from time averaged barotropic 
-      !!          variables.
-      !!        - apply lateral boundary conditions on sshn.
-      !!      -4- The new general trend becomes :
-      !!          ua = ua - sum_k(ua)/H + ( zua_b - sum_k(ub) )/H
-      !!
-      !! ** Action : - Update (ua,va) with the surf. pressure gradient trend
-      !!
-      !! References :
-      !!   Griffies et al., (2003): A technical guide to MOM4. NOAA/GFDL
-      !!
-      !! History :
-      !!   9.0  !  04-12  (L. Bessieres, G. Madec)  Original code
-      !!        !  05-11  (V. Garnier, G. Madec)  optimization
-      !!---------------------------------------------------------------------
-      !! * Arguments
-      INTEGER, INTENT( in )  ::   kt           ! ocean time-step index
-
-      !! * Local declarations
-      INTEGER  ::  ji, jj, jk, jit             ! dummy loop indices
-      INTEGER  ::  icycle                      ! temporary scalar
-      REAL(wp) ::                           &
-         zraur, zcoef, z2dt_e, z2dt_b, zfac25,   &  ! temporary scalars
-         zfact1, zspgu, zcubt, zx1, zy1,    &  !     "        "
-         zfact2, zspgv, zcvbt, zx2, zy2        !     "        "
-      REAL(wp), DIMENSION(jpi,jpj) ::       &
-         zcu, zcv, zwx, zwy, zhdiv,         &  ! temporary arrays
-         zua, zva, zub, zvb,                &  !     "        "
-         zssha_b, zua_b, zva_b,             &  !     "        "
-         zsshb_e, zub_e, zvb_e,             &  !     "        "
-         zun_e, zvn_e                          !     "        "
-      REAL(wp), DIMENSION(jpi,jpj),SAVE ::  &
-         ztnw, ztne, ztsw, ztse
-      !!----------------------------------------------------------------------
-
-      ! Arrays initialization
-      ! ---------------------
-      zua_b(:,:) = 0.e0   ;   zub_e(:,:) = 0.e0   ;   zun_e(:,:) = 0.e0
-      zva_b(:,:) = 0.e0   ;   zvb_e(:,:) = 0.e0   ;   zvn_e(:,:) = 0.e0
-      zhdiv(:,:) = 0.e0
-
-      IF( kt == nit000 ) THEN
-
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'dyn_spg_ts_jki : surface pressure gradient trend'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~   free surface with time splitting with j-k-i loop'
-         IF(lwp) WRITE(numout,*) ' Number of sub cycle in 1 time-step (2 rdt) : icycle = ', FLOOR( 2*rdt/rdtbt )
-
-         CALL ts_rst( nit000, 'READ' )   ! read or initialize the following fields:
-         !                               ! sshb, sshn, sshb_b, sshn_b, un_b, vn_b
-
-         ssha_e(:,:) = sshn(:,:)
-         ua_e  (:,:) = un_b(:,:)
-         va_e  (:,:) = vn_b(:,:)
-
-         IF( ln_dynvor_een ) THEN
-            ztne(1,:) = 0.e0   ;   ztnw(1,:) = 0.e0   ;   ztse(1,:) = 0.e0   ;   ztsw(1,:) = 0.e0
-            DO jj = 2, jpj
-               DO ji = 2, jpi
-                  ztne(ji,jj) = ( ff(ji-1,jj  ) + ff(ji  ,jj  ) + ff(ji  ,jj-1) ) / 3.
-                  ztnw(ji,jj) = ( ff(ji-1,jj-1) + ff(ji-1,jj  ) + ff(ji  ,jj  ) ) / 3.
-                  ztse(ji,jj) = ( ff(ji  ,jj  ) + ff(ji  ,jj-1) + ff(ji-1,jj-1) ) / 3.
-                  ztsw(ji,jj) = ( ff(ji  ,jj-1) + ff(ji-1,jj-1) + ff(ji-1,jj  ) ) / 3.
-               END DO
-            END DO
-         ENDIF
-
-      ENDIF
-    
-      ! Local constant initialization
-      ! --------------------------------
-      z2dt_b = 2.0 * rdt                                    ! baroclinic time step
-      IF ( neuler == 0 .AND. kt == nit000 ) z2dt_b = rdt
-      zfact1 = 0.5 * 0.25                                   ! coefficient for vorticity estimates
-      zfact2 = 0.5 * 0.5
-      zraur  = 1. / rauw                                    ! 1 / volumic mass of pure water
-      
-      ! -----------------------------------------------------------------------------
-      !  Phase 1 : Coupling between general trend and barotropic estimates (1st step)
-      ! -----------------------------------------------------------------------------
-
-      DO jj = 1, jpj
-
-         ! variables for the barotropic equations
-         zsshb_e(:,jj) = sshn_b(:,jj)       ! (barotropic) sea surface height (before and now)
-         sshn_e (:,jj) = sshn_b(:,jj)
-         zub_e  (:,jj) = un_b  (:,jj)       ! barotropic transports issued from the barotropic equations (before and now)
-         zvb_e  (:,jj) = vn_b  (:,jj)
-         zun_e  (:,jj) = un_b  (:,jj)
-         zvn_e  (:,jj) = vn_b  (:,jj)
-         zssha_b(:,jj) = sshn  (:,jj)        ! time averaged variables over all sub-timesteps
-         zua_b  (:,jj) = un_b  (:,jj)   
-         zva_b  (:,jj) = vn_b  (:,jj)
-
-         ! Vertically integrated quantities
-         ! --------------------------------
-         zua(:,jj) = 0.e0
-         zva(:,jj) = 0.e0
-         zub(:,jj) = 0.e0
-         zvb(:,jj) = 0.e0
-         zwx(:,jj) = 0.e0
-         zwy(:,jj) = 0.e0
-
-         ! vertical sum
-         DO jk = 1, jpkm1
-            !                                                           ! Vertically integrated momentum trends
-            zua(:,jj) = zua(:,jj) + fse3u(:,jj,jk) * umask(:,jj,jk) * ua(:,jj,jk)
-            zva(:,jj) = zva(:,jj) + fse3v(:,jj,jk) * vmask(:,jj,jk) * va(:,jj,jk)
-            !                                                           ! Vertically integrated transports (before)
-            zub(:,jj) = zub(:,jj) + fse3u(:,jj,jk) * ub(:,jj,jk)
-            zvb(:,jj) = zvb(:,jj) + fse3v(:,jj,jk) * vb(:,jj,jk)
-            !                                                           ! Planetary vorticity (now)
-            zwx(:,jj) = zwx(:,jj) + e2u(:,jj) * fse3u(:,jj,jk) * un(:,jj,jk)
-            zwy(:,jj) = zwy(:,jj) + e1v(:,jj) * fse3v(:,jj,jk) * vn(:,jj,jk)
-         END DO
-
-      END DO
-
-      DO jj = 2, jpjm1
-
-         IF( ln_dynvor_ene .OR. ln_dynvor_mix ) THEN      ! energy conserving or mixed scheme
-            DO ji = 2, jpim1
-               zy1 = ( zwy(ji,jj-1) + zwy(ji+1,jj-1) ) / e1u(ji,jj)
-               zy2 = ( zwy(ji,jj  ) + zwy(ji+1,jj  ) ) / e1u(ji,jj)
-               zx1 = ( zwx(ji-1,jj) + zwx(ji-1,jj+1) ) / e2v(ji,jj)
-               zx2 = ( zwx(ji  ,jj) + zwx(ji  ,jj+1) ) / e2v(ji,jj)
-               ! energy conserving formulation for planetary vorticity term
-               zcu(ji,jj) = zfact2 * ( ff(ji  ,jj-1) * zy1 + ff(ji,jj) * zy2 )
-               zcv(ji,jj) =-zfact2 * ( ff(ji-1,jj  ) * zx1 + ff(ji,jj) * zx2 )
-            END DO
-
-         ELSEIF ( ln_dynvor_ens ) THEN                    ! enstrophy conserving scheme
-            DO ji = 2, jpim1
-               zy1 = zfact1 * ( zwy(ji  ,jj-1) + zwy(ji+1,jj-1)   &
-                              + zwy(ji  ,jj  ) + zwy(ji+1,jj  ) ) / e1u(ji,jj)
-               zx1 =-zfact1 * ( zwx(ji-1,jj  ) + zwx(ji-1,jj+1)   &
-                              + zwx(ji  ,jj  ) + zwx(ji  ,jj+1) ) / e2v(ji,jj)
-               zcu(ji,jj)  = zy1 * ( ff(ji  ,jj-1) + ff(ji,jj) )
-               zcv(ji,jj)  = zx1 * ( ff(ji-1,jj  ) + ff(ji,jj) )
-            END DO
-
-         ELSEIF ( ln_dynvor_een ) THEN                    ! enstrophy and energy conserving scheme
-         zfac25 = 0.25
-            DO ji = 2, jpim1
-               zcu(ji,jj) = + zfac25 / e1u(ji,jj)   &
-                  &       * (  ztne(ji,jj  ) * zwy(ji  ,jj  ) + ztnw(ji+1,jj) * zwy(ji+1,jj  )   &
-                  &          + ztse(ji,jj  ) * zwy(ji  ,jj-1) + ztsw(ji+1,jj) * zwy(ji+1,jj-1) )
-               zcv(ji,jj) = - zfac25 / e2v(ji,jj)   &
-                  &       * (  ztsw(ji,jj+1) * zwx(ji-1,jj+1) + ztse(ji,jj+1) * zwx(ji  ,jj+1)   &
-                  &          + ztnw(ji,jj  ) * zwx(ji-1,jj  ) + ztne(ji,jj  ) * zwx(ji  ,jj  ) )
-            END DO
-
-         ENDIF
-
-
-         ! Remove barotropic trend from general momentum trend
-         DO jk = 1 , jpkm1
-            DO ji = 2, jpim1
-               ua(ji,jj,jk) = ua(ji,jj,jk) - zua(ji,jj) * hur(ji,jj)
-               va(ji,jj,jk) = va(ji,jj,jk) - zva(ji,jj) * hvr(ji,jj)
-            END DO
-         END DO
-
-         ! Remove coriolis term from barotropic trend
-         ! ------------------------------------------
-         DO ji = 2, jpim1
-            zua(ji,jj) = zua(ji,jj) - zcu(ji,jj)
-            zva(ji,jj) = zva(ji,jj) - zcv(ji,jj)
-         END DO
-
-      END DO
-
-      ! -----------------------------------------------------------------------
-      !  Phase 2 : Integration of the barotropic equations with time splitting
-      ! -----------------------------------------------------------------------
-
-      ! Initialisations
-      !----------------
-      ! Number of iteration of the barotropic loop
-      icycle = FLOOR( z2dt_b / rdtbt )
-
-      ! set ssh corrections to 0
-      ! ssh corrections are applied to normal velocities (Flather's algorithm) and averaged over the barotropic loop
-#if defined key_obc
-      IF( lp_obc_east  )   sshfoe_b(:,:) = 0.e0
-      IF( lp_obc_west  )   sshfow_b(:,:) = 0.e0
-      IF( lp_obc_south )   sshfos_b(:,:) = 0.e0
-      IF( lp_obc_north )   sshfon_b(:,:) = 0.e0
-#endif
-
-      ! Barotropic integration over 2 baroclinic time steps
-      ! ---------------------------------------------------
-
-      !                                                    ! ==================== !
-      DO jit = 1, icycle                                   !  sub-time-step loop  !
-         !                                                 ! ==================== !
-
-         z2dt_e = 2. * rdtbt
-         IF ( jit == 1 )   z2dt_e = rdtbt
-
-         ! Time interpolation of open boundary condition data
-         IF( lk_obc )   CALL obc_dta_bt( kt, jit )
-
-         DO jj = 2, jpjm1
-
-         ! Horizontal divergence of barotropic transports
-         !--------------------------------------------------
-            DO ji = 2, jpim1
-               zhdiv(ji,jj) = ( e2u(ji  ,jj  ) * zun_e(ji  ,jj)              &
-                  &            -e2u(ji-1,jj  ) * zun_e(ji-1,jj)              &
-                  &            +e1v(ji  ,jj  ) * zvn_e(ji  ,jj)              &
-                  &            -e1v(ji  ,jj-1) * zvn_e(ji  ,jj-1) )          &
-                  &           / (e1t(ji,jj)*e2t(ji,jj))
-            END DO
-
-#if defined key_obc
-         ! open boundaries (div must be zero behind the open boundary)
-         !  mpp remark: The zeroing of zhdiv can probably be extended to 1->jpi/jpj for the correct row/column
-         IF( lp_obc_east  ) THEN
-            IF( nje0   <= jj .AND. jj <= nje1   )   zhdiv(nie0p1:nie1p1,jj) = 0.e0      ! east
-         ENDIF
-         IF( lp_obc_west  ) THEN
-            IF( njw0   <= jj .AND. jj <= njw1   )   zhdiv(niw0  :niw1  ,jj) = 0.e0      ! west
-         ENDIF
-         IF( lp_obc_north ) THEN
-            IF( njn0p1 <= jj .AND. jj <= njn1p1 )   zhdiv(nin0  :nin1  ,jj) = 0.e0      ! north
-         ENDIF
-         IF( lp_obc_south ) THEN
-            IF( njs0   <= jj .AND. jj <= njs1   )   zhdiv(nis0  :nis1  ,jj) = 0.e0      ! south
-         ENDIF
-#endif
-
-         ! Sea surface height from the barotropic system
-         !----------------------------------------------
-            DO ji = 2, jpim1
-               ssha_e(ji,jj) = ( zsshb_e(ji,jj) - z2dt_e *  ( zraur * emp(ji,jj)  &
-                  &            +  zhdiv(ji,jj) ) ) * tmask(ji,jj,1)
-            END DO
-
-         END DO
-
-         ! evolution of the barotropic transport ( following the vorticity scheme used)
-         ! ----------------------------------------------------------------------------
-         zwx(:,:) = e2u(:,:) * zun_e(:,:)
-         zwy(:,:) = e1v(:,:) * zvn_e(:,:)
-
-         DO jj = 2, jpjm1
-
-            IF( ln_dynvor_ene .OR. ln_dynvor_mix ) THEN      ! energy conserving or mixed scheme
-               DO ji = 2, jpim1
-                  ! surface pressure gradient
-                  zspgu = -grav * ( sshn_e(ji+1,jj) - sshn_e(ji,jj) ) * hu(ji,jj) / e1u(ji,jj)
-                  zspgv = -grav * ( sshn_e(ji,jj+1) - sshn_e(ji,jj) ) * hv(ji,jj) / e2v(ji,jj)
-                  ! energy conserving formulation for planetary vorticity term
-                  zy1 = ( zwy(ji  ,jj-1) + zwy(ji+1,jj-1) ) / e1u(ji,jj)
-                  zy2 = ( zwy(ji  ,jj  ) + zwy(ji+1,jj  ) ) / e1u(ji,jj)
-                  zx1 = ( zwx(ji-1,jj  ) + zwx(ji-1,jj+1) ) / e2v(ji,jj)
-                  zx2 = ( zwx(ji  ,jj  ) + zwx(ji  ,jj+1) ) / e2v(ji,jj)
-                  zcubt = zfact2 * ( ff(ji  ,jj-1) * zy1 + ff(ji,jj) * zy2 )
-                  zcvbt =-zfact2 * ( ff(ji-1,jj  ) * zx1 + ff(ji,jj) * zx2 )
-                  ! after transports
-                  ua_e(ji,jj) = ( zub_e(ji,jj) + z2dt_e * ( zcubt + zspgu + zua(ji,jj) ) ) * umask(ji,jj,1)
-                  va_e(ji,jj) = ( zvb_e(ji,jj) + z2dt_e * ( zcvbt + zspgv + zva(ji,jj) ) ) * vmask(ji,jj,1)
-               END DO
-
-            ELSEIF ( ln_dynvor_ens ) THEN                    ! enstrophy conserving scheme
-               DO ji = 2, jpim1
-                  ! surface pressure gradient
-                  zspgu = -grav * ( sshn_e(ji+1,jj) - sshn_e(ji,jj) ) * hu(ji,jj) / e1u(ji,jj)
-                  zspgv = -grav * ( sshn_e(ji,jj+1) - sshn_e(ji,jj) ) * hv(ji,jj) / e2v(ji,jj)
-                  ! enstrophy conserving formulation for planetary vorticity term
-                  zy1 = zfact1 * ( zwy(ji  ,jj-1) + zwy(ji+1,jj-1)   &
-                                 + zwy(ji  ,jj  ) + zwy(ji+1,jj  ) ) / e1u(ji,jj)
-                  zx1 =-zfact1 * ( zwx(ji-1,jj  ) + zwx(ji-1,jj+1)   &
-                                 + zwx(ji  ,jj  ) + zwx(ji  ,jj+1) ) / e2v(ji,jj)
-                  zcubt  = zy1 * ( ff(ji  ,jj-1) + ff(ji,jj) )
-                  zcvbt  = zx1 * ( ff(ji-1,jj  ) + ff(ji,jj) )
-                  ! after transports
-                  ua_e(ji,jj) = ( zub_e(ji,jj) + z2dt_e * ( zcubt + zspgu + zua(ji,jj) ) ) * umask(ji,jj,1)
-                  va_e(ji,jj) = ( zvb_e(ji,jj) + z2dt_e * ( zcvbt + zspgv + zva(ji,jj) ) ) * vmask(ji,jj,1)
-               END DO
-
-            ELSEIF ( ln_dynvor_een ) THEN                    ! energy and enstrophy conserving scheme
-               zfac25 = 0.25
-               DO ji = 2, jpim1
-                  ! surface pressure gradient
-                  zspgu = -grav * ( sshn_e(ji+1,jj) - sshn_e(ji,jj) ) * hu(ji,jj) / e1u(ji,jj)
-                  zspgv = -grav * ( sshn_e(ji,jj+1) - sshn_e(ji,jj) ) * hv(ji,jj) / e2v(ji,jj)
-                  ! energy/enstrophy conserving formulation for planetary vorticity term
-                  zcubt = + zfac25 / e1u(ji,jj) * (  ztne(ji,jj  ) * zwy(ji  ,jj  ) + ztnw(ji+1,jj) * zwy(ji+1,jj  )   &
-                     &                             + ztse(ji,jj  ) * zwy(ji  ,jj-1) + ztsw(ji+1,jj) * zwy(ji+1,jj-1) )
-                  zcvbt = - zfac25 / e2v(ji,jj) * (  ztsw(ji,jj+1) * zwx(ji-1,jj+1) + ztse(ji,jj+1) * zwx(ji  ,jj+1)   &
-                     &                             + ztnw(ji,jj  ) * zwx(ji-1,jj  ) + ztne(ji,jj  ) * zwx(ji  ,jj  ) )
-                  ! after transports
-                  ua_e(ji,jj) = ( zub_e(ji,jj) + z2dt_e * ( zcubt + zspgu + zua(ji,jj) ) ) * umask(ji,jj,1)
-                  va_e(ji,jj) = ( zvb_e(ji,jj) + z2dt_e * ( zcvbt + zspgv + zva(ji,jj) ) ) * vmask(ji,jj,1)
-               END DO
-            ENDIF
-
-         END DO
-
-
-         ! Flather's boundary condition for the barotropic loop :
-         !         - Update sea surface height on each open boundary
-         !         - Correct the barotropic transports
-         IF( lk_obc )   CALL obc_fla_ts
-
-         ! ... Boundary conditions on ua_e, va_e, ssha_e
-         CALL lbc_lnk( ua_e  , 'U', -1. )
-         CALL lbc_lnk( va_e  , 'V', -1. )
-         CALL lbc_lnk( ssha_e, 'T',  1. )
-
-         DO jj = 1, jpj
-
-            ! temporal sum
-            !-------------
-            zssha_b(:,jj) = zssha_b(:,jj) + ssha_e(:,jj)
-            zua_b  (:,jj) = zua_b  (:,jj) + ua_e  (:,jj)
-            zva_b  (:,jj) = zva_b  (:,jj) + va_e  (:,jj) 
-
-            ! Time filter and swap of dynamics arrays
-            ! ---------------------------------------
-            IF( neuler == 0 .AND. jit == 1 ) THEN       ! Euler (forward) time stepping
-               zsshb_e(:,jj) = sshn_e(:,jj)
-               zub_e  (:,jj) = zun_e (:,jj)
-               zvb_e  (:,jj) = zvn_e (:,jj)
-               sshn_e (:,jj) = ssha_e(:,jj)
-               zun_e  (:,jj) = ua_e  (:,jj)
-               zvn_e  (:,jj) = va_e  (:,jj)
-            ELSE                                        ! Asselin filtering
-               zsshb_e(:,jj) = atfp * ( zsshb_e(:,jj) + ssha_e(:,jj) ) + atfp1 * sshn_e (:,jj)
-               zub_e  (:,jj) = atfp * ( zub_e  (:,jj) + ua_e  (:,jj) ) + atfp1 * zun_e  (:,jj)
-               zvb_e  (:,jj) = atfp * ( zvb_e  (:,jj) + va_e  (:,jj) ) + atfp1 * zvn_e  (:,jj)
-               sshn_e (:,jj) = ssha_e(:,jj)
-               zun_e  (:,jj) = ua_e  (:,jj)
-               zvn_e  (:,jj) = va_e  (:,jj)
-            ENDIF
-
-         END DO
-
-         !                                                 ! ==================== !
-      END DO                                               !        end loop      !
-      !                                                    ! ==================== !
-
-
-      ! Time average of after barotropic variables
-      zcoef =  1.e0 / (  FLOAT( icycle +1 )  )
-      zssha_b(:,:) = zcoef * zssha_b(:,:) 
-      zua_b  (:,:) = zcoef * zua_b  (:,:) 
-      zva_b  (:,:) = zcoef * zva_b  (:,:) 
-#if defined key_obc
-         IF( lp_obc_east  )   sshfoe_b(:,:) = zcoef * sshfoe_b(:,:)
-         IF( lp_obc_west  )   sshfow_b(:,:) = zcoef * sshfow_b(:,:)
-         IF( lp_obc_north )   sshfon_b(:,:) = zcoef * sshfon_b(:,:)
-         IF( lp_obc_south )   sshfos_b(:,:) = zcoef * sshfos_b(:,:)
-#endif
-     
-
-      ! ---------------------------------------------------------------------------
-      ! Phase 3 : Update sea surface height from time averaged barotropic variables
-      ! ---------------------------------------------------------------------------
-
-      sshb(:,:) = sshn(:,:)
- 
-      ! Horizontal divergence of time averaged barotropic transports
-      !-------------------------------------------------------------
-      DO jj = 2, jpjm1
-         DO ji = 2, jpim1
-            zhdiv(ji,jj) = ( e2u(ji,jj) * un_b(ji,jj) - e2u(ji-1,jj  ) * un_b(ji-1,jj  )     &
-           &                +e1v(ji,jj) * vn_b(ji,jj) - e1v(ji  ,jj-1) * vn_b(ji  ,jj-1) )   &
-           &             / ( e1t(ji,jj) * e2t(ji,jj) )
-         END DO
-
-#if defined key_obc
-         ! open boundaries (div must be zero behind the open boundary)
-         !  mpp remark: The zeroing of zhdiv can probably be extended to 1->jpi/jpj for the correct row/column
-         IF( lp_obc_east  ) THEN
-            IF( nje0   <= jj .AND. jj <= nje1   )   zhdiv(nie0p1:nie1p1,jj) = 0.e0      ! east
-         ENDIF
-         IF( lp_obc_west  ) THEN
-            IF( njw0   <= jj .AND. jj <= njw1   )   zhdiv(niw0  :niw1  ,jj) = 0.e0      ! west
-         ENDIF
-         IF( lp_obc_north ) THEN
-            IF( njn0p1 <= jj .AND. jj <= njn1p1 )   zhdiv(nin0  :nin1  ,jj) = 0.e0      ! north
-         ENDIF
-         IF( lp_obc_south ) THEN
-            IF( njs0   <= jj .AND. jj <= njs1   )   zhdiv(nis0  :nis1  ,jj) = 0.e0      ! south
-         ENDIF
-#endif
-
-         ! sea surface height
-         !-------------------
-         DO ji = 2, jpim1
-            sshn(ji,jj) = (  sshb_b(ji,jj) - z2dt_b * ( zraur * emp(ji,jj) + zhdiv(ji,jj) )  ) * tmask(ji,jj,1)
-         END DO
-
-      END DO
-
-      ! ... Boundary conditions on sshn
-      IF( .NOT. lk_obc ) CALL lbc_lnk( sshn, 'T', 1. )
-
-
-      ! -----------------------------------------------------------------------------
-      ! Phase 4. Coupling between general trend and barotropic estimates - (2nd step)
-      ! -----------------------------------------------------------------------------
-
-      DO jj = 1, jpj
-
-         ! Swap on time averaged barotropic variables
-         ! ------------------------------------------
-         sshb_b(:,jj) = sshn_b (:,jj)
-         sshn_b(:,jj) = zssha_b(:,jj)
-         un_b  (:,jj) = zua_b  (:,jj) 
-         vn_b  (:,jj) = zva_b  (:,jj) 
-   
-         ! add time averaged barotropic coriolis and surface pressure gradient
-         ! terms to the general momentum trend
-         ! --------------------------------------------------------------------
-         DO jk = 1, jpkm1
-            ua(:,jj,jk) = ua(:,jj,jk) + hur(:,jj) * ( zua_b(:,jj) - zub(:,jj) ) / z2dt_b
-            va(:,jj,jk) = va(:,jj,jk) + hvr(:,jj) * ( zva_b(:,jj) - zvb(:,jj) ) / z2dt_b
-         END DO
-      END DO
-
-      ! write filtered free surface arrays in restart file
-      ! --------------------------------------------------
-      IF( lrst_oce )   CALL ts_rst( kt, 'WRITE' )
-
-      IF(ln_ctl) THEN         ! print sum trends (used for debugging)
-         CALL prt_ctl(tab2d_1=sshn, clinfo1=' ssh      : ', mask1=tmask)
-      ENDIF
-      
-   END SUBROUTINE dyn_spg_ts_jki
-#else
-   !!----------------------------------------------------------------------
-   !!   Default case :   Empty module   No standart free surface cst volume
-   !!----------------------------------------------------------------------
-CONTAINS
-   SUBROUTINE dyn_spg_ts_jki( kt )       ! Empty routine
-      WRITE(*,*) 'dyn_spg_ts_jki: You should not have seen this print! error?', kt
-   END SUBROUTINE dyn_spg_ts_jki
-#endif
-   
-   !!======================================================================
-END MODULE dynspg_ts_jki
Index: /trunk/NEMO/OPA_SRC/DYN/dynvor.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynvor.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/DYN/dynvor.F90	(revision 789)
@@ -226,5 +226,4 @@
 
 !CDIR PARALLEL DO PRIVATE( zwx, zwy, zwz )
-!$OMP PARALLEL DO PRIVATE( zwx, zwy, zwz )
       !                                                ! ===============
       DO jk = 1, jpkm1                                 ! Horizontal slab
@@ -333,5 +332,4 @@
 
 !CDIR PARALLEL DO PRIVATE( zwx, zwy, zwz, zww )
-!$OMP PARALLEL DO PRIVATE( zwx, zwy, zwz, zww )
       !                                                ! ===============
       DO jk = 1, jpkm1                                 ! Horizontal slab
@@ -444,5 +442,4 @@
 
 !CDIR PARALLEL DO PRIVATE( zwx, zwy, zwz )
-!$OMP PARALLEL DO PRIVATE( zwx, zwy, zwz )
       !                                                ! ===============
       DO jk = 1, jpkm1                                 ! Horizontal slab
@@ -567,5 +564,4 @@
       
 !CDIR PARALLEL DO PRIVATE( zwx, zwy, zwz, ztnw, ztne, ztsw, ztse )
-!$OMP PARALLEL DO PRIVATE( zwx, zwy, zwz, ztnw, ztne, ztsw, ztse )
       !                                                ! ===============
       DO jk = 1, jpkm1                                 ! Horizontal slab
Index: /trunk/NEMO/OPA_SRC/DYN/dynzad.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynzad.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/DYN/dynzad.F90	(revision 789)
@@ -38,98 +38,4 @@
 CONTAINS
 
-#if defined key_mpp_omp
-   !!----------------------------------------------------------------------
-   !!   'key_mpp_omp'        OpenMP / NEC autotasking: j-k-i loops (j-slab)
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE dyn_zad( kt )
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE dynzad  ***
-      !!
-      !! ** Purpose :   Compute the now vertical momentum advection trend and 
-      !!      add it to the general trend of momentum equation.
-      !!
-      !! ** Method  :   Use j-slab (j-k-i loops) for OpenMP / NEC autotasking
-      !!      The now vertical advection of momentum is given by:
-      !!         w dz(u) = ua + 1/(e1u*e2u*e3u) mk+1[ mi(e1t*e2t*wn) dk(un) ]
-      !!         w dz(v) = va + 1/(e1v*e2v*e3v) mk+1[ mj(e1t*e2t*wn) dk(vn) ]
-      !!      Add this trend to the general trend (ua,va):
-      !!         (ua,va) = (ua,va) + w dz(u,v)
-      !!
-      !! ** Action  : - Update (ua,va) with the vert. momentum advection trends
-      !!              - Save the trends in (ztrdu,ztrdv) ('key_trddyn')
-      !!----------------------------------------------------------------------
-      USE oce, ONLY:   zwuw => ta   ! use ta as 3D workspace
-      USE oce, ONLY:   zwvw => sa   ! use sa as 3D workspace
-      !!
-      INTEGER, INTENT(in) ::   kt   ! ocean time-step inedx
-      !!
-      INTEGER  ::   ji, jj, jk      ! dummy loop indices
-      REAL(wp) ::   zvn, zua, zva   ! temporary scalars
-      REAL(wp), DIMENSION(jpi)         ::   zww            ! 1D workspace
-      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ztrdu, ztrdv   ! 3D workspace
-      !!----------------------------------------------------------------------
-      
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'dyn_zad : arakawa advection scheme'
-         IF(lwp) WRITE(numout,*) '~~~~~~~   Auto-tasking case, j-slab, no vector opt.'
-      ENDIF
-
-      IF( l_trddyn )   THEN         ! Save ua and va trends
-         ztrdu(:,:,:) = ua(:,:,:) 
-         ztrdv(:,:,:) = va(:,:,:) 
-      ENDIF
-
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-         DO jk = 2, jpkm1         ! Vertical momentum advection at uw and vw-pts
-            DO ji = 2, jpi              ! vertical fluxes 
-               zww(ji) = 0.25 * e1t(ji,jj) * e2t(ji,jj) * wn(ji,jj,jk)
-            END DO
-            DO ji = 2, jpim1            ! vertical momentum advection at w-point
-               zvn = 0.25 * e1t(ji,jj+1) * e2t(ji,jj+1) * wn(ji,jj+1,jk)
-               zwuw(ji,jj,jk) = ( zww(ji+1) + zww(ji) ) * ( un(ji,jj,jk-1)-un(ji,jj,jk) )
-               zwvw(ji,jj,jk) = ( zvn       + zww(ji) ) * ( vn(ji,jj,jk-1)-vn(ji,jj,jk) )
-            END DO  
-         END DO   
-         DO ji = 2, jpim1               ! Surface and bottom values set to zero
-            zwuw(ji,jj, 1 ) = 0.e0
-            zwvw(ji,jj, 1 ) = 0.e0
-            zwuw(ji,jj,jpk) = 0.e0
-            zwvw(ji,jj,jpk) = 0.e0
-         END DO  
-         !
-         DO jk = 1, jpkm1         ! Vertical momentum advection at u- and v-points
-            DO ji = 2, jpim1
-               !                        ! vertical momentum advective trends
-               zua = - ( zwuw(ji,jj,jk) + zwuw(ji,jj,jk+1) ) / ( e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) )
-               zva = - ( zwvw(ji,jj,jk) + zwvw(ji,jj,jk+1) ) / ( e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) )
-               !                        ! add the trends to the general momentum trends
-               ua(ji,jj,jk) = ua(ji,jj,jk) + zua
-               va(ji,jj,jk) = va(ji,jj,jk) + zva
-            END DO  
-         END DO  
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-      !
-      IF( l_trddyn ) THEN         ! save the vertical advection trends for diagnostic
-         ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:)
-         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:)
-         CALL trd_mod( ztrdu, ztrdv, jpdyn_trd_zad, 'DYN', kt )
-      ENDIF
-      !                           ! Control print
-      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ua, clinfo1=' zad  - Ua: ', mask1=umask,   &
-         &                       tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn' )
-      !
-   END SUBROUTINE dyn_zad
-
-#else
-   !!----------------------------------------------------------------------
-   !!   Default option                             k-j-i loop (vector opt.)
-   !!----------------------------------------------------------------------
-
    SUBROUTINE dyn_zad ( kt )
       !!----------------------------------------------------------------------
@@ -162,5 +68,4 @@
          IF(lwp)WRITE(numout,*)
          IF(lwp)WRITE(numout,*) 'dyn_zad : arakawa advection scheme'
-         IF(lwp)WRITE(numout,*) '~~~~~~~   vector optimization k-j-i loop'
       ENDIF
 
@@ -215,5 +120,4 @@
       !
    END SUBROUTINE dyn_zad
-#endif
 
    !!======================================================================
Index: /trunk/NEMO/OPA_SRC/DYN/dynzdf.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynzdf.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/DYN/dynzdf.F90	(revision 789)
@@ -17,5 +17,4 @@
    USE dynzdf_exp      ! vertical diffusion: explicit (dyn_zdf_exp     routine)
    USE dynzdf_imp      ! vertical diffusion: implicit (dyn_zdf_imp     routine)
-   USE dynzdf_imp_jki  ! vertical diffusion  implicit (dyn_zdf_imp_jki routine)
 
    USE ldfdyn_oce      ! ocean dynamics: lateral physics
@@ -74,6 +73,5 @@
       !
       CASE ( 0 )   ;   CALL dyn_zdf_exp    ( kt, r2dt )      ! explicit scheme
-      CASE ( 1 )   ;   CALL dyn_zdf_imp    ( kt, r2dt )      ! implicit scheme (k-j-i loop)
-      CASE ( 2 )   ;   CALL dyn_zdf_imp_jki( kt, r2dt )      ! implicit scheme (j-k-i loop)
+      CASE ( 1 )   ;   CALL dyn_zdf_imp    ( kt, r2dt )      ! implicit scheme
       !
       CASE ( -1 )                                      ! esopa: test all possibility with control print
@@ -83,7 +81,4 @@
                        CALL dyn_zdf_imp    ( kt, r2dt )
                        CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf1 - Ua: ', mask1=umask,               &
-            &                        tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' )
-                       CALL dyn_zdf_imp_jki( kt, r2dt )
-                       CALL prt_ctl( tab3d_1=ua, clinfo1=' zdf2 - Ua: ', mask1=umask,               &
             &                        tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' )
       END SELECT
@@ -109,5 +104,4 @@
       !! ** Method  :   implicit (euler backward) scheme (default)
       !!                explicit (time-splitting) scheme if ln_zdfexp=T
-      !!                OpenMP / NEC autotasking: use j-k-i loops
       !!----------------------------------------------------------------------
       USE zdftke
@@ -125,9 +119,4 @@
       IF( ln_dynldf_hor .AND. ln_sco )   nzdf = 1   ! horizontal lateral physics in s-coordinate
 
-      ! OpenMP / NEC autotasking
-#if defined key_mpp_omp
-      IF( nzdf == 1 )   nzdf = 2                    ! j-k-i loop
-#endif
-
       IF( lk_esopa )    nzdf = -1                   ! Esopa key: All schemes used
 
@@ -139,5 +128,4 @@
          IF( nzdf ==  0 )   WRITE(numout,*) '              Explicit time-splitting scheme'
          IF( nzdf ==  1 )   WRITE(numout,*) '              Implicit (euler backward) scheme'
-         IF( nzdf ==  2 )   WRITE(numout,*) '              Implicit (euler backward) scheme with j-k-i loops'
       ENDIF
       !
Index: unk/NEMO/OPA_SRC/DYN/dynzdf_imp_jki.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/dynzdf_imp_jki.F90	(revision 788)
+++ 	(revision )
@@ -1,264 +1,0 @@
-MODULE dynzdf_imp_jki
-   !!==============================================================================
-   !!                    ***  MODULE  dynzdf_imp_jki  ***
-   !! Ocean dynamics:  vertical component(s) of the momentum mixing trend
-   !!==============================================================================
-   !! History : 8.5  !  02-08  (G. Madec)  auto-tasking option
-   !!----------------------------------------------------------------------
-
-   !!----------------------------------------------------------------------
-   !!   dyn_zdf_imp_jki : update the momentum trend with the vertical
-   !!                     diffusion using an implicit time-stepping and
-   !!                     j-k-i loops.
-   !!----------------------------------------------------------------------
-   !! * Modules used
-   USE oce             ! ocean dynamics and tracers
-   USE dom_oce         ! ocean space and time domain
-   USE phycst          ! physical constants
-   USE zdf_oce         ! ocean vertical physics
-   USE in_out_manager  ! I/O manager
-   USE taumod          ! surface ocean stress
-
-   IMPLICIT NONE
-   PRIVATE
-
-   !! * Routine accessibility
-   PUBLIC dyn_zdf_imp_jki     ! called by step.F90
-
-   !! * Substitutions
-#  include "domzgr_substitute.h90"
-#  include "vectopt_loop_substitute.h90"
-   !!----------------------------------------------------------------------
-   !!   OPA 9.0 , LOCEAN-IPSL (2005) 
-   !! $Header$ 
-   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-
-CONTAINS
-
-   SUBROUTINE dyn_zdf_imp_jki( kt, p2dt )
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE dyn_zdf_imp_jki  ***
-      !!                   
-      !! ** Purpose :   Compute the trend due to the vert. momentum diffusion
-      !!      and the surface forcing, and add it to the general trend of 
-      !!      the momentum equations.
-      !!
-      !! ** Method  :   The vertical momentum mixing trend is given by :
-      !!             dz( avmu dz(u) ) = 1/e3u dk+1( avmu/e3uw dk(ua) )
-      !!      backward time stepping
-      !!      Surface boundary conditions: wind stress input
-      !!      Bottom boundary conditions : bottom stress (cf zdfbfr.F)
-      !!      Add this trend to the general trend ua :
-      !!         ua = ua + dz( avmu dz(u) )
-      !!
-      !! ** Action : - Update (ua,va) arrays with the after vertical diffusive
-      !!               mixing trend.
-      !!---------------------------------------------------------------------
-      !! * Arguments
-      INTEGER , INTENT( in ) ::   kt                          ! ocean time-step index
-      REAL(wp), INTENT( in ) ::   p2dt                        ! ocean time-step index
-
-      !! * Local declarations
-      INTEGER ::   ji, jj, jk                                 ! dummy loop indices
-      INTEGER ::   ikst, ikenm2, ikstp1                       ! temporary integers
-      REAL(wp) ::  zrau0r, z2dtf, zcoef, zzws                 ! temporary scalars
-      REAL(wp), DIMENSION(jpi,jpk) ::  zwx, zwy, zwz,       & ! workspace
-         &                             zwd, zws, zwi, zwt
-      !!----------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'dyn_zdf_imp_jki : vertical momentum diffusion implicit operator'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~   auto-task case (j-k-i loop)'
-      ENDIF
-
-
-      ! 0. Local constant initialization
-      ! --------------------------------
-      zrau0r = 1. / rau0      ! inverse of the reference density
-
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-         ! 1. Vertical diffusion on u
-         ! ---------------------------
-
-         ! Matrix and second member construction
-         ! bottom boundary condition: only zws must be masked as avmu can take
-         ! non zero value at the ocean bottom depending on the bottom friction
-         ! used (see zdfmix.F)
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               zcoef = - p2dt / fse3u(ji,jj,jk)
-               zwi(ji,jk) = zcoef * avmu(ji,jj,jk  ) / fse3uw(ji,jj,jk  )
-               zzws       = zcoef * avmu(ji,jj,jk+1) / fse3uw(ji,jj,jk+1)
-               zws(ji,jk) = zzws * umask(ji,jj,jk+1)
-               zwd(ji,jk) = 1. - zwi(ji,jk) - zzws
-               zwy(ji,jk) = ub(ji,jj,jk) + p2dt * ua(ji,jj,jk)
-            END DO
-         END DO
-
-         ! Surface boudary conditions
-         DO ji = 2, jpim1
-            z2dtf = p2dt / ( fse3u(ji,jj,1)*rau0 )
-            zwi(ji,1) = 0.
-            zwd(ji,1) = 1. - zws(ji,1)
-            zwy(ji,1) = zwy(ji,1) + z2dtf * taux(ji,jj)
-         END DO
-
-         ! Matrix inversion starting from the first level
-         ikst = 1
-!!----------------------------------------------------------------------
-!!         ZDF.MATRIXSOLVER
-!!       ********************
-!!----------------------------------------------------------------------
-!! Matrix inversion
-!   solve m.x = y  where m is a tri diagonal matrix ( jpk*jpk )
-!
-!        ( zwd1 zws1   0    0    0  )( zwx1 ) ( zwy1 )
-!        ( zwi2 zwd2 zws2   0    0  )( zwx2 ) ( zwy2 )
-!        (  0   zwi3 zwd3 zws3   0  )( zwx3 )=( zwy3 )
-!        (        ...               )( ...  ) ( ...  )
-!        (  0    0    0   zwik zwdk )( zwxk ) ( zwyk )
-!
-!   m is decomposed in the product of an upper and lower triangular
-!   matrix
-!   The 3 diagonal terms are in 2d arrays: zwd, zws, zwi
-!   The second member is in 2d array zwy
-!   The solution is in 2d array zwx
-!   The 2d arry zwt and zwz are work space arrays
-!
-!   N.B. the starting vertical index (ikst) is equal to 1 except for
-!   the resolution of tke matrix where surface tke value is prescribed
-!   so that ikstrt=2.
-!!----------------------------------------------------------------------
-
-         ikstp1 = ikst + 1
-         ikenm2 = jpk - 2
-         DO ji = 2, jpim1
-            zwt(ji,ikst) = zwd(ji,ikst)
-         END DO
-         DO jk = ikstp1, jpkm1
-            DO ji = 2, jpim1
-               zwt(ji,jk) = zwd(ji,jk) - zwi(ji,jk) * zws(ji,jk-1) / zwt(ji,jk-1)
-            END DO
-         END DO
-         DO ji = 2, jpim1
-            zwz(ji,ikst) = zwy(ji,ikst)
-         END DO
-         DO jk = ikstp1, jpkm1
-            DO ji = 2, jpim1
-               zwz(ji,jk) = zwy(ji,jk) - zwi(ji,jk) / zwt(ji,jk-1) * zwz(ji,jk-1)
-            END DO
-         END DO
-         DO ji = 2, jpim1
-            zwx(ji,jpkm1) = zwz(ji,jpkm1) / zwt(ji,jpkm1)
-         END DO
-         DO jk = ikenm2, ikst, -1
-            DO ji = 2, jpim1
-            zwx(ji,jk) =( zwz(ji,jk) - zws(ji,jk) * zwx(ji,jk+1) ) / zwt(ji,jk)
-            END DO
-         END DO
-      
-         ! Normalization to obtain the general momentum trend ua
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               ua(ji,jj,jk) = ( zwx(ji,jk) - ub(ji,jj,jk) ) / p2dt
-            END DO
-         END DO
-
-
-         ! 2. Vertical diffusion on v
-         ! ---------------------------
-         ! Matrix and second member construction
-         ! bottom boundary condition: only zws must be masked as avmv can take
-         ! non zero value at the ocean bottom depending on the bottom friction
-         ! used (see zdfmix.F)
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               zcoef = -p2dt/fse3v(ji,jj,jk)
-               zwi(ji,jk) = zcoef * avmv(ji,jj,jk  ) / fse3vw(ji,jj,jk  )
-               zzws       = zcoef * avmv(ji,jj,jk+1) / fse3vw(ji,jj,jk+1)
-               zws(ji,jk) =  zzws * vmask(ji,jj,jk+1)
-               zwd(ji,jk) = 1. - zwi(ji,jk) - zzws
-               zwy(ji,jk) = vb(ji,jj,jk) + p2dt * va(ji,jj,jk)
-            END DO
-         END DO
-
-         ! Surface boudary conditions
-         DO ji = 2, jpim1
-            z2dtf = p2dt / ( fse3v(ji,jj,1)*rau0 )
-            zwi(ji,1) = 0.e0
-            zwd(ji,1) = 1. - zws(ji,1)
-            zwy(ji,1) = zwy(ji,1) + z2dtf * tauy(ji,jj)
-         END DO
-
-         ! Matrix inversion starting from the first level
-         ikst = 1
-!!----------------------------------------------------------------------
-!!         ZDF.MATRIXSOLVER
-!!       ********************
-!!----------------------------------------------------------------------
-!! Matrix inversion
-!   solve m.x = y  where m is a tri diagonal matrix ( jpk*jpk )
-!
-!        ( zwd1 zws1   0    0    0  )( zwx1 ) ( zwy1 )
-!        ( zwi2 zwd2 zws2   0    0  )( zwx2 ) ( zwy2 )
-!        (  0   zwi3 zwd3 zws3   0  )( zwx3 )=( zwy3 )
-!        (        ...               )( ...  ) ( ...  )
-!        (  0    0    0   zwik zwdk )( zwxk ) ( zwyk )
-!
-!   m is decomposed in the product of an upper and lower triangular
-!   matrix
-!   The 3 diagonal terms are in 2d arrays: zwd, zws, zwi
-!   The second member is in 2d array zwy
-!   The solution is in 2d array zwx
-!   The 2d arry zwt and zwz are work space arrays
-!
-!   N.B. the starting vertical index (ikst) is equal to 1 except for
-!   the resolution of tke matrix where surface tke value is prescribed
-!   so that ikstrt=2.
-!!----------------------------------------------------------------------
-
-         ikstp1 = ikst + 1
-         ikenm2 = jpk - 2
-         DO ji = 2, jpim1
-            zwt(ji,ikst) = zwd(ji,ikst)
-         END DO
-         DO jk = ikstp1, jpkm1
-            DO ji = 2, jpim1
-               zwt(ji,jk) = zwd(ji,jk) - zwi(ji,jk) * zws(ji,jk-1) / zwt(ji,jk-1)
-            END DO
-         END DO
-         DO ji = 2, jpim1
-            zwz(ji,ikst) = zwy(ji,ikst)
-         END DO
-         DO jk = ikstp1, jpkm1
-            DO ji = 2, jpim1
-               zwz(ji,jk) = zwy(ji,jk) - zwi(ji,jk) / zwt(ji,jk-1) * zwz(ji,jk-1)
-            END DO
-         END DO
-         DO ji = 2, jpim1
-            zwx(ji,jpkm1) = zwz(ji,jpkm1) / zwt(ji,jpkm1)
-         END DO
-         DO jk = ikenm2, ikst, -1
-            DO ji = 2, jpim1
-               zwx(ji,jk) =( zwz(ji,jk) - zws(ji,jk) * zwx(ji,jk+1) ) / zwt(ji,jk)
-            END DO
-         END DO
-      
-         ! Normalization to obtain the general momentum trend va
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               va(ji,jj,jk) = ( zwx(ji,jk) - vb(ji,jj,jk) ) / p2dt
-            END DO
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-   END SUBROUTINE dyn_zdf_imp_jki
-
-   !!==============================================================================
-END MODULE dynzdf_imp_jki
Index: /trunk/NEMO/OPA_SRC/DYN/wzvmod.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DYN/wzvmod.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/DYN/wzvmod.F90	(revision 789)
@@ -36,59 +36,4 @@
 
 CONTAINS
-
-#if defined key_mpp_omp
-   !!----------------------------------------------------------------------
-   !!   'key_mpp_omp'                                   j-k-i loop (j-slab)
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE wzv( kt )
-      !!----------------------------------------------------------------------
-      !!                    ***  ROUTINE wzv  ***
-      !!                     
-      !! ** Purpose :   Compute the now vertical velocity after the array swap
-      !!
-      !! ** Method  :   Using the incompressibility hypothesis, the vertical
-      !!     velocity is computed by integrating the horizontal divergence 
-      !!     from the bottom to the surface.
-      !!     The boundary conditions are w=0 at the bottom (no flux) and,
-      !!     in rigid-lid case, w=0 at the sea surface.
-      !!
-      !! ** action  :    wn array : the now vertical velocity
-      !!----------------------------------------------------------------------
-      !! * Arguments
-      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index
-
-      !! * Local declarations
-      INTEGER ::   jj, jk      ! dummy loop indices
-      !!----------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'wzv     : vertical velocity from continuity eq.'
-         IF(lwp) WRITE(numout,*) '~~~~~~~                     j-k-i loops'
-
-         ! bottom boundary condition: w=0 (set once for all)
-         wn(:,:,jpk) = 0.e0
-      ENDIF
-
-      !                                                ! ===============
-      DO jj = 1, jpj                                   !  Vertical slab
-         !                                             ! ===============
-         ! Computation from the bottom
-         DO jk = jpkm1, 1, -1
-            wn(:,jj,jk) = wn(:,jj,jk+1) - fse3t(:,jj,jk) * hdivn(:,jj,jk)
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-      IF(ln_ctl)   CALL prt_ctl(tab3d_1=wn, clinfo1=' w**2 -   : ', mask1=wn)
-
-   END SUBROUTINE wzv
-
-#else
-   !!----------------------------------------------------------------------
-   !!   Default option                                           k-j-i loop
-   !!----------------------------------------------------------------------
 
    SUBROUTINE wzv( kt )
@@ -189,5 +134,4 @@
 
    END SUBROUTINE wzv
-#endif
 
    !!======================================================================
Index: /trunk/NEMO/OPA_SRC/LDF/ldfeiv.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/LDF/ldfeiv.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/LDF/ldfeiv.F90	(revision 789)
@@ -10,6 +10,4 @@
    !!----------------------------------------------------------------------
    !!   ldf_eiv      : compute the eddy induced velocity coefficients
-   !!                  Same results but not same routine if 'key_mpp_omp'
-   !!                  is defined or not
    !!----------------------------------------------------------------------
    !! * Modules used
@@ -40,166 +38,4 @@
 
 CONTAINS
-
-# if defined key_mpp_omp
-   !!----------------------------------------------------------------------
-   !!   'key_mpp_omp' :                  OpenMP /  NEC autotasking (j-slab)
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE ldf_eiv( kt )
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE ldf_eiv  ***
-      !!
-      !! ** Purpose :   Compute the eddy induced velocity coefficient from the
-      !!      growth rate of baroclinic instability.
-      !!
-      !! ** Method :
-      !!
-      !! ** Action :   uslp(),   : i- and j-slopes of neutral surfaces
-      !!               vslp()      at u- and v-points, resp.
-      !!               wslpi(),  : i- and j-slopes of neutral surfaces
-      !!               wslpj()     at w-points. 
-      !!
-      !! History :
-      !!   8.1  !  99-03  (G. Madec, A. Jouzeau)  Original code
-      !!   8.5  !  02-06  (G. Madec)  Free form, F90
-      !!----------------------------------------------------------------------
-      !! * Arguments
-      INTEGER, INTENT( in ) ::   kt     ! ocean time-step inedx
-      
-      !! * Local declarations
-      INTEGER ::   ji, jj, jk           ! dummy loop indices
-      REAL(wp) ::   &
-         zfw, ze3w, zn2, zf20,       &  ! temporary scalars
-         zaht, zaht_min
-      REAL(wp), DIMENSION(jpi,jpj) ::   &
-         zn, zah, zhw, zross            ! workspace
-      !!----------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'ldf_eiv : eddy induced velocity coefficients'
-         IF(lwp) WRITE(numout,*) '~~~~~~~   NEC autotasking / OpenMP : j-slab'
-      ENDIF
-      
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-         
-         ! 0. Local initialization
-         ! -----------------------
-         zn   (:,jj) = 0.e0
-         zhw  (:,jj) = 5.e0
-         zah  (:,jj) = 0.e0
-         zross(:,jj) = 0.e0
-         
-         ! 1. Compute lateral diffusive coefficient 
-         ! ----------------------------------------
-
-!CDIR NOVERRCHK 
-         DO jk = 1, jpk
-!CDIR NOVERRCHK 
-            DO ji = 2, jpim1
-               ! Take the max of N^2 and zero then take the vertical sum 
-               ! of the square root of the resulting N^2 ( required to compute 
-               ! internal Rossby radius Ro = .5 * sum_jpk(N) / f 
-               zn2 = MAX( rn2(ji,jj,jk), 0.e0 )
-               ze3w = fse3w(ji,jj,jk) * tmask(ji,jj,jk)
-               zn(ji,jj) = zn(ji,jj) + SQRT( zn2 ) * fse3w(ji,jj,jk)
-               ! Compute elements required for the inverse time scale of baroclinic
-               ! eddies using the isopycnal slopes calculated in ldfslp.F : 
-               ! T^-1 = sqrt(m_jpk(N^2*(r1^2+r2^2)*e3w))
-               zah(ji,jj) = zah(ji,jj) + zn2   &
-                              * ( wslpi(ji,jj,jk) * wslpi(ji,jj,jk)    &
-                                + wslpj(ji,jj,jk) * wslpj(ji,jj,jk) )   &
-                              * ze3w
-               zhw(ji,jj) = zhw(ji,jj) + ze3w
-            END DO 
-         END DO 
- 
-!CDIR NOVERRCHK 
-         DO ji = 2, jpim1
-            zfw = MAX( ABS( 2. * omega * SIN( rad * gphit(ji,jj) ) ) , 1.e-10 )
-            ! Rossby radius at w-point taken < 40km and  > 2km
-            zross(ji,jj) = MAX( MIN( .4 * zn(ji,jj) / zfw, 40.e3 ), 2.e3 )
-            ! Compute aeiw by multiplying Ro^2 and T^-1
-            aeiw(ji,jj) = zross(ji,jj) * zross(ji,jj) * SQRT( zah(ji,jj) / zhw(ji,jj) ) * tmask(ji,jj,1)
-            IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN   ! ORCA R02
-               ! Take the minimum between aeiw and aeiv0 for depth levels
-               ! lower than 20 (21 in w- point)
-               IF( mbathy(ji,jj) <= 21. ) aeiw(ji,jj) = MIN( aeiw(ji,jj), 1000. )
-            ENDIF
-         END DO
-
-         ! Decrease the coefficient in the tropics (20N-20S) 
-         zf20 = 2. * omega * sin( rad * 20. )
-         DO ji = 2, jpim1
-            aeiw(ji,jj) = MIN( 1., ABS( ff(ji,jj) / zf20 ) ) * aeiw(ji,jj)
-         END DO
-  
-         ! ORCA R05: Take the minimum between aeiw and aeiv0
-         IF( cp_cfg == "orca" .AND. jp_cfg == 05 ) THEN   ! ORCA R05
-            DO ji = 2, jpim1
-               aeiw(ji,jj) = MIN( aeiw(ji,jj), aeiv0 )
-            END DO
-         ENDIF
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-      !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,synchro,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-
-      ! lateral boundary condition on aeiw 
-      CALL lbc_lnk( aeiw, 'W', 1. )
-
-      ! Average the diffusive coefficient at u- v- points 
-      DO jj = 2, jpjm1
-         DO ji = fs_2, fs_jpim1   ! vector opt.
-            aeiu(ji,jj) = .5 * (aeiw(ji,jj) + aeiw(ji+1,jj  ))
-            aeiv(ji,jj) = .5 * (aeiw(ji,jj) + aeiw(ji  ,jj+1))
-         END DO 
-      END DO 
-      !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,synchro,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-
-      ! lateral boundary condition on aeiu, aeiv 
-      CALL lbc_lnk( aeiu, 'U', 1. )
-      CALL lbc_lnk( aeiv, 'V', 1. )
-
-      IF(ln_ctl)   THEN
-         CALL prt_ctl(tab2d_1=aeiu, clinfo1=' eiv  - u: ', ovlap=1)
-         CALL prt_ctl(tab2d_1=aeiv, clinfo1=' eiv  - v: ', ovlap=1)
-      ENDIF
-      
-      ! ORCA R05: add a space variation on aht (=aeiv except at the equator and river mouth)
-      IF( cp_cfg == "orca" .AND. jp_cfg == 05 ) THEN
-         zf20     = 2. * omega * SIN( rad * 20. )
-         zaht_min = 100.                              ! minimum value for aht
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               zaht      = ( 1. -  MIN( 1., ABS( ff(ji,jj) / zf20 ) ) ) * ( aht0 - zaht_min )  &
-                  &      + aht0 * upsrnfh(ji,jj)                          ! enhanced near river mouths
-               ahtu(ji,jj) = MAX( MAX( zaht_min, aeiu(ji,jj) ) + zaht, aht0 )
-               ahtv(ji,jj) = MAX( MAX( zaht_min, aeiv(ji,jj) ) + zaht, aht0 )
-               ahtw(ji,jj) = MAX( MAX( zaht_min, aeiw(ji,jj) ) + zaht, aht0 )
-            END DO
-         END DO
-         IF(ln_ctl) THEN
-            CALL prt_ctl(tab2d_1=ahtu, clinfo1=' aht  - u: ', ovlap=1)
-            CALL prt_ctl(tab2d_1=ahtv, clinfo1=' aht  - v: ', ovlap=1)
-            CALL prt_ctl(tab2d_1=ahtw, clinfo1=' aht  - w: ', ovlap=1)
-         ENDIF
-      ENDIF
-
-      IF( aeiv0 == 0.e0 ) THEN
-         aeiu(:,:) = 0.e0
-         aeiv(:,:) = 0.e0
-         aeiw(:,:) = 0.e0
-      ENDIF
-
-   END SUBROUTINE ldf_eiv
-
-# else
-   !!----------------------------------------------------------------------
-   !!   Default key                                             k-j-i loops
-   !!----------------------------------------------------------------------
 
    SUBROUTINE ldf_eiv( kt )
@@ -251,5 +87,5 @@
 
       DO jk = 1, jpk
-#  if defined key_vectopt_loop  &&  ! defined key_mpp_omp
+#  if defined key_vectopt_loop  
 !CDIR NOVERRCHK 
          DO ji = 1, jpij   ! vector opt.
@@ -373,6 +209,4 @@
    END SUBROUTINE ldf_eiv
 
-# endif
-
 #else
    !!----------------------------------------------------------------------
Index: /trunk/NEMO/OPA_SRC/LDF/ldfslp.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/LDF/ldfslp.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/LDF/ldfslp.F90	(revision 789)
@@ -139,5 +139,5 @@
 
       IF( ln_zps ) THEN      ! partial steps correction at the bottom ocean level (zps_hde routine)
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop  
          jj = 1
          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -151,5 +151,5 @@
                zgru(ji,jj,iku) = gru(ji,jj) 
                zgrv(ji,jj,ikv) = grv(ji,jj)               
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop 
             END DO
 # endif
@@ -490,5 +490,5 @@
       ! mask for mixed layer
       DO jk = 1, jpk
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
          DO ji = 1, jpij   ! vector opt. (forced unrolling)
@@ -504,5 +504,5 @@
                   omlmask(ji,jj,jk) = 0.e0
                ENDIF
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
             END DO
 # endif
@@ -522,5 +522,5 @@
       zwy(:,jpj) = 0.e0
       zwy(jpi,:) = 0.e0
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -535,5 +535,5 @@
                &             * ( pn2(ji,jj,ik) + pn2(ji,jj,ik+1) )   &
                &             / MAX( tmask(ji,jj,ik) + tmask (ji,jj,ik+1), 1. )
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
          END DO
 # endif
@@ -543,5 +543,5 @@
 
       ! Slope at u points
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
       jj = 1
       DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling)
@@ -560,5 +560,5 @@
             ! uslpml
             uslpml (ji,jj) = zau / ( zbu - zeps ) * umask (ji,jj,ik)
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
          END DO
 # endif
@@ -572,5 +572,5 @@
       zwy ( :, jpj) = 0.e0
       zwy ( jpi, :) = 0.e0
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -584,5 +584,5 @@
                &             * ( pn2(ji,jj,ik) + pn2(ji,jj,ik+1) )   &
                &             / MAX( tmask(ji,jj,ik) + tmask (ji,jj,ik+1), 1. )
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
          END DO
 # endif
@@ -593,5 +593,5 @@
 
       ! Slope at v points
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
       jj = 1
       DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling)
@@ -610,5 +610,5 @@
             ! vslpml
             vslpml (ji,jj) = zav / ( zbv - zeps ) * vmask (ji,jj,ik)
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
          END DO
 # endif
@@ -624,5 +624,5 @@
       ! Local vertical density gradient evaluated from N^2
       ! zwy = d/dz(prd)= - mk ( prd ) / grav * pn2 -- at w point
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij   ! vector opt. (forced unrolling)
@@ -636,5 +636,5 @@
             zwy (ji,jj) = zm05g * pn2 (ji,jj,ik) *     &
                &             ( prd (ji,jj,ik) + prd (ji,jj,ikm1) + 2. )
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
          END DO
 # endif
@@ -642,5 +642,5 @@
 
       ! Slope at w point
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
       jj = 1
       DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling)
@@ -672,5 +672,5 @@
             wslpiml (ji,jj) = zai / ( zbi - zeps) * tmask (ji,jj,ik)
             wslpjml (ji,jj) = zaj / ( zbj - zeps) * tmask (ji,jj,ik)
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
          END DO
 # endif
Index: /trunk/NEMO/OPA_SRC/SBC/flxblk.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/SBC/flxblk.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/SBC/flxblk.F90	(revision 789)
@@ -412,5 +412,5 @@
 
       DO jt = 1, jpintsr 
-#   if defined key_vectopt_loop && ! defined key_mpp_omp
+#   if defined key_vectopt_loop 
          DO ji = 1, jpij  
             zalbocsd(ji,1) = zalbocsd(ji,1) + zdlha   (ji,1) * zalbocs(ji,1,jt)   &
Index: /trunk/NEMO/OPA_SRC/TRA/traadv.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/traadv.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/traadv.F90	(revision 789)
@@ -14,5 +14,4 @@
    USE dom_oce         ! ocean space and time domain
    USE traadv_cen2     ! 2nd order centered scheme (tra_adv_cen2   routine)
-   USE traadv_cen2_jki ! 2nd order centered scheme (tra_adv_cen2   routine)
    USE traadv_tvd      ! TVD      scheme           (tra_adv_tvd    routine)
    USE traadv_muscl    ! MUSCL    scheme           (tra_adv_muscl  routine)
@@ -88,6 +87,5 @@
 
       SELECT CASE ( nadv )                           ! compute advection trend and add it to general trend
-      CASE ( 0 )   ;   CALL tra_adv_cen2    ( kt, zun, zvn, zwn )    ! 2nd order centered scheme k-j-i loops
-      CASE ( 1 )   ;   CALL tra_adv_cen2_jki( kt, zun, zvn, zwn )    ! 2nd order centered scheme
+      CASE ( 1 )   ;   CALL tra_adv_cen2    ( kt, zun, zvn, zwn )    ! 2nd order centered scheme
       CASE ( 2 )   ;   CALL tra_adv_tvd     ( kt, zun, zvn, zwn )    ! TVD      scheme
       CASE ( 3 )   ;   CALL tra_adv_muscl   ( kt, zun, zvn, zwn )    ! MUSCL    scheme
@@ -99,7 +97,4 @@
                        CALL tra_adv_cen2    ( kt, zun, zvn, zwn )
                        CALL prt_ctl( tab3d_1=ta, clinfo1=' adv0 - Ta: ', mask1=tmask,               &
-            &                        tab3d_2=sa, clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' )
-                       CALL tra_adv_cen2_jki( kt, zun, zvn, zwn )
-                       CALL prt_ctl( tab3d_1=ta, clinfo1=' adv1 - Ta: ', mask1=tmask,               &
             &                        tab3d_2=sa, clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' )
                        CALL tra_adv_tvd     ( kt, zun, zvn, zwn )
@@ -171,8 +166,5 @@
 
       !                              ! Set nadv
-      IF( ln_traadv_cen2   )   nadv =  0
-#if defined key_mpp_omp
       IF( ln_traadv_cen2   )   nadv =  1
-#endif
       IF( ln_traadv_tvd    )   nadv =  2
       IF( ln_traadv_muscl  )   nadv =  3
@@ -184,12 +176,10 @@
       IF(lwp) THEN                   ! Print the choice
          WRITE(numout,*)
-         IF( nadv ==  0 )   WRITE(numout,*) '         2nd order scheme is used'
-         IF( nadv ==  1 )   WRITE(numout,*) '         2nd order scheme is usedi, k-j-i case'
+         IF( nadv ==  1 )   WRITE(numout,*) '         2nd order scheme is used'
          IF( nadv ==  2 )   WRITE(numout,*) '         TVD       scheme is used'
          IF( nadv ==  3 )   WRITE(numout,*) '         MUSCL     scheme is used'
          IF( nadv ==  4 )   WRITE(numout,*) '         MUSCL2    scheme is used'
          IF( nadv ==  5 )   WRITE(numout,*) '         UBS       scheme is used'
-         IF( nadv ==  6 )   WRITE(numout,*) '         PPM       scheme is used'
-         IF( nadv ==  7 )   WRITE(numout,*) '         QUICKEST  scheme is used'
+         IF( nadv ==  6 )   WRITE(numout,*) '         QUICKEST  scheme is used'
          IF( nadv == -1 )   WRITE(numout,*) '         esopa test: use all advection scheme'
       ENDIF
Index: /trunk/NEMO/OPA_SRC/TRA/traadv_cen2.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/traadv_cen2.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/traadv_cen2.F90	(revision 789)
@@ -13,5 +13,4 @@
    !!   tra_adv_cen2 : update the tracer trend with the horizontal and
    !!                  vertical advection trends using a seconder order
-   !!                  centered scheme. (k-j-i loops)
    !!----------------------------------------------------------------------
    USE oce             ! ocean dynamics and active tracers
Index: unk/NEMO/OPA_SRC/TRA/traadv_cen2_jki.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/traadv_cen2_jki.F90	(revision 788)
+++ 	(revision )
@@ -1,391 +1,0 @@
-MODULE traadv_cen2_jki
-   !!==============================================================================
-   !!                       ***  MODULE  traadv_cen2_jki  ***
-   !! Ocean active tracers:  horizontal & vertical advective trend
-   !!==============================================================================
-   !! History :  8.2  !  01-08  (G. Madec, E. Durand)  trahad+trazad = traadv
-   !!            8.5  !  02-06  (G. Madec)  F90: Free form and module
-   !!            9.0  !  05-11  (V. Garnier) Surface pressure gradient organization
-   !!            " "  !  06-04  (R. Benshila, G. Madec) Step reorganization
-   !!----------------------------------------------------------------------
-
-   !!----------------------------------------------------------------------
-   !!   tra_adv_cen2_jki : update the tracer trend with the horizontal and
-   !!                  vertical advection trends using a seconder order
-   !!                  centered scheme. Auto-tasking case, k-slab for
-   !!                  hor. adv., j-slab for vert. adv. (j-k-i loops)
-   !!----------------------------------------------------------------------
-   USE oce             ! ocean dynamics and active tracers
-   USE dom_oce         ! ocean space and time domain
-   USE trdmod          ! ocean active tracers trends
-   USE trdmod_oce      ! ocean variables trends
-   USE flxrnf          !
-   USE trabbl          ! advective term in the BBL
-   USE ocfzpt          !
-   USE lib_mpp
-   USE lbclnk          ! ocean lateral boundary condition (or mpp link)
-   USE in_out_manager  ! I/O manager
-   USE diaptr          ! poleward transport diagnostics
-   USE dynspg_oce      ! choice/control of key cpp for surface pressure gradient
-   USE prtctl          ! Print control
-
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC   tra_adv_cen2_jki   ! routine called by step.F90
-
-   REAL(wp), DIMENSION(jpi,jpj) ::   btr2   ! inverse of T-point surface [1/(e1t*e2t)]
-
-   !! * Substitutions
-#  include "domzgr_substitute.h90"
-#  include "vectopt_loop_substitute.h90"
-   !!----------------------------------------------------------------------
-   !!   OPA 9.0 , LOCEAN-IPSL (2005)
-   !! $Header$ 
-   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-
-CONTAINS
-
-   SUBROUTINE tra_adv_cen2_jki( kt, pun, pvn, pwn )
-      !!----------------------------------------------------------------------
-      !!                    ***  ROUTINE tra_adv_cen2_jki  ***
-      !!              
-      !! ** Purpose :   Compute the now trend due to the advection of tracers
-      !!      and add it to the general trend of passive tracer equations.
-      !!
-      !! ** Method  :   The advection is evaluated by a second order centered
-      !!      scheme using now fields (leap-frog scheme). In specific areas
-      !!      (vicinity of major river mouths, some straits, or where tn is
-      !!      approaching the freezing point) it is mixed with an upstream 
-      !!      scheme for stability reasons.
-      !!         Part 0 : compute the upstream / centered flag
-      !!                  (3D array, zind, defined at T-point (0<zind<1))
-      !!         Part I : horizontal advection
-      !!       * centered flux:
-      !!               zcenu = e2u*e3u  un  mi(tn)
-      !!               zcenv = e1v*e3v  vn  mj(tn)
-      !!       * upstream flux:
-      !!               zupsu = e2u*e3u  un  (tb(i) or tb(i-1) ) [un>0 or <0]
-      !!               zupsv = e1v*e3v  vn  (tb(j) or tb(j-1) ) [vn>0 or <0]
-      !!       * mixed upstream / centered horizontal advection scheme
-      !!               zcofi = max(zind(i+1), zind(i))
-      !!               zcofj = max(zind(j+1), zind(j))
-      !!               zwx = zcofi * zupsu + (1-zcofi) * zcenu
-      !!               zwy = zcofj * zupsv + (1-zcofj) * zcenv
-      !!       * horizontal advective trend (divergence of the fluxes)
-      !!               zta = 1/(e1t*e2t*e3t) { di-1[zwx] + dj-1[zwy] }
-      !!       * Add this trend now to the general trend of tracer (ta,sa):
-      !!              (ta,sa) = (ta,sa) + ( zta , zsa )
-      !!       * trend diagnostic ('key_trdtra' defined): the trend is
-      !!      saved for diagnostics. The trends saved is expressed as
-      !!      Uh.gradh(T), i.e.
-      !!                     save trend = zta + tn divn
-      !!         In addition, the advective trend in the two horizontal direc-
-      !!      tion is also re-computed as Uh gradh(T). Indeed hadt+tn divn is
-      !!      equal to (in s-coordinates, and similarly in z-coord.):
-      !!         zta+tn*divn=1/(e1t*e2t*e3t) { mi-1( e2u*e3u  un  di[tn] )
-      !!                                      +mj-1( e1v*e3v  vn  mj[tn] )  }
-      !!         NB:in z-coordinate - full step (ln_zco=T) e3u=e3v=e3t, so 
-      !!      they vanish from the expression of the flux and divergence.
-      !!
-      !!         Part II : vertical advection
-      !!      For temperature (idem for salinity) the advective trend is com-
-      !!      puted as follows :
-      !!            zta = 1/e3t dk+1[ zwz ]
-      !!      where the vertical advective flux, zwz, is given by :
-      !!            zwz = zcofk * zupst + (1-zcofk) * zcent
-      !!      with 
-      !!        zupsv = upstream flux = wn * (tb(k) or tb(k-1) ) [wn>0 or <0]
-      !!        zcenu = centered flux = wn * mk(tn)
-      !!         The surface boundary condition is : 
-      !!      rigid-lid (lk_dynspg_frd = T) : zero advective flux
-      !!      free-surf (lk_dynspg_fsc = T) : wn(:,:,1) * tn(:,:,1)
-      !!         Add this trend now to the general trend of tracer (ta,sa):
-      !!            (ta,sa) = (ta,sa) + ( zta , zsa )
-      !!         Trend diagnostic ('key_trdtra' defined): the trend is
-      !!      saved for diagnostics. The trends saved is expressed as :
-      !!             save trend =  w.gradz(T) = zta - tn divn.
-      !!
-      !! ** Action :  - update (ta,sa) with the now advective tracer trends
-      !!              - save trends in (ztrdt,ztrds) ('key_trdtra')
-      !!----------------------------------------------------------------------
-      USE oce, ONLY :   zwx => ua   ! use ua as workspace
-      USE oce, ONLY :   zwy => va   ! use va as workspace
-      !!
-      INTEGER , INTENT(in)                         ::   kt    ! ocean time-step index
-      REAL(wp), INTENT(in), DIMENSION(jpi,jpj,jpk) ::   pun   ! ocean velocity u-component
-      REAL(wp), INTENT(in), DIMENSION(jpi,jpj,jpk) ::   pvn   ! ocean velocity v-component
-      REAL(wp), INTENT(in), DIMENSION(jpi,jpj,jpk) ::   pwn   ! ocean velocity w-component
-      !!
-      INTEGER  ::   ji, jj, jk                           ! dummy loop indices
-      REAL(wp) ::                           &
-         zbtr, zta, zsa, zfui, zfvj,        &  ! temporary scalars
-         zhw, ze3tr, zcofi, zcofj,          &  !    "         "
-         zupsut, zupsvt, zupsus, zupsvs,    &  !    "         "
-         zfp_ui, zfp_vj, zfm_ui, zfm_vj,    &  !    "         "
-         zcofk, zupst, zupss, zcent,        &  !    "         "
-         zcens, zfp_w, zfm_w,               &  !    "         "
-         zcenut, zcenvt, zcenus, zcenvs,    &  !    "         "
-         z_hdivn_x, z_hdivn_y, z_hdivn
-      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zwz, ztrdt, zind   ! 3D workspace 
-      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zww, ztrds         !  "      "
-      !!----------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'tra_adv_cen2 : 2nd order centered advection scheme'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~   Auto-tasking case'
-         IF(lwp) WRITE(numout,*)
-         !
-         btr2(:,:) = 1. / ( e1t(:,:) * e2t(:,:) )
-      ENDIF
-
-!CDIR PARALLEL DO
-!$OMP PARALLEL DO
-      !                                                ! ===============
-      DO jk = 1, jpkm1                                 ! Horizontal slab
-         !                                             ! ===============
-         !  Upstream / centered scheme indicator
-         ! --------------------------------------
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               zind(ji,jj,jk) =  MAX (              &
-                  upsrnfh(ji,jj) * upsrnfz(jk),     &  ! changing advection scheme near runoff
-                  upsadv(ji,jj)                     &  ! in the vicinity of some straits
-#if defined key_ice_lim
-                  , tmask(ji,jj,jk)                 &  ! half upstream tracer fluxes if tn < ("freezing"+0.1 )
-                  * MAX( 0., SIGN( 1., fzptn(ji,jj)+0.1-tn(ji,jj,jk) ) )   &
-#endif
-               )
-            END DO
-         END DO
-
-         !  Horizontal advective fluxes
-         ! -----------------------------
-         ! Second order centered tracer flux at u and v-points
-         DO jj = 1, jpjm1
-            DO ji = 1, fs_jpim1   ! vector opt.
-               ! upstream indicator
-               zcofi = MAX( zind(ji+1,jj,jk), zind(ji,jj,jk) )
-               zcofj = MAX( zind(ji,jj+1,jk), zind(ji,jj,jk) )
-               ! volume fluxes * 1/2
-#if defined key_zco
-               zfui = 0.5 * e2u(ji,jj) * pun(ji,jj,jk)
-               zfvj = 0.5 * e1v(ji,jj) * pvn(ji,jj,jk)
-#else
-               zfui = 0.5 * e2u(ji,jj) * fse3u(ji,jj,jk) * pun(ji,jj,jk)
-               zfvj = 0.5 * e1v(ji,jj) * fse3v(ji,jj,jk) * pvn(ji,jj,jk)
-#endif
-               ! upstream scheme
-               zfp_ui = zfui + ABS( zfui )
-               zfp_vj = zfvj + ABS( zfvj )
-               zfm_ui = zfui - ABS( zfui )
-               zfm_vj = zfvj - ABS( zfvj )
-               zupsut = zfp_ui * tb(ji,jj,jk) + zfm_ui * tb(ji+1,jj  ,jk)
-               zupsvt = zfp_vj * tb(ji,jj,jk) + zfm_vj * tb(ji  ,jj+1,jk)
-               zupsus = zfp_ui * sb(ji,jj,jk) + zfm_ui * sb(ji+1,jj  ,jk)
-               zupsvs = zfp_vj * sb(ji,jj,jk) + zfm_vj * sb(ji  ,jj+1,jk)
-               ! centered scheme
-               zcenut = zfui * ( tn(ji,jj,jk) + tn(ji+1,jj  ,jk) )
-               zcenvt = zfvj * ( tn(ji,jj,jk) + tn(ji  ,jj+1,jk) )
-               zcenus = zfui * ( sn(ji,jj,jk) + sn(ji+1,jj  ,jk) )
-               zcenvs = zfvj * ( sn(ji,jj,jk) + sn(ji  ,jj+1,jk) )
-               ! mixed centered / upstream scheme
-               zwx(ji,jj,jk) = zcofi * zupsut + (1.-zcofi) * zcenut
-               zwy(ji,jj,jk) = zcofj * zupsvt + (1.-zcofj) * zcenvt
-               zww(ji,jj,jk) = zcofi * zupsus + (1.-zcofi) * zcenus
-               zwz(ji,jj,jk) = zcofj * zupsvs + (1.-zcofj) * zcenvs
-            END DO
-         END DO
-
-         ! Tracer flux divergence at t-point added to the general trend
-         DO jj = 2, jpjm1
-            DO ji = fs_2, fs_jpim1   ! vector opt.
-#if defined key_zco
-               zbtr = btr2(ji,jj) 
-#else
-               zbtr = btr2(ji,jj) / fse3t(ji,jj,jk)
-#endif
-               ! horizontal advective trends
-               zta = - zbtr * (  zwx(ji,jj,jk) - zwx(ji-1,jj  ,jk)   &
-                  &            + zwy(ji,jj,jk) - zwy(ji  ,jj-1,jk)  )
-               zsa = - zbtr * (  zww(ji,jj,jk) - zww(ji-1,jj  ,jk)   &
-                  &            + zwz(ji,jj,jk) - zwz(ji  ,jj-1,jk)  )
-               ! add it to the general tracer trends
-               ta(ji,jj,jk) = ta(ji,jj,jk) + zta
-               sa(ji,jj,jk) = sa(ji,jj,jk) + zsa
-            END DO
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ta, clinfo1=' cen2 had  - Ta: ', mask1=tmask,   &
-         &                       tab3d_2=sa, clinfo2=            ' Sa: ', mask2=tmask, clinfo3='tra' )
-
-      ! Save the horizontal advective trends for diagnostics
-      IF( l_trdtra )   THEN
-         ztrdt(:,:,:) = 0.e0   ;   ztrds(:,:,:) = 0.e0
-         !
-         ! T/S ZONAL advection trends
-         DO jk = 1, jpkm1
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  !-- Compute zonal divergence by splitting hdivn (see divcur.F90)
-                  !   N.B. This computation is not valid along OBCs (if any)
-#if defined key_zco
-                  zbtr      = btr2(ji,jj) 
-                  z_hdivn_x = (  e2u(ji  ,jj) * pun(ji  ,jj,jk)                              &
-                     &         - e2u(ji-1,jj) * pun(ji-1,jj,jk) ) * zbtr
-#else
-                  zbtr      = btr2(ji,jj) / fse3t(ji,jj,jk)
-                  z_hdivn_x = (  e2u(ji  ,jj) * fse3u(ji  ,jj,jk) * pun(ji  ,jj,jk)          &
-                     &         - e2u(ji-1,jj) * fse3u(ji-1,jj,jk) * pun(ji-1,jj,jk) ) * zbtr
-#endif
-                  ztrdt(ji,jj,jk) = - zbtr * ( zwx(ji,jj,jk) - zwx(ji-1,jj,jk) ) + tn(ji,jj,jk) * z_hdivn_x
-                  ztrds(ji,jj,jk) = - zbtr * ( zww(ji,jj,jk) - zww(ji-1,jj,jk) ) + sn(ji,jj,jk) * z_hdivn_x
-               END DO
-            END DO
-         END DO
-         CALL trd_mod(ztrdt, ztrds, jptra_trd_xad, 'TRA', kt)
-         !
-         ! T/S MERIDIONAL advection trends
-         DO jk = 1, jpkm1
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  !-- Compute merid. divergence by splitting hdivn (see divcur.F90)
-                  !   N.B. This computation is not valid along OBCs (if any)
-#if defined key_zco
-                  zbtr      = btr2(ji,jj) 
-                  z_hdivn_y = (  e1v(ji,jj  ) * pvn(ji,jj  ,jk)                              &
-                     &         - e1v(ji,jj-1) * pvn(ji,jj-1,jk) ) * zbtr
-#else
-                  zbtr      = btr2(ji,jj) / fse3t(ji,jj,jk)
-                  z_hdivn_y = (  e1v(ji,  jj) * fse3v(ji,jj  ,jk) * pvn(ji,jj  ,jk)          &
-                     &         - e1v(ji,jj-1) * fse3v(ji,jj-1,jk) * pvn(ji,jj-1,jk) ) * zbtr
-#endif
-                  ztrdt(ji,jj,jk) = - zbtr * ( zwy(ji,jj,jk) - zwy(ji,jj-1,jk) ) + tn(ji,jj,jk) * z_hdivn_y          
-                  ztrds(ji,jj,jk) = - zbtr * ( zwz(ji,jj,jk) - zwz(ji,jj-1,jk) ) + sn(ji,jj,jk) * z_hdivn_y
-               END DO
-            END DO
-         END DO
-         CALL trd_mod(ztrdt, ztrds, jptra_trd_yad, 'TRA', kt)
-         !
-         ! Save the up-to-date ta and sa trends
-         ztrdt(:,:,:) = ta(:,:,:) 
-         ztrds(:,:,:) = sa(:,:,:)
-         !
-      ENDIF
-
-      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ta, clinfo1=' cen2 had  - Ta: ', mask1=tmask, &
-         &                       tab3d_2=sa, clinfo2=            ' Sa: ', mask2=tmask, clinfo3='tra' )
-
-      ! "zonal" mean advective heat and salt transport
-      IF( ln_diaptr .AND. ( MOD( kt, nf_ptr ) == 0 ) ) THEN
-         IF( lk_zco ) THEN
-            DO jk = 1, jpkm1
-               DO jj = 2, jpjm1
-                  DO ji = fs_2, fs_jpim1   ! vector opt.
-                    zwy(ji,jj,jk) = zwy(ji,jj,jk) * fse3v(ji,jj,jk)
-                    zwz(ji,jj,jk) = zwz(ji,jj,jk) * fse3v(ji,jj,jk)
-                  END DO
-               END DO
-            END DO
-         ENDIF
-         pht_adv(:) = ptr_vj( zwy(:,:,:) )
-         pst_adv(:) = ptr_vj( zwz(:,:,:) )
-      ENDIF
-
-      !  Vertical advection
-      ! --------------------
-!CDIR PARALLEL DO
-!$OMP PARALLEL DO
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-         ! Bottom value : flux and indicator set to zero
-         zwz (:,jj,jpk) = 0.e0     ;    zww(:,jj,jpk) = 0.e0
-         zind(:,jj,jpk) = 0.e0
-
-         ! Surface value
-         IF( lk_dynspg_rl ) THEN                          ! rigid lid : flux set to zero
-            zwz(:,jj, 1 ) = 0.e0    ;    zww(:,jj, 1 ) = 0.e0
-         ELSE                                             ! free surface-constant volume
-            zwz(:,jj, 1 ) = pwn(:,jj,1) * tn(:,jj,1)
-            zww(:,jj, 1 ) = pwn(:,jj,1) * sn(:,jj,1)
-         ENDIF
-         
-         ! Vertical advective fluxes at w-point
-         DO jk = 2, jpk
-            DO ji = 2, jpim1
-               ! upstream indicator
-               zcofk = MAX( zind(ji,jj,jk-1), zind(ji,jj,jk) )
-               ! velocity * 1/2
-               zhw = 0.5 * pwn(ji,jj,jk)
-               ! upstream scheme
-               zfp_w = zhw + ABS( zhw )
-               zfm_w = zhw - ABS( zhw )
-               zupst = zfp_w * tb(ji,jj,jk) + zfm_w * tb(ji,jj,jk-1)
-               zupss = zfp_w * sb(ji,jj,jk) + zfm_w * sb(ji,jj,jk-1)
-               ! centered scheme
-               zcent = zhw * ( tn(ji,jj,jk) + tn(ji,jj,jk-1) )
-               zcens = zhw * ( sn(ji,jj,jk) + sn(ji,jj,jk-1) )
-               ! mixed centered / upstream scheme
-               zwz(ji,jj,jk) = zcofk * zupst + (1.-zcofk) * zcent
-               zww(ji,jj,jk) = zcofk * zupss + (1.-zcofk) * zcens
-            END DO
-         END DO
-
-         ! Tracer flux divergence at t-point added to the general trend
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               ze3tr = 1. / fse3t(ji,jj,jk)
-               ! vertical advective trends
-               zta = - ze3tr * ( zwz(ji,jj,jk) - zwz(ji,jj,jk+1) )
-               zsa = - ze3tr * ( zww(ji,jj,jk) - zww(ji,jj,jk+1) )
-               ! add it to the general tracer trends
-               ta(ji,jj,jk) =  ta(ji,jj,jk) + zta
-               sa(ji,jj,jk) =  sa(ji,jj,jk) + zsa
-            END DO
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-      ! Save the vertical advective trends for diagnostic
-      IF( l_trdtra )   THEN
-         ! Recompute the vertical advection zta & zsa trends computed 
-         ! at the step 2. above in making the difference between the new 
-         ! trends and the previous one: ta()/sa - ztrdt()/ztrds() and substract
-         ! the term tn()/sn()*hdivn() to recover the W gradz(T/S) trends
-         !
-         DO jk = 1, jpkm1
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-#if defined key_zco
-                  zbtr      = btr2(ji,jj) 
-                  z_hdivn_x = e2u(ji,jj)*pun(ji,jj,jk) - e2u(ji-1,jj)*pun(ji-1,jj,jk)
-                  z_hdivn_y = e1v(ji,jj)*pvn(ji,jj,jk) - e1v(ji,jj-1)*pvn(ji,jj-1,jk)
-#else
-                  zbtr      = btr2(ji,jj) / fse3t(ji,jj,jk)
-                  z_hdivn_x = e2u(ji,jj)*fse3u(ji,jj,jk)*pun(ji,jj,jk) - e2u(ji-1,jj)*fse3u(ji-1,jj,jk)*pun(ji-1,jj,jk)
-                  z_hdivn_y = e1v(ji,jj)*fse3v(ji,jj,jk)*pvn(ji,jj,jk) - e1v(ji,jj-1)*fse3v(ji,jj-1,jk)*pvn(ji,jj-1,jk)
-#endif
-                  z_hdivn   = (z_hdivn_x + z_hdivn_y) * zbtr
-                  ztrdt(ji,jj,jk) = ta(ji,jj,jk) - ztrdt(ji,jj,jk) - tn(ji,jj,jk) * z_hdivn 
-                  ztrds(ji,jj,jk) = sa(ji,jj,jk) - ztrds(ji,jj,jk) - sn(ji,jj,jk) * z_hdivn
-               END DO
-            END DO
-         END DO
-         CALL trd_mod(ztrdt, ztrds, jptra_trd_zad, 'TRA', kt)
-         !
-      ENDIF
-
-      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ta, clinfo1=' cen2 zad  - Ta: ', mask1=tmask,   &
-         &                       tab3d_2=sa, clinfo2=            ' Sa: ', mask2=tmask, clinfo3='tra' )
-      !
-   END SUBROUTINE tra_adv_cen2_jki
-
-   !!======================================================================
-END MODULE traadv_cen2_jki
Index: /trunk/NEMO/OPA_SRC/TRA/traadv_qck.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/traadv_qck.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/traadv_qck.F90	(revision 789)
@@ -52,9 +52,4 @@
 
 CONTAINS
-
-#if ! defined key_mpp_omp
-   !!----------------------------------------------------------------------
-   !!   Default option :             quickest advection scheme (k-j-i loop)
-   !!----------------------------------------------------------------------
 
    SUBROUTINE tra_adv_qck( kt, pun, pvn, pwn )
@@ -581,26 +576,4 @@
    END FUNCTION
 
-#else
-   !!----------------------------------------------------------------------
-   !!   'key_mpp_omp' :      quickest advection (k- and j-slabs)
-   !!----------------------------------------------------------------------
-   SUBROUTINE tra_adv_qck( kt, pun, pvn, pwn  )
-      !!----------------------------------------------------------------------
-      !! * Arguments
-      INTEGER, INTENT( in ) ::   kt             ! ocean time-step index
-      REAL(wp), INTENT(in), DIMENSION(jpi,jpj,jpk) ::  pun   ! effective ocean velocity, u_component
-      REAL(wp), INTENT(in), DIMENSION(jpi,jpj,jpk) ::  pvn   ! effective ocean velocity, v_component
-      REAL(wp), INTENT(in), DIMENSION(jpi,jpj,jpk) ::  pwn   ! effective ocean velocity, w_component
-      !!----------------------------------------------------------------------  
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'tra_adv_ qck:3st order quickest advection scheme' 
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~   Vector optimization case'
-         IF(lwp) WRITE(numout,*) 'WITH AUTOTASKING =>this routine doesn t exist for the moment'
-	 IF(lwp) WRITE(numout,*) ' EMPTY ROUTINE!!!!!!'      
-
-   END SUBROUTINE tra_adv_qck
-
-#endif
-
    !!======================================================================
 END MODULE traadv_qck
Index: /trunk/NEMO/OPA_SRC/TRA/trabbc.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/trabbc.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/trabbc.F90	(revision 789)
@@ -75,5 +75,5 @@
       INTEGER, INTENT( in ) ::   kt   ! ocean time-step index
       !!
-#if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#if defined key_vectopt_loop
       INTEGER ::   ji       ! dummy loop indices
 #else
@@ -95,5 +95,5 @@
       !
       CASE ( 1:2 )                !  geothermal heat flux
-#if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#if defined key_vectopt_loop
          DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling)
             zqgh_trd = ro0cpr * qgh_trd0(ji,1) / fse3t(ji,1,nbotlevt(ji,1) )
Index: /trunk/NEMO/OPA_SRC/TRA/trabbl.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/trabbl.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/trabbl.F90	(revision 789)
@@ -154,5 +154,5 @@
       ! -----------------------------------------------------------------
       ! mbathy= number of w-level, minimum value=1 (cf dommsk.F)
-#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#  if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij   ! vector opt. (forced unrolling)
@@ -167,5 +167,5 @@
             zsbb(ji,jj) = sb(ji,jj,ik) * tmask(ji,jj,1)
             zdep(ji,jj) = fsdept(ji,jj,ik)                ! depth of the ocean bottom T-level
-#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#  if ! defined key_vectopt_loop
          END DO
 #  endif
@@ -173,5 +173,5 @@
 
       IF( ln_zps ) THEN      ! partial steps correction 
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -188,10 +188,10 @@
                zahu(ji,jj) = atrbbl * e2u(ji,jj) * ze3u / e1u(ji,jj) * umask(ji,jj,1)
                zahv(ji,jj) = atrbbl * e1v(ji,jj) * ze3v / e2v(ji,jj) * vmask(ji,jj,1)
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
             END DO
 # endif
          END DO
       ELSE                    ! z-coordinate - full steps or s-coordinate
-#   if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#   if defined key_vectopt_loop
          jj = 1
          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -204,5 +204,5 @@
                zahu(ji,jj) = atrbbl * e2u(ji,jj) * fse3u(ji,jj,iku) / e1u(ji,jj) * umask(ji,jj,1)
                zahv(ji,jj) = atrbbl * e1v(ji,jj) * fse3v(ji,jj,ikv) / e2v(ji,jj) * vmask(ji,jj,1)
-#   if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#   if ! defined key_vectopt_loop
             END DO
 #   endif
@@ -219,5 +219,5 @@
       CASE ( 0 )                 ! Jackett and McDougall (1994) formulation
 
-#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#  if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -238,10 +238,10 @@
             zsign = SIGN( 0.5, - zgdrho * ( zdep(ji+1,jj) - zdep(ji,jj) ) )
             zki(ji,jj) = ( 0.5 - zsign ) * zahu(ji,jj)
-#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp
-         END DO
-#  endif
-      END DO
-
-#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#  if ! defined key_vectopt_loop
+         END DO
+#  endif
+      END DO
+
+#  if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -262,5 +262,5 @@
             zsign = sign( 0.5, -zgdrho * ( zdep(ji,jj+1) - zdep(ji,jj) ) )
             zkj(ji,jj) = ( 0.5 - zsign ) * zahv(ji,jj)
-#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#  if ! defined key_vectopt_loop
          END DO
 #  endif
@@ -269,5 +269,5 @@
       CASE ( 1 )               ! Linear formulation function of temperature only
                                ! 
-#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#  if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -281,10 +281,10 @@
             zsign = SIGN( 0.5, - zgdrho * ( zdep(ji+1,jj) - zdep(ji,jj) ) )
             zki(ji,jj) = ( 0.5 - zsign ) * zahu(ji,jj)
-#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp
-         END DO
-#  endif
-      END DO
-
-#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#  if ! defined key_vectopt_loop
+         END DO
+#  endif
+      END DO
+
+#  if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -298,5 +298,5 @@
             zsign = sign( 0.5, -zgdrho * ( zdep(ji,jj+1) - zdep(ji,jj) ) )
             zkj(ji,jj) = ( 0.5 - zsign ) * zahv(ji,jj)
-#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#  if ! defined key_vectopt_loop
          END DO
 #  endif
@@ -305,5 +305,5 @@
       CASE ( 2 )               ! Linear formulation function of temperature and salinity
 
-#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#  if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -318,10 +318,10 @@
             zsign = SIGN( 0.5, - zgdrho * ( zdep(ji+1,jj) - zdep(ji,jj) ) )
             zki(ji,jj) = ( 0.5 - zsign ) * zahu(ji,jj)
-#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp
-         END DO
-#  endif
-      END DO
-
-#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#  if ! defined key_vectopt_loop
+         END DO
+#  endif
+      END DO
+
+#  if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -336,5 +336,5 @@
             zsign = sign( 0.5, -zgdrho * ( zdep(ji,jj+1) - zdep(ji,jj) ) )
             zkj(ji,jj) = ( 0.5 - zsign ) * zahv(ji,jj)
-#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#  if ! defined key_vectopt_loop
          END DO
 #  endif
@@ -352,5 +352,5 @@
 
       ! first derivative (gradient)
-#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#  if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -364,5 +364,5 @@
             zky(ji,jj) = zkj(ji,jj) * ( ztbb(ji,jj+1) - ztbb(ji,jj) )
             zkw(ji,jj) = zkj(ji,jj) * ( zsbb(ji,jj+1) - zsbb(ji,jj) )
-#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#  if ! defined key_vectopt_loop
          END DO
 #  endif
@@ -402,5 +402,5 @@
 
       ! second derivative (divergence) and add to the general tracer trend
-#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#  if defined key_vectopt_loop
       jj = 1
       DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling)
@@ -417,5 +417,5 @@
             ta(ji,jj,ik) = ta(ji,jj,ik) + zta
             sa(ji,jj,ik) = sa(ji,jj,ik) + zsa
-#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#  if ! defined key_vectopt_loop
          END DO
 #  endif
Index: /trunk/NEMO/OPA_SRC/TRA/trabbl_adv.h90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/trabbl_adv.h90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/trabbl_adv.h90	(revision 789)
@@ -99,5 +99,5 @@
       ! mbathy= number of w-level, minimum value=1 (cf dommsk.F)
 
-#if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij   ! vector opt. (forced unrolling)
@@ -115,5 +115,5 @@
             zunb(ji,jj) = un(ji,jj,mbku(ji,jj)) 
             zvnb(ji,jj) = vn(ji,jj,mbkv(ji,jj)) 
-#if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#if ! defined key_vectopt_loop
          END DO
 #endif
@@ -229,5 +229,5 @@
       IF( ln_zps ) THEN     ! partial steps correction   
       
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -249,5 +249,5 @@
                   v_bbl(ji,jj,ikv) = zalphay(ji,jj) * vn(ji,jj,ikv) * ze3v / fse3v(ji,jj,ikv)       
                ENDIF
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
             END DO
 # endif
@@ -259,5 +259,5 @@
       ELSE       ! if not partial step loop over the whole domain no lbc call
 
-#if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#if defined key_vectopt_loop
          jj = 1
          DO ji = 1, jpij   ! vector opt. (forced unrolling)
@@ -272,5 +272,5 @@
                   v_bbl(ji,jj,ikv) = zalphay(ji,jj) * vn(ji,jj,ikv)       
                ENDIF
-#if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#if ! defined key_vectopt_loop
             END DO
 #endif
@@ -284,5 +284,5 @@
       ! ... Second order centered tracer flux at u and v-points
 
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
       jj = 1
       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -309,9 +309,9 @@
             zwz(ji,jj) = ( ( zfvj + ABS( zfvj ) ) * zsbb(ji  ,jj  )   &
                &          +( zfvj - ABS( zfvj ) ) * zsbb(ji  ,jj+1) ) * 0.5
-#if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#if ! defined key_vectopt_loop
          END DO
 #endif
         END DO
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
       jj = 1
       DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling)
@@ -331,5 +331,5 @@
             ta(ji,jj,ik) = ta(ji,jj,ik) + zta
             sa(ji,jj,ik) = sa(ji,jj,ik) + zsa
-#if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#if ! defined key_vectopt_loop
          END DO
 #endif
@@ -365,5 +365,5 @@
       IF( ln_zps ) THEN
 	  
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -383,5 +383,5 @@
                zwu(ji,jj) = zalphax(ji,jj) * e2u(ji,jj) * ze3u  
                zwv(ji,jj) = zalphay(ji,jj) * e1v(ji,jj) * ze3v
-#if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#if ! defined key_vectopt_loop
             END DO
 #endif
@@ -390,5 +390,5 @@
       ELSE
 
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling)
@@ -401,5 +401,5 @@
                zwu(ji,jj) = zalphax(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,iku) 
                zwv(ji,jj) = zalphay(ji,jj) * e1v(ji,jj) * fse3v(ji,jj,ikv) 
-#if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+#if ! defined key_vectopt_loop
             END DO
 #endif
@@ -409,5 +409,5 @@
  
 
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
       jj = 1
       DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling)
@@ -425,5 +425,5 @@
                &   ) / zbt
 
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
          END DO
 # endif
Index: /trunk/NEMO/OPA_SRC/TRA/traldf_iso.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/traldf_iso.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/traldf_iso.F90	(revision 789)
@@ -18,5 +18,4 @@
    !!                  and with the vertical part of
    !!                  the isopycnal or geopotential s-coord. operator 
-   !!                  vector optimization, use k-j-i loops.
    !!----------------------------------------------------------------------
    USE oce             ! ocean dynamics and active tracers
@@ -151,5 +150,4 @@
       
 !CDIR PARALLEL DO PRIVATE( zdk1t, zdk1s, zftu, zfsu ) 
-!$OMP PARALLEL DO PRIVATE( zdk1t, zdk1s, zftu, zfsu )
       !                                                ! ===============
       DO jk = 1, jpkm1                                 ! Horizontal slab
Index: /trunk/NEMO/OPA_SRC/TRA/trazdf.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/trazdf.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/trazdf.F90	(revision 789)
@@ -17,5 +17,4 @@
    USE trazdf_exp      ! vertical diffusion: explicit (tra_zdf_exp     routine)
    USE trazdf_imp      ! vertical diffusion: implicit (tra_zdf_imp     routine)
-   USE trazdf_imp_jki  ! vertical diffusion  implicit (tra_zdf_imp_jki routine)
 
    USE ldftra_oce      ! ocean active tracers: lateral physics
@@ -90,7 +89,4 @@
          CALL prt_ctl( tab3d_1=ta, clinfo1=' zdf1 - Ta: ', mask1=tmask,               &
             &          tab3d_2=sa, clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' )
-         CALL tra_zdf_imp_jki( kt, r2dt )
-         CALL prt_ctl( tab3d_1=ta, clinfo1=' zdf2 - Ta: ', mask1=tmask,               &
-            &          tab3d_2=sa, clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' )
 
       CASE ( 0 )                                       ! explicit scheme
@@ -102,16 +98,6 @@
          ENDIF
 
-      CASE ( 1 )                                       ! implicit scheme (k-j-i loop)
+      CASE ( 1 )                                       ! implicit scheme 
          CALL tra_zdf_imp    ( kt, r2dt )
-         IF( l_trdtra )   THEN                         ! save the vertical diffusive trends for further diagnostics
-            DO jk = 1, jpkm1
-               ztrdt(:,:,jk) = ( ( ta(:,:,jk) - tb(:,:,jk) ) / r2dt(jk) ) - ztrdt(:,:,jk)
-               ztrds(:,:,jk) = ( ( sa(:,:,jk) - sb(:,:,jk) ) / r2dt(jk) ) - ztrds(:,:,jk)
-            END DO
-            CALL trd_mod( ztrdt, ztrds, jptra_trd_zdf, 'TRA', kt )
-         ENDIF
-
-      CASE ( 2 )                                       ! implicit scheme (j-k-i loop)
-         CALL tra_zdf_imp_jki( kt, r2dt )
          IF( l_trdtra )   THEN                         ! save the vertical diffusive trends for further diagnostics
             DO jk = 1, jpkm1
@@ -137,9 +123,7 @@
       !! ** Purpose :   Choose the vertical mixing scheme
       !!
-      !! ** Method  :   Set nzdf from ln_zdfexp and 'key_mpp_omp'.
+      !! ** Method  :   Set nzdf from ln_zdfexp
       !!      nzdf = 0   explicit (time-splitting) scheme (ln_zdfexp=T)
       !!           = 1   implicit (euler backward) scheme (ln_zdfexp=F)
-      !!           = 2   implicit (euler backward) scheme with j-k-i loops
-      !!                 (ln_zdfexp=T and 'key_mpp_omp')
       !!      NB: rotation of lateral mixing operator or TKE or KPP scheme,
       !!      the implicit scheme is required.
@@ -169,9 +153,4 @@
       ENDIF
 
-      ! NEC autotasking / OpenMP
-#if defined key_mpp_omp
-      IF( nzdf == 1 )   nzdf = 2                       ! j-k-i loop
-#endif
-
       ! Test: esopa
       IF( lk_esopa )    nzdf = -1                      ! All schemes used
@@ -184,5 +163,4 @@
          IF( nzdf ==  0 )   WRITE(numout,*) '              Explicit time-splitting scheme'
          IF( nzdf ==  1 )   WRITE(numout,*) '              Implicit (euler backward) scheme'
-         IF( nzdf ==  2 )   WRITE(numout,*) '              Implicit (euler backward) scheme with j-k-i loops'
       ENDIF
 
Index: /trunk/NEMO/OPA_SRC/TRA/trazdf_exp.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/trazdf_exp.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/trazdf_exp.F90	(revision 789)
@@ -85,5 +85,5 @@
       IF( kt == nit000 ) THEN
          IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'tra_zdf_exp : explicit vertical mixing (j-k-i loops)'
+         IF(lwp) WRITE(numout,*) 'tra_zdf_exp : explicit vertical mixing'
          IF(lwp) WRITE(numout,*) '~~~~~~~~~~~'
       ENDIF
Index: /trunk/NEMO/OPA_SRC/TRA/trazdf_imp.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/trazdf_imp.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/trazdf_imp.F90	(revision 789)
@@ -17,5 +17,4 @@
    !!   tra_zdf_imp : Update the tracer trend with the diagonal vertical  
    !!                 part of the mixing tensor.
-   !!                 Vector optimization, use k-j-i loops.
    !!----------------------------------------------------------------------
    !! * Modules used
@@ -106,5 +105,5 @@
       IF( kt == nit000 ) THEN
          IF(lwp)WRITE(numout,*)
-         IF(lwp)WRITE(numout,*) 'tra_zdf_imp : implicit vertical mixing (k-j-i loops)'
+         IF(lwp)WRITE(numout,*) 'tra_zdf_imp : implicit vertical mixing'
          IF(lwp)WRITE(numout,*) '~~~~~~~~~~~ '
          zavi = 0.e0      ! avoid warning at compilation phase when lk_ldfslp=F
Index: unk/NEMO/OPA_SRC/TRA/trazdf_imp_jki.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/trazdf_imp_jki.F90	(revision 788)
+++ 	(revision )
@@ -1,255 +1,0 @@
-MODULE trazdf_imp_jki
-   !!==============================================================================
-   !!                    ***  MODULE  trazdf_imp_jki  ***
-   !! Ocean active tracers:  vertical component of the tracer mixing trend
-   !!==============================================================================
-   !! History :
-   !!   7.0  !  91-11  (G. Madec)  Original code
-   !!        !  92-06  (M. Imbard)  correction on tracer trend loops
-   !!        !  96-01  (G. Madec)  statement function for e3
-   !!        !  97-05  (G. Madec)  vertical component of isopycnal
-   !!        !  97-07  (G. Madec)  geopotential diffusion in s-coord
-   !!        !  00-08  (G. Madec)  double diffusive mixing
-   !!   8.5  !  02-08  (G. Madec)  F90: Free form and module
-   !!   9.0  !  04-08  (C. Talandier) New trends organization
-   !!        !  05-11  (G. Madec)  New step reorganisation
-   !!----------------------------------------------------------------------
-   !!   tra_zdf_imp_jki  : Update the tracer trend with the diagonal vertical
-   !!                 part of the mixing tensor.
-   !!                 use j-k-i loops.
-   !!----------------------------------------------------------------------
-   !! * Modules used
-   USE oce             ! ocean dynamics and tracers variables
-   USE dom_oce         ! ocean space and time domain variables 
-   USE ldfslp          ! Make iso-neutral slopes available
-   USE ldftra_oce      ! ocean active tracers: lateral physics
-   USE zdf_oce         ! ocean vertical physics 
-   USE zdfddm          ! ocean vertical physics: double diffusion
-   USE trdmod          ! ocean active tracers trends 
-   USE trdmod_oce      ! ocean variables trends
-   USE in_out_manager  ! I/O manager
-   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
-   USE prtctl          ! Print control
-
-   IMPLICIT NONE
-   PRIVATE
-
-   !! * Accessibility
-   PUBLIC tra_zdf_imp_jki    ! routine called by step.F90
-
-   !! * Substitutions
-#  include "domzgr_substitute.h90"
-#  include "ldftra_substitute.h90"
-#  include "zdfddm_substitute.h90"
-   !!----------------------------------------------------------------------
-   !!  OPA 9.0 , LOCEAN-IPSL (2005) 
-   !!----------------------------------------------------------------------
-
-CONTAINS
-
-   SUBROUTINE tra_zdf_imp_jki( kt, p2dt )
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE tra_zdf_imp_jki  ***
-      !!
-      !! ** Purpose :
-      !!     Compute the trend due to the vertical tracer diffusion inclu-
-      !!     ding the vertical component of lateral mixing (only for second
-      !!     order operator, for fourth order it is already computed and
-      !!     add to the general trend in traldf.F) and add it to the general
-      !!     trend of the tracer equations.
-      !!
-      !! ** Method :
-      !!      save avt coef. resulting from vertical physics alone in zavt:
-      !!         zavt = avt
-      !!      update and save in zavt the vertical eddy viscosity coefficient:
-      !!         avt = avt + wslpi^2+wslj^2
-      !!
-      !!      Second part: vertical trend associated with the vertical physics
-      !!      ===========  (including the vertical flux proportional to dk[t]
-      !!                  associated with the lateral mixing, through the
-      !!                  update of avt)
-      !!      The vertical diffusion of tracers (t & s) is given by:
-      !!             difft = dz( avt dz(t) ) = 1/e3t dk+1( avt/e3w dk(t) )
-      !!      It is computed using a backward time scheme, t=ta.
-      !!      Surface and bottom boundary conditions: no diffusive flux on
-      !!      both tracers (bottom, applied through the masked field avt).
-      !!      Add this trend to the general trend ta,sa :
-      !!         ta = ta + dz( avt dz(t) )
-      !!         (sa = sa + dz( avs dz(t) ) if lk_zdfddm=T )
-      !!
-      !!      Third part: recover avt resulting from the vertical physics
-      !!      ==========  alone, for further diagnostics (for example to
-      !!                  compute the turbocline depth in zdfmxl.F90).
-      !!         avt = zavt
-      !!         (avs = zavs if lk_zdfddm=T )
-      !!
-      !! ** Action :
-      !!         Update (ta,sa) arrays with the before vertical diffusion trend
-      !!
-      !!---------------------------------------------------------------------
-      !! * Modules used
-      USE oce                ,   &
-# if defined key_zdfddm
-         zavs => va,  &  ! use va as workspace
-# endif
-         zavt => ua      ! use ua as workspace
-
-      !! * Arguments
-      INTEGER, INTENT( in ) ::   kt           ! ocean time-step index
-      REAL(wp), DIMENSION(jpk), INTENT( in ) ::   &
-         p2dt                                 ! vertical profile of tracer time-step
-
-      !! * Local declarations
-      INTEGER  ::   ji, jj, jk                ! dummy loop indices
-      INTEGER  ::   ikst, ikenm2, ikstp1      ! temporary integers
-      REAL(wp) ::   zavi, zavip1              ! temporary scalar
-      REAL(wp), DIMENSION(jpi,jpk) ::   &
-         zwd, zws, zwi,         &  ! ???
-         zwx, zwy, zwz, zwt        ! ???
-      !!---------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'tra_zdf_imp_jki : implicit vertical mixing (j-k-i loops)'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~'
-      ENDIF
-
-!CDIR PARALLEL DO PRIVATE( zwd, zws, zwi, zwx, zwy, zwz, zwt )
-!$OMP PARALLEL DO PRIVATE( zwd, zws, zwi, zwx, zwy, zwz, zwt )
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! ===============
-
-         ! II. Vertical trend associated with the vertical physics
-         ! =======================================================
-         !     (including the vertical flux proportional to dk[t] associated
-         !      with the lateral mixing, through the avt update)
-         !     dk[ avt dk[ (t,s) ] ] diffusive trends
-
-
-         ! II.0 Matrix construction
-         ! ------------------------
-
-         ! Diagonal, inferior, superior
-         ! (including the bottom boundary condition via avt masked)
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-#if defined key_ldfslp
-               zavi   = avt(ji,jj,jk  ) + fsahtw(ji,jj,jk  )*( wslpi(ji,jj,jk  )*wslpi(ji,jj,jk  )   &
-                  &                                           +wslpj(ji,jj,jk  )*wslpj(ji,jj,jk  ) )
-               zavip1 = avt(ji,jj,jk+1) + fsahtw(ji,jj,jk+1)*( wslpi(ji,jj,jk+1)*wslpi(ji,jj,jk+1)   &
-                  &                                           +wslpj(ji,jj,jk+1)*wslpj(ji,jj,jk+1) )
-#else
-               zavi   = avt(ji,jj,jk  )
-               zavip1 = avt(ji,jj,jk+1)
-#endif
-               zwi(ji,jk) = - p2dt(jk) * zavi   / ( fse3t(ji,jj,jk) * fse3w(ji,jj,jk  ) )
-               zws(ji,jk) = - p2dt(jk) * zavip1 / ( fse3t(ji,jj,jk) * fse3w(ji,jj,jk+1) )
-               zwd(ji,jk) = 1. - zwi(ji,jk) - zws(ji,jk)
-            END DO
-         END DO
-
-         ! Surface boudary conditions
-         DO ji = 2, jpim1
-            zwi(ji,1) = 0.e0
-            zwd(ji,1) = 1. - zws(ji,1)
-         END DO
-
-
-         ! II.1. Vertical diffusion on t
-         ! ---------------------------
-
-         ! Second member construction
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               zwy(ji,jk) = tb(ji,jj,jk) + p2dt(jk) * ta(ji,jj,jk)
-            END DO
-         END DO
-
-         ! Matrix inversion from the first level
-         ikst = 1
-#   include "zdf.matrixsolver.h90"
-
-         ! Save the masked temperature after in ta
-         ! (c a u t i o n:  temperature not its trend, Leap-frog scheme done
-         !                  it will not be done in tranxt)
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               ta(ji,jj,jk) = zwx(ji,jk) * tmask(ji,jj,jk)
-            END DO
-         END DO
-
-
-         ! II.2 Vertical diffusion on s
-         ! ---------------------------
-
-#if defined key_zdfddm
-         ! Rebuild the Matrix as avt /= avs
-
-         ! Diagonal, inferior, superior
-         ! (including the bottom boundary condition via avs masked)
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-#if defined key_ldfslp
-               zavi   = fsavs(ji,jj,jk  ) + fsahtw(ji,jj,jk  )*( wslpi(ji,jj,jk  )*wslpi(ji,jj,jk  )   &
-                  &                                             +wslpj(ji,jj,jk  )*wslpj(ji,jj,jk  ) )
-               zavip1 = fsavs(ji,jj,jk+1) + fsahtw(ji,jj,jk+1)*( wslpi(ji,jj,jk+1)*wslpi(ji,jj,jk+1)   &
-                  &                                             +wslpj(ji,jj,jk+1)*wslpj(ji,jj,jk+1) )
-#else
-               zavi   = fsavs(ji,jj,jk  )
-               zavip1 = fsavs(ji,jj,jk+1)
-#endif
-               zwi(ji,jk) = - p2dt(jk) * zavi   / ( fse3t(ji,jj,jk) * fse3w(ji,jj,jk  ) )
-               zws(ji,jk) = - p2dt(jk) * zavip1 / ( fse3t(ji,jj,jk) * fse3w(ji,jj,jk+1) )
-               zwd(ji,jk) = 1. - zwi(ji,jk) - zws(ji,jk)
-            END DO
-         END DO
-
-         ! Surface boudary conditions
-         DO ji = 2, jpim1
-            zwi(ji,1) = 0.e0
-            zwd(ji,1) = 1. - zws(ji,1)
-         END DO
-#endif
-         ! Second member construction
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               zwy(ji,jk) = sb(ji,jj,jk) + p2dt(jk) * sa(ji,jj,jk)
-            END DO
-         END DO
-
-         ! Matrix inversion from the first level
-         ikst = 1
-#   include "zdf.matrixsolver.h90"
-
-         ! Save the masked salinity after in sa
-         ! (c a u t i o n:  salinity not its trend, Leap-frog scheme done
-         !                  it will not be done in tranxt)
-         DO jk = 1, jpkm1
-            DO ji = 2, jpim1
-               sa(ji,jj,jk) = zwx(ji,jk)  * tmask(ji,jj,jk)
-            END DO
-         END DO
-
-
-#if defined key_ldfslp
-         ! III. recover the avt (avs) resulting from vertical physics only
-         ! ===============================================================
-
-         DO jk = 2, jpkm1
-            DO ji = 2, jpim1
-               avt(ji,jj,jk) = zavt(ji,jj,jk)
-# if defined key_zdfddm
-               fsavs(ji,jj,jk) = zavs(ji,jj,jk)
-# endif
-            END DO
-         END DO
-#endif
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-   END SUBROUTINE tra_zdf_imp_jki
-
-   !!==============================================================================
-END MODULE trazdf_imp_jki
Index: /trunk/NEMO/OPA_SRC/TRA/zpshde.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/TRA/zpshde.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/TRA/zpshde.F90	(revision 789)
@@ -130,5 +130,5 @@
 
       ! Interpolation of T and S at the last ocean level
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolled)
@@ -193,5 +193,5 @@
                pgsv(ji,jj) = vmask(ji,jj,1) * ( psal(ji,jj+1,ikv) - zsj(ji,jj) )
             ENDIF
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
          END DO
 # endif
@@ -205,5 +205,5 @@
 
       ! Gradient of density at the last level 
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolled)
@@ -226,5 +226,5 @@
                pgrv(ji,jj) = vmask(ji,jj,1) * ( prd(ji,jj+1,ikv) - zrj(ji,jj) )
             ENDIF
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
          END DO
 # endif
Index: /trunk/NEMO/OPA_SRC/ZDF/zdfbfr.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/ZDF/zdfbfr.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/ZDF/zdfbfr.F90	(revision 789)
@@ -80,5 +80,5 @@
 
       CASE( 0 )                 ! no-slip boundary condition
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
          DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling)
@@ -93,5 +93,5 @@
                avmu(ji,jj,ikbu) = 2. * avmu(ji,jj,ikbum1)
                avmv(ji,jj,ikbv) = 2. * avmv(ji,jj,ikbvm1)
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
             END DO
 # endif
@@ -99,5 +99,5 @@
 
       CASE( 1 )                 ! linear botton friction
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
          DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling)
@@ -110,5 +110,5 @@
                avmu(ji,jj,ikbu) = bfri1 * fse3uw(ji,jj,ikbu)
                avmv(ji,jj,ikbv) = bfri1 * fse3vw(ji,jj,ikbv)
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
             END DO
 # endif
@@ -116,5 +116,5 @@
 
       CASE( 2 )                 ! quadratic botton friction
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
 !CDIR NOVERRCHK
@@ -142,5 +142,5 @@
                avmu(ji,jj,ikbu) = bfri2 * zecu * fse3uw(ji,jj,ikbu)
                avmv(ji,jj,ikbv) = bfri2 * zecv * fse3vw(ji,jj,ikbv)
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
             END DO
 # endif
@@ -148,5 +148,5 @@
 
       CASE( 3 )                 ! free-slip boundary condition
-# if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+# if defined key_vectopt_loop
          jj = 1
          DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling)
@@ -159,5 +159,5 @@
                avmu(ji,jj,ikbu) = 0.e0
                avmv(ji,jj,ikbv) = 0.e0
-# if ! defined key_vectopt_loop   ||   defined key_mpp_omp
+# if ! defined key_vectopt_loop
             END DO
 # endif
Index: /trunk/NEMO/OPA_SRC/ZDF/zdfevd.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/ZDF/zdfevd.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/ZDF/zdfevd.F90	(revision 789)
@@ -79,5 +79,5 @@
          DO jk = 1, jpkm1                                 ! Horizontal slab
             !                                             ! ===============
-#   if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#   if defined key_vectopt_loop
 !!!         WHERE( rn2(:,:,jk) <= -1.e-12 ) avt(:,:,jk) = tmask(:,:,jk) * avevd   ! agissant sur T SEUL!
             jj = 1                     ! big loop forced
@@ -129,5 +129,5 @@
             !                                             ! ===============
 !!!         WHERE( rn2(:,:,jk) <= -1.e-12 ) avt(:,:,jk) = tmask(:,:,jk) * avevd   ! agissant sur T SEUL! 
-#   if defined key_vectopt_loop   &&   ! defined key_mpp_omp
+#   if defined key_vectopt_loop
             jj = 1                     ! big loop forced
             DO ji = 1, jpij   
Index: /trunk/NEMO/OPA_SRC/ZDF/zdfmxl.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/ZDF/zdfmxl.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/ZDF/zdfmxl.F90	(revision 789)
@@ -44,101 +44,4 @@
 
 CONTAINS
-
-# if defined key_mpp_omp
-   !!----------------------------------------------------------------------
-   !!   'key_mpp_omp'                                   j-k-i loop (j-slab)
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE zdf_mxl( kt )
-      !!----------------------------------------------------------------------
-      !!                    ***  ROUTINE zdfmxl  ***
-      !!                   
-      !! ** Purpose :   Compute the turbocline depth and the mixed layer depth
-      !!      with a density criteria.
-      !!
-      !! ** Method  :   The turbocline depth is the depth at which the vertical 
-      !!      eddy diffusivity coefficient (resulting from the vertical physics
-      !!      alone, not the isopycnal part, see trazdf.F) fall below a given
-      !!      value defined locally (avt_c here taken equal to 5 cm/s2)
-      !!
-      !! ** Action  :
-      !!
-      !!----------------------------------------------------------------------
-      !! * Arguments
-      INTEGER, INTENT( in ) ::   kt         ! ocean time-step index
-
-      !! * Local declarations
-      INTEGER ::   ji, jj, jk     ! dummy loop indices
-      INTEGER ::   ik             ! temporary integer
-      INTEGER, DIMENSION(jpi,jpj) ::   &
-         imld                     ! temporary workspace
-      !!----------------------------------------------------------------------
-
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'zdf_mxl : mixed layer depth, j-k-i loops'
-         IF(lwp) WRITE(numout,*) '~~~~~~~'
-      ENDIF
-
-      !                                                ! ===============
-      DO jj = 1, jpj                                   !  Vertical slab
-         !                                             ! ===============
-
-         ! 1. Turbocline depth
-         ! -------------------
-         ! last w-level at which avt<avt_c (starting from the bottom jk=jpk)
-         ! (since avt(.,.,jpk)=0, we have jpk=< imld =< 2 )
-         DO jk = jpk, 2, -1
-            DO ji = 1, jpi
-               IF( avt(ji,jj,jk) < avt_c ) imld(ji,jj) = jk 
-            END DO
-         END DO
-
-         ! Turbocline depth and sub-turbocline temperature
-         DO ji = 1, jpi
-            ik = imld(ji,jj)
-            hmld (ji,jj) = fsdepw(ji,jj,ik) * tmask(ji,jj,1)
-         END DO
-
-!!gm idea
-!!   
-!!gm     DO jk = jpk, 2, -1
-!!gm        DO ji = 1, jpi
-!!gm           IF( avt(ji,jj,jk) < avt_c ) hmld(ji,jj) = fsdepw(ji,jj,jk) * tmask(ji,jj,1)
-!!gm        END DO
-!!gm     END DO
-!!gm
-
-         ! 2. Mixed layer depth
-         ! --------------------
-         ! Initialization to the number of w ocean point mbathy
-         nmln(:,jj) = mbathy(:,jj)
-
-         ! Last w-level at which rhop>=rho surf+rho_c (starting from jpk-1)
-         ! (rhop defined at t-point, thus jk-1 for w-level just above)
-         DO jk = jpkm1, 2, -1
-            DO ji = 1, jpi
-               IF( rhop(ji,jj,jk) > rhop(ji,jj,1) + rho_c )   nmln(ji,jj) = jk
-            END DO
-         END DO
-
-         ! Mixed layer depth
-         DO ji = 1, jpi
-            ik = nmln(ji,jj)
-            hmlp (ji,jj) = fsdepw(ji,jj,ik) * tmask(ji,jj,1)
-            hmlpt(ji,jj) = fsdept(ji,jj,ik-1)
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-      IF(ln_ctl)   CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmld, clinfo2=' hmld : ', ovlap=1 )
-
-   END SUBROUTINE zdf_mxl
-
-# else
-   !!----------------------------------------------------------------------
-   !!   Default option :                                         k-j-i loop
-   !!----------------------------------------------------------------------
 
    SUBROUTINE zdf_mxl( kt )
@@ -237,5 +140,4 @@
 
    END SUBROUTINE zdf_mxl
-#endif
 
    !!======================================================================
Index: /trunk/NEMO/OPA_SRC/ZDF/zdftke.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/ZDF/zdftke.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/ZDF/zdftke.F90	(revision 789)
@@ -43,6 +43,4 @@
 
    PUBLIC   zdf_tke        ! routine called in step module
-   PUBLIC   zdf_tke_init   ! routine also called in zdftke_jki module
-   PUBLIC   tke_rst        ! routine also called in zdftke_jki module
 
    LOGICAL , PUBLIC, PARAMETER              ::   lk_zdftke = .TRUE.  !: TKE vertical mixing flag
Index: unk/NEMO/OPA_SRC/ZDF/zdftke_jki.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/ZDF/zdftke_jki.F90	(revision 788)
+++ 	(revision )
@@ -1,545 +1,0 @@
-MODULE zdftke_jki
-   !!======================================================================
-   !!                       ***  MODULE  zdftke_jki  ***
-   !! Ocean physics:  vertical mixing coefficient compute from the tke
-   !!                 turbulent closure parameterization
-   !!=====================================================================
-   !! History :
-   !!   9.0  !  02-08  (G. Madec)  autotasking optimization
-   !!----------------------------------------------------------------------
-#if defined key_zdftke   ||   defined key_esopa
-   !!----------------------------------------------------------------------
-   !!   'key_zdftke'                                             TKE scheme
-   !!----------------------------------------------------------------------
-   !!   zdf_tke_jki  : update momentum and tracer Kz from a tke scheme
-   !!                  j-k-i loops for NEC autotasking or OpenMP 
-   !!                  (used if 'key_mpp_omp' activated)
-   !!----------------------------------------------------------------------
-   !! * Modules used
-   USE oce             ! ocean dynamics and active tracers
-   USE dom_oce         ! ocean space and time domain
-   USE zdf_oce         ! ocean vertical physics
-   USE zdftke          ! ???
-   USE in_out_manager  ! I/O manager
-   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
-   USE phycst          ! physical constants
-   USE taumod          ! surface stress
-   USE prtctl          ! Print control
-   USE restart         ! only for lrst_oce
-
-   IMPLICIT NONE
-   PRIVATE
-
-   !! * Routine accessibility
-   PUBLIC zdf_tke_jki   ! routine called by step.F90
-
-   !! * Substitutions
-#  include "domzgr_substitute.h90"
-#  include "vectopt_loop_substitute.h90"
-   !!----------------------------------------------------------------------
-   !!   OPA 9.0 , LOCEAN-IPSL (2005)
-   !!----------------------------------------------------------------------
-
-CONTAINS
-
-   SUBROUTINE zdf_tke_jki( kt )
-      !!----------------------------------------------------------------------
-      !!                   ***  ROUTINE zdf_tke  ***
-      !!                     
-      !! ** Purpose :   Compute the vertical eddy viscosity and diffusivity
-      !!      coefficients using a 1.5 turbulent closure scheme.
-      !!
-      !! ** Method  :   The time evolution of the turbulent kinetic energy 
-      !!      (tke) is computed from a prognostic equation :
-      !!         d(en)/dt = eboost eav (d(u)/dz)**2       ! shear production
-      !!                  + d( efave eav d(en)/dz )/dz    ! diffusion of tke
-      !!                  + g/rau0 pdl eav d(rau)/dz      ! stratif. destruc.
-      !!                  - ediss / emxl en**(2/3)        ! dissipation
-      !!      with the boundary conditions:
-      !!         surface: en = max( emin0,ebb sqrt(taux^2 + tauy^2) )
-      !!         bottom : en = emin
-      !!      -1- The dissipation and mixing turbulent lengh scales are computed
-      !!      from the usual diagnostic buoyancy length scale:  
-      !!         mxl= 1/(sqrt(en)/N)  WHERE N is the brunt-vaisala frequency
-      !!      Four cases : 
-      !!         nmxl=0 : mxl bounded by the distance to surface and bottom.
-      !!                  zmxld = zmxlm = mxl
-      !!         nmxl=1 : mxl bounded by the vertical scale factor.
-      !!                  zmxld = zmxlm = mxl
-      !!         nmxl=2 : mxl bounded such that the vertical derivative of mxl 
-      !!                  is less than 1 (|d/dz(xml)|<1). 
-      !!                  zmxld = zmxlm = mxl
-      !!         nmxl=3 : lup = mxl bounded using |d/dz(xml)|<1 from the surface 
-      !!                        to the bottom
-      !!                  ldown = mxl bounded using |d/dz(xml)|<1 from the bottom 
-      !!                        to the surface
-      !!                  zmxld = sqrt (lup*ldown) ; zmxlm = min(lup,ldown)
-      !!      -2- Compute the now Turbulent kinetic energy. The time differencing
-      !!      is implicit for vertical diffusion term, linearized for kolmo-
-      !!      goroff dissipation term, and explicit forward for both buoyancy
-      !!      and dynamic production terms. Thus a tridiagonal linear system is
-      !!      solved.
-      !!         Note that - the shear production is multiplied by eboost in order
-      !!      to set the critic richardson number to ri_c (namelist parameter)
-      !!                   - the destruction by stratification term is multiplied
-      !!      by the Prandtl number (defined by an empirical funtion of the local 
-      !!      Richardson number) if npdl=1 (namelist parameter)
-      !!      coefficient (zesh2):
-      !!      -3- Compute the now vertical eddy vicosity and diffusivity
-      !!      coefficients from en (before the time stepping) and zmxlm:
-      !!              avm = max( avtb, ediff*zmxlm*en^1/2 )
-      !!              avt = max( avmb, pdl*avm )  (pdl=1 if npdl=0)
-      !!              eav = max( avmb, avm )
-      !!      avt and avm are horizontally averaged to avoid numerical insta-
-      !!      bilities.
-      !!        N.B. The computation is done from jk=2 to jpkm1 except for
-      !!      en. Surface value of avt avmu avmv are set once a time to
-      !!      their background value in routine zdftke_init.
-      !!
-      !! ** Action :   compute en (now turbulent kinetic energy)
-      !!               update avt, avmu, avmv (before vertical eddy coeff.)
-      !!
-      !! References :
-      !!      Gaspar et al., jgr, 95, 1990,
-      !!      Blanke and Delecluse, jpo, 1991
-      !!----------------------------------------------------------------------
-      !! * Modules used
-      USE oce       , zwd   => ua,  &  ! use ua as workspace
-                      zmxlm => ta,  &  ! use ta as workspace
-                      zmxld => sa      ! use sa as workspace
-      !! * arguments
-      INTEGER, INTENT( in  ) ::   kt   ! ocean time step
-
-      !! * local declarations
-      INTEGER ::   ji, jj, jk          ! dummy loop arguments
-      REAL(wp) ::                   &
-         zmlmin, zbbrau,            &  ! temporary scalars
-         zfact1, zfact2, zfact3,    &  !
-         zrn2, zesurf,              &  !
-         ztx2, zty2, zav,           &  !
-         zcoef, zcof, zsh2,         &  !
-         zdku, zdkv, zpdl, zri,     &  !
-         zsqen, zesh2,              &  !
-         zemxl, zemlm, zemlp
-      !!--------------------------------------------------------------------
-      !!  OPA 9.0 , LOCEAN-IPSL (2005) 
-      !! $Header$ 
-      !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
-      !!--------------------------------------------------------------------
-
-
-      ! 0. Initialization
-      !    --------------
-      IF( kt == nit000  )   CALL zdf_tke_init
-
-      ! Local constant 
-      zmlmin = 1.e-8
-      zbbrau =  .5 * ebb / rau0
-      zfact1 = -.5 * rdt * efave
-      zfact2 = 1.5 * rdt * ediss
-      zfact3 = 0.5 * rdt * ediss
-
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! I.  Mixing length
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
-      !                                                ! ===============
-      DO jj = 2, jpjm1                                 !  Vertical slab
-         !                                             ! =============== 
-         ! Buoyancy length scale: l=sqrt(2*e/n**2)
-         ! ---------------------
-         zmxlm(:,jj, 1 ) = zmlmin   ! surface set to the minimum value
-         zmxlm(:,jj,jpk) = zmlmin   ! bottom  set to the minimum value
-!CDIR NOVERRCHK
-         DO jk = 2, jpkm1
-!CDIR NOVERRCHK
-            DO ji = 2, jpim1
-               zrn2 = MAX( rn2(ji,jj,jk), rsmall )
-               zmxlm(ji,jj,jk) = MAX( SQRT( 2. * en(ji,jj,jk) / zrn2 ), zmlmin  )
-            END DO
-         END DO
-
-
-         ! Physical limits for the mixing length
-         ! -------------------------------------
-         zmxld(:,jj, 1 ) = zmlmin   ! surface set to the minimum value
-         zmxld(:,jj,jpk) = zmlmin   ! bottom  set to the minimum value
-
-         SELECT CASE ( nmxl )
-
-         CASE ( 0 )           ! bounded by the distance to surface and bottom
-
-            DO jk = 2, jpkm1
-               DO ji = 2, jpim1
-                  zemxl = MIN( fsdepw(ji,jj,jk), zmxlm(ji,jj,jk),   &
-                  &            fsdepw(ji,jj,mbathy(ji,jj)) - fsdepw(ji,jj,jk) )
-                  zmxlm(ji,jj,jk) = zemxl
-                  zmxld(ji,jj,jk) = zemxl
-               END DO
-            END DO
-
-         CASE ( 1 )           ! bounded by the vertical scale factor
-
-            DO jk = 2, jpkm1
-               DO ji = 2, jpim1
-                  zemxl = MIN( fse3w(ji,jj,jk), zmxlm(ji,jj,jk) )
-                  zmxlm(ji,jj,jk) = zemxl
-                  zmxld(ji,jj,jk) = zemxl
-               END DO
-            END DO
-
-         CASE ( 2 )           ! |dk[xml]| bounded by e3t :
-
-            DO jk = 2, jpk           ! from the surface to the bottom :
-               DO ji = 2, jpim1
-                  zmxlm(ji,jj,jk) = MIN( zmxlm(ji,jj,jk-1) + fse3t(ji,jj,jk-1), zmxlm(ji,jj,jk) )
-               END DO
-            END DO
-            DO jk = jpkm1, 2, -1     ! from the bottom to the surface :
-               DO ji = 2, jpim1
-                  zemxl = MIN( zmxlm(ji,jj,jk+1) + fse3t(ji,jj,jk+1), zmxlm(ji,jj,jk) )
-                  zmxlm(ji,jj,jk) = zemxl
-                  zmxld(ji,jj,jk) = zemxl
-               END DO
-            END DO
-
-         CASE ( 3 )           ! lup and ldown, |dk[xml]| bounded by e3t :
-
-            DO jk = 2, jpk           ! from the surface to the bottom : lup
-               DO ji = 2, jpim1
-                  zmxld(ji,jj,jk) = MIN( zmxld(ji,jj,jk-1) + fse3t(ji,jj,jk-1), zmxlm(ji,jj,jk) )
-               END DO
-            END DO
-            DO jk = jpkm1, 1, -1     ! from the bottom to the surface : ldown
-               DO ji = 2, jpim1
-                  zmxlm(ji,jj,jk) = MIN( zmxlm(ji,jj,jk+1) + fse3t(ji,jj,jk+1), zmxlm(ji,jj,jk) )
-               END DO
-            END DO
-!CDIR NOVERRCHK
-            DO jk = 1, jpk
-!CDIR NOVERRCHK
-               DO ji = 2, jpim1
-                  zemlm = MIN ( zmxld(ji,jj,jk),  zmxlm(ji,jj,jk) )
-                  zemlp = SQRT( zmxld(ji,jj,jk) * zmxlm(ji,jj,jk) )
-                  zmxlm(ji,jj,jk) = zemlm
-                  zmxld(ji,jj,jk) = zemlp
-               END DO
-            END DO
-
-         END SELECT
-
-
-         !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-         ! II  Tubulent kinetic energy time stepping
-         !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
-
-         ! 1. Vertical eddy viscosity on tke (put in zmxlm) and first estimate of avt
-         ! ---------------------------------------------------------------------
-!CDIR NOVERRCHK
-         DO jk = 2, jpkm1
-!CDIR NOVERRCHK
-            DO ji = 2, jpim1
-               zsqen = SQRT( en(ji,jj,jk) )
-               zav   = ediff * zmxlm(ji,jj,jk) * zsqen
-               avt  (ji,jj,jk) = MAX( zav, avtb(jk) ) * tmask(ji,jj,jk)
-               zmxlm(ji,jj,jk) = MAX( zav, avmb(jk) ) * tmask(ji,jj,jk)
-               zmxld(ji,jj,jk) = zsqen / zmxld(ji,jj,jk)
-            END DO
-         END DO
-
-
-         ! 2. Surface boundary condition on tke and its eddy viscosity (zmxlm)
-         ! -------------------------------------------------
-         ! en(1)   = ebb sqrt(taux^2+tauy^2) / rau0  (min value emin0)
-         ! zmxlm(1) = avmb(1) and zmxlm(jpk) = 0.
-!CDIR NOVERRCHK
-         DO ji = 2, jpim1
-            ztx2 = taux(ji-1,jj  ) + taux(ji,jj)
-            zty2 = tauy(ji  ,jj-1) + tauy(ji,jj)
-            zesurf = zbbrau * SQRT( ztx2 * ztx2 + zty2 * zty2 )
-            en (ji,jj,1) = MAX( zesurf, emin0 ) * tmask(ji,jj,1)
-            zmxlm(ji,jj,1  ) = avmb(1) * tmask(ji,jj,1)
-            zmxlm(ji,jj,jpk) = 0.e0
-         END DO
-
-
-         ! 3. Now Turbulent kinetic energy (output in en)
-         ! -------------------------------
-         ! Resolution of a tridiagonal linear system by a "methode de chasse"
-         ! computation from level 2 to jpkm1  (e(1) already computed and
-         ! e(jpk)=0 ). 
-
-         SELECT CASE ( npdl )
-
-         CASE ( 0 )           ! No Prandtl number
-            DO jk = 2, jpkm1
-               DO ji = 2, jpim1
-                  ! zesh2 = eboost * (du/dz)^2 - N^2
-                  zcoef = 0.5 / fse3w(ji,jj,jk)
-                  ! shear
-                  zdku = zcoef * (   ub(ji-1, jj ,jk-1) + ub(ji,jj,jk-1)   &
-                  &                - ub(ji-1, jj ,jk  ) - ub(ji,jj,jk  )  )
-                  zdkv = zcoef * (   vb( ji ,jj-1,jk-1) + vb(ji,jj,jk-1)   &
-                  &                - vb( ji ,jj-1,jk  ) - vb(ji,jj,jk  )  )
-                  ! coefficient (zesh2)
-                  zesh2 =  eboost * ( zdku*zdku + zdkv*zdkv ) - rn2(ji,jj,jk)
-
-                  ! Matrix
-                  zcof = zfact1 * tmask(ji,jj,jk)
-                  ! lower diagonal
-                  avmv(ji,jj,jk) = zcof * ( zmxlm(ji,jj,jk  ) + zmxlm(ji,jj,jk-1) )   &
-                  &                    / ( fse3t(ji,jj,jk-1) * fse3w(ji,jj,jk  ) )
-                  ! upper diagonal
-                  avmu(ji,jj,jk) = zcof * ( zmxlm(ji,jj,jk+1) + zmxlm(ji,jj,jk  ) )   &
-                  &                    / ( fse3t(ji,jj,jk  ) * fse3w(ji,jj,jk) )
-                  ! diagonal
-                  zwd(ji,jj,jk) = 1. - avmv(ji,jj,jk) - avmu(ji,jj,jk) + zfact2 * zmxld(ji,jj,jk)
-                  ! right hand side in en 
-                  en(ji,jj,jk) = en(ji,jj,jk) + zfact3 * zmxld(ji,jj,jk) * en   (ji,jj,jk)   &
-                  &                           +   rdt  * zmxlm(ji,jj,jk) * zesh2
-               END DO
-            END DO
-
-         CASE ( 1 )           ! Prandtl number
-            DO jk = 2, jpkm1
-               DO ji = 2, jpim1
-                  ! zesh2 =  eboost * (du/dz)^2 - pdl * N^2
-                  zcoef = 0.5 / fse3w(ji,jj,jk)
-                  ! shear
-                  zdku = zcoef * (   ub(ji-1,jj  ,jk-1) + ub(ji,jj,jk-1) &
-                  &                - ub(ji-1,jj  ,jk  ) - ub(ji,jj,jk  )   )
-                  zdkv = zcoef * (   vb(ji  ,jj-1,jk-1) + vb(ji,jj,jk-1) &
-                  &                - vb(ji  ,jj-1,jk  ) - vb(ji,jj,jk  )   )
-                  ! square of vertical shear
-                  zsh2 = zdku * zdku + zdkv * zdkv
-                  ! Prandtl number
-                  zri  = MAX( rn2(ji,jj,jk), 0. ) / ( zsh2 + 1.e-20 )
-                  zpdl = 1.0
-                  IF( zri >= 0.2 ) zpdl = 0.2 / zri
-                  zpdl = MAX( 0.1, zpdl )
-                  ! coefficient (esh2)
-                  zesh2 = eboost * zsh2 - zpdl * rn2(ji,jj,jk)
-
-                  ! Matrix
-                  zcof = zfact1 * tmask(ji,jj,jk)
-                  ! lower diagonal
-                  avmv(ji,jj,jk) = zcof * ( zmxlm(ji,jj,jk  ) + zmxlm(ji,jj,jk-1) )   &
-                  &                     / ( fse3t(ji,jj,jk-1) * fse3w(ji,jj,jk  ) )
-                  ! upper diagonal
-                  avmu(ji,jj,jk) = zcof * ( zmxlm(ji,jj,jk+1) + zmxlm(ji,jj,jk  ) )   &
-                  &                     / ( fse3t(ji,jj,jk  ) * fse3w(ji,jj,jk) )
-                  ! diagonal
-                  zwd(ji,jj,jk) = 1. - avmv(ji,jj,jk) - avmu(ji,jj,jk) + zfact2 * zmxld(ji,jj,jk)
-                  ! right hand side in en 
-                  en(ji,jj,jk) = en(ji,jj,jk) + zfact3 * zmxld(ji,jj,jk) * en   (ji,jj,jk)   &
-                  &                           +   rdt  * zmxlm(ji,jj,jk) * zesh2
-                  ! save masked Prandlt number in zmxlm array
-                  zmxld(ji,jj,jk) = zpdl * tmask(ji,jj,jk)
-               END DO
-            END DO
-
-         END SELECT
-
-
-         ! 4. Matrix inversion from level 2 (tke prescribed at level 1)
-         !---------------------------------
-
-         ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1
-         DO jk = 3, jpkm1
-            DO ji = 2, jpim1
-               zwd(ji,jj,jk) = zwd(ji,jj,jk) - avmv(ji,jj,jk) * avmu(ji,jj,jk-1) / zwd(ji,jj,jk-1)
-            END DO
-         END DO
-
-         ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1
-         DO ji = 2, jpim1
-            avmv(ji,jj,2) = en(ji,jj,2) - avmv(ji,jj,2) * en(ji,jj,1)    ! Surface boudary conditions on tke
-         END DO
-         DO jk = 3, jpkm1
-            DO ji = 2, jpim1
-               avmv(ji,jj,jk) = en(ji,jj,jk) - avmv(ji,jj,jk) / zwd(ji,jj,jk-1) *avmv(ji,jj,jk-1)
-            END DO
-         END DO
-
-         ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk
-         DO ji = 2, jpim1
-            en(ji,jj,jpkm1) = avmv(ji,jj,jpkm1) / zwd(ji,jj,jpkm1)
-         END DO
-         DO jk = jpk-2, 2, -1
-            DO ji = 2, jpim1
-               en(ji,jj,jk) = ( avmv(ji,jj,jk) - avmu(ji,jj,jk) * en(ji,jj,jk+1) ) / zwd(ji,jj,jk)
-            END DO
-         END DO
-
-         ! Save the result in en and set minimum value of tke : emin
-         DO jk = 2, jpkm1
-            DO ji = 2, jpim1
-               en(ji,jj,jk) = MAX( en(ji,jj,jk), emin ) * tmask(ji,jj,jk)
-            END DO
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-      ! Lateral boundary conditions on ( avt, en )  (sign unchanged)
-      ! --------------------------------=========
-      CALL lbc_lnk( avt, 'W', 1. )   ;   CALL lbc_lnk( en , 'W', 1. )
-
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! III.  Before vertical eddy vicosity and diffusivity coefficients
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
-      !                                                ! ===============
-      DO jk = 2, jpkm1                                 ! Horizontal slab
-         !                                             ! =============== 
-         SELECT CASE ( nave )
-            
-         CASE ( 0 )                ! no horizontal average
-
-            ! Vertical eddy viscosity
-
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  avmu(ji,jj,jk) = ( avt  (ji,jj,jk) + avt  (ji+1,jj  ,jk) ) * umask(ji,jj,jk)   &
-                  &     / MAX( 1.,   tmask(ji,jj,jk) + tmask(ji+1,jj  ,jk) )
-                  avmv(ji,jj,jk) = ( avt  (ji,jj,jk) + avt  (ji  ,jj+1,jk) ) * vmask(ji,jj,jk)   &
-                  &     / MAX( 1.,   tmask(ji,jj,jk) + tmask(ji  ,jj+1,jk) )
-               END DO
-            END DO
-
-            
-         CASE ( 1 )                ! horizontal average
-
-            !                                                ( 1/2  1/2 )
-            ! Eddy viscosity: horizontal average: avmu = 1/4 ( 1    1   )
-            !                      ( 1/2  1 1/2 )            ( 1/2  1/2 )
-            !           avmv = 1/4 ( 1/2  1 1/2 )      
-            
-!! caution vectopt_memory change the solution (last digit of the solver stat)
-#  if defined key_vectopt_memory
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  avmu(ji,jj,jk) = (      avt(ji,jj  ,jk) + avt(ji+1,jj  ,jk)   &
-                  &                 +.5*( avt(ji,jj-1,jk) + avt(ji+1,jj-1,jk)   &
-                  &                      +avt(ji,jj+1,jk) + avt(ji+1,jj+1,jk) ) ) * eumean(ji,jj,jk)
-
-                  avmv(ji,jj,jk) = (      avt(ji  ,jj,jk) + avt(ji  ,jj+1,jk)   &
-                  &                 +.5*( avt(ji-1,jj,jk) + avt(ji-1,jj+1,jk)   &
-                  &                      +avt(ji+1,jj,jk) + avt(ji+1,jj+1,jk) ) ) * evmean(ji,jj,jk)
-               END DO
-            END DO
-#  else
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  avmu(ji,jj,jk) = (   avt  (ji,jj  ,jk) + avt  (ji+1,jj  ,jk)   &
-                  &              +.5*( avt  (ji,jj-1,jk) + avt  (ji+1,jj-1,jk)   &
-                  &                   +avt  (ji,jj+1,jk) + avt  (ji+1,jj+1,jk) ) ) * umask(ji,jj,jk)  &
-                  &       / MAX( 1.,   tmask(ji,jj  ,jk) + tmask(ji+1,jj  ,jk)   &
-                  &              +.5*( tmask(ji,jj-1,jk) + tmask(ji+1,jj-1,jk)   &
-                  &                   +tmask(ji,jj+1,jk) + tmask(ji+1,jj+1,jk) )  )
-
-                  avmv(ji,jj,jk) = (   avt  (ji  ,jj,jk) + avt  (ji  ,jj+1,jk)   &
-                  &              +.5*( avt  (ji-1,jj,jk) + avt  (ji-1,jj+1,jk)   &
-                  &                   +avt  (ji+1,jj,jk) + avt  (ji+1,jj+1,jk) ) ) * vmask(ji,jj,jk)  &
-                  &      /  MAX( 1.,   tmask(ji  ,jj,jk) + tmask(ji  ,jj+1,jk)   &
-                  &              +.5*( tmask(ji-1,jj,jk) + tmask(ji-1,jj+1,jk)   &
-                  &                   +tmask(ji+1,jj,jk) + tmask(ji+1,jj+1,jk) )  )
-               END DO
-            END DO
-#  endif
-         END SELECT
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-      ! Lateral boundary conditions (avmu,avmv)  (sign unchanged)
-      CALL lbc_lnk( avmu, 'U', 1. )   ;   CALL lbc_lnk( avmv, 'V', 1. )
-
-      !                                                ! ===============
-      DO jk = 2, jpkm1                                 ! Horizontal slab
-         !                                             ! =============== 
-         SELECT CASE ( nave )
-            
-         CASE ( 1 )                ! horizontal average
-
-            ! Vertical eddy diffusivity
-            ! ------------------------------
-            !                                (1 2 1)
-            ! horizontal average  avt = 1/16 (2 4 2)
-            !                                (1 2 1)
-!! caution vectopt_memory change the solution (last digit of the solver stat)
-#  if defined key_vectopt_memory
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  avt(ji,jj,jk) = ( avmu(ji,jj,jk) + avmu(ji-1,jj  ,jk)    &
-                  &               + avmv(ji,jj,jk) + avmv(ji  ,jj-1,jk)  ) * etmean(ji,jj,jk)
-               END DO
-            END DO
-#  else
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  avt(ji,jj,jk) = ( avmu (ji,jj,jk) + avmu (ji-1,jj  ,jk)   &
-                  &               + avmv (ji,jj,jk) + avmv (ji  ,jj-1,jk)  ) * tmask(ji,jj,jk)   &
-                  &     / MAX( 1.,  umask(ji,jj,jk) + umask(ji-1,jj  ,jk)   &
-                  &               + vmask(ji,jj,jk) + vmask(ji  ,jj-1,jk)  )
-               END DO
-            END DO
-#  endif
-         END SELECT
-
-
-         ! multiplied by the Prandtl number (npdl>1)
-         ! ----------------------------------------
-         IF( npdl == 1 ) THEN
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  zpdl = zmxld(ji,jj,jk)
-                  avt(ji,jj,jk) = MAX( zpdl * avt(ji,jj,jk), avtb(jk) ) * tmask(ji,jj,jk)
-               END DO
-            END DO
-         ENDIF
-
-         ! Minimum value on the eddy viscosity
-         ! ----------------------------------------
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               avmu(ji,jj,jk) = MAX( avmu(ji,jj,jk), avmb(jk) ) * umask(ji,jj,jk)
-               avmv(ji,jj,jk) = MAX( avmv(ji,jj,jk), avmb(jk) ) * vmask(ji,jj,jk)
-            END DO
-         END DO
-         !                                             ! ===============
-      END DO                                           !   End of slab
-      !                                                ! ===============
-
-
-      ! Lateral boundary conditions on avt   (W-point (=T), sign unchanged)
-      ! ------------------------------=====
-      CALL lbc_lnk( avt, 'W', 1. )
-
-      ! write en in restart file
-      ! ------------------------
-      IF( lrst_oce )   CALL tke_rst( kt, 'WRITE' )
-
-      IF(ln_ctl) THEN
-         CALL prt_ctl(tab3d_1=en  , clinfo1=' tke  - e: ', tab3d_2=avt , clinfo2=' t: ', ovlap=1, kdim=jpk)
-         CALL prt_ctl(tab3d_1=avmu, clinfo1=' tke  - u: ', mask1=umask, &
-            &         tab3d_2=avmv, clinfo2=       ' v: ', mask2=vmask,ovlap=1, kdim=jpk)
-      ENDIF
-
-   END SUBROUTINE zdf_tke_jki
-
-#else
-   !!----------------------------------------------------------------------
-   !!   Dummy module :                                        NO TKE scheme
-   !!----------------------------------------------------------------------
-CONTAINS
-   SUBROUTINE zdf_tke_jki( kt )          ! Empty routine
-      WRITE(*,*) 'zdf_tke_jki: You should not have seen this print! error?', kt
-   END SUBROUTINE zdf_tke_jki
-#endif
-
-   !!======================================================================
-END MODULE zdftke_jki
Index: /trunk/NEMO/OPA_SRC/eosbn2.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/eosbn2.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/eosbn2.F90	(revision 789)
@@ -488,9 +488,5 @@
          DO jj = 1, jpjm1
 !CDIR NOVERRCHK
-#if defined key_mpp_omp
-            DO ji = 1, jpim1
-#else
             DO ji = 1, fs_jpim1   ! vector opt.
-#endif
                zws(ji,jj) = SQRT( ABS( psal(ji,jj) ) )
             END DO
@@ -500,9 +496,5 @@
          DO jj = 1, jpjm1                                 ! Horizontal slab
             !                                             ! ===============
-#if defined key_mpp_omp
-            DO ji = 1, jpim1
-#else
             DO ji = 1, fs_jpim1   ! vector opt.
-#endif
 
                zmask = tmask(ji,jj,1)      ! land/sea bottom mask = surf. mask
@@ -555,9 +547,5 @@
          DO jj = 1, jpjm1                                 ! Horizontal slab
             !                                             ! ===============
-#if defined key_mpp_omp
-            DO ji = 1, jpim1
-#else
             DO ji = 1, fs_jpim1   ! vector opt.
-#endif
                prd(ji,jj) = ( 0.0285 - ralpha * ptem(ji,jj) ) * tmask(ji,jj,1)
             END DO
@@ -572,9 +560,5 @@
          DO jj = 1, jpjm1                                 ! Horizontal slab
             !                                             ! ===============
-#if defined key_mpp_omp
-            DO ji = 1, jpim1
-#else
             DO ji = 1, fs_jpim1   ! vector opt.
-#endif
                prd(ji,jj) = ( rbeta * psal(ji,jj) - ralpha * ptem(ji,jj) ) * tmask(ji,jj,1) 
             END DO
Index: /trunk/NEMO/OPA_SRC/par_oce.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/par_oce.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/par_oce.F90	(revision 789)
@@ -219,10 +219,4 @@
 #endif
 
-#if defined key_mpp_omp
-   LOGICAL, PUBLIC, PARAMETER ::   lk_jki = .TRUE.   !: j-k-i loop flag
-#else
-   LOGICAL, PUBLIC, PARAMETER ::   lk_jki = .FALSE.  !: k-j-i loop flag
-#endif
-
    !!======================================================================
 END MODULE par_oce
Index: /trunk/NEMO/OPA_SRC/step.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/step.F90	(revision 788)
+++ /trunk/NEMO/OPA_SRC/step.F90	(revision 789)
@@ -88,5 +88,4 @@
    USE zdfbfr          ! bottom friction                  (zdf_bfr routine)
    USE zdftke          ! TKE vertical mixing              (zdf_tke routine)
-   USE zdftke_jki      ! TKE vertical mixing              (zdf_tke routine)
    USE zdfkpp          ! KPP vertical mixing              (zdf_kpp routine)
    USE zdfddm          ! double diffusion mixing          (zdf_ddm routine)
@@ -248,9 +247,7 @@
       !                                                     ! Vertical eddy viscosity and diffusivity coefficients
       IF( lk_zdfric )   CALL zdf_ric( kstp )                       ! Richardson number dependent Kz
-#if defined key_mpp_omp
-      IF( lk_zdftke )   CALL zdf_tke_jki( kstp )                   ! TKE closure scheme for Kz - j-k-i loops
-#else
+
       IF( lk_zdftke )   CALL zdf_tke( kstp )                       ! TKE closure scheme for Kz
-#endif
+
       IF( lk_zdfkpp )   CALL zdf_kpp( kstp )                       ! KPP closure scheme for Kz
 
