Index: trunk/CONFIG/POMME/scripts/BB_make
===================================================================
--- trunk/CONFIG/POMME/scripts/BB_make	(revision 1875)
+++ trunk/CONFIG/POMME/scripts/BB_make	(revision 1943)
@@ -101,5 +101,5 @@
 
 #check key compatibility
-keycompat=$(if $(and $(findstring $1,$(P_P)),$(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
+keycompat=$(if $(word 2, $(findstring $1,$(P_P)) $(findstring $2,$(P_P))),$(error $1 and $2 NOT compatible))
 
 KEY_LIST = \
@@ -153,5 +153,4 @@
      key_oasis4 \
      key_obc \
-     key_off_tra \
      key_orca_lev10 \
      key_orca_r025 \
@@ -179,5 +178,4 @@
      key_vvl \
      key_zco \
-     key_zco \
      key_zdfcst \
      key_zdfddm \
@@ -191,12 +189,7 @@
 		$(MODEL_LIB)(lib_cray.o)\
 		$(MODEL_LIB)(lib_print.o)\
-		$(MODEL_LIB)(agrif_oce.o)\
 		$(MODEL_LIB)(agrif_opa_interp.o)\
 		$(MODEL_LIB)(agrif_opa_sponge.o)\
 		$(MODEL_LIB)(agrif_opa_update.o)\
-		$(MODEL_LIB)(agrif_top_interp.o)\
-		$(MODEL_LIB)(agrif_top_sponge.o)\
-		$(MODEL_LIB)(agrif_top_update.o)\
-		$(MODEL_LIB)(agrif_user.o)\
 		$(MODEL_LIB)(albedo.o)\
 		$(MODEL_LIB)(bdy_oce.o)\
@@ -437,5 +430,5 @@
 
 # Agrif library and conv
-libagrif :  $(call keycompat,key_iomput,key_agrif)
+libagrif :
 ifeq ($(AGRIF),use)
 	@( if [ ! -d OPAFILES ]; then mkdir OPAFILES; fi )
@@ -568,311 +561,10 @@
 		@if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi
 
-$(MODEL_LIB)(agrif_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	par_oce.F90 \
-	KEY_CPP \
-	agrif_oce.F90
 $(MODEL_LIB)(agrif_opa_interp.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
 	agrif_opa_interp.F90
 $(MODEL_LIB)(agrif_opa_sponge.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
 	agrif_opa_sponge.F90
 $(MODEL_LIB)(agrif_opa_update.o) :	\
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(diaar5.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	bdy_oce.F90 \
-	cla_div.F90 \
-	diaar5.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sshwzv.o) \
-	agrif_oce.F90 \
-	cla_div.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	sshwzv.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
 	agrif_opa_update.F90
-$(MODEL_LIB)(agrif_top_interp.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	agrif_top_interp.F90
-$(MODEL_LIB)(agrif_top_sponge.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	agrif_top_sponge.F90
-$(MODEL_LIB)(agrif_top_update.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	agrif_oce.F90 \
-	dom_oce.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	agrif_top_update.F90
-$(MODEL_LIB)(agrif_user.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdyini.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(cpl_oasis4.o) \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domain.o) \
-	$(MODEL_LIB)(domcfg.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dyncor_c1d.o) \
-	$(MODEL_LIB)(dynhpg.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(istate.o) \
-	$(MODEL_LIB)(ldfdyn.o) \
-	$(MODEL_LIB)(ldftra.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(mppini.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcini.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcmod.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(sshwzv.o) \
-	$(MODEL_LIB)(step.o) \
-	$(MODEL_LIB)(step_c1d.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfini.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	agrif_oce.F90 \
-	bdy_par.F90 \
-	bdyini.F90 \
-	c1d.F90 \
-	cla_div.F90 \
-	cpl_oasis3.F90 \
-	cpl_oasis4.F90 \
-	diaptr.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	domain.F90 \
-	domcfg.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dyncor_c1d.F90 \
-	dynhpg.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	istate.F90 \
-	ldfdyn.F90 \
-	ldftra.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	mppini.F90 \
-	obc_par.F90 \
-	obcini.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	sbcmod.F90 \
-	sol_oce.F90 \
-	sshwzv.F90 \
-	step.F90 \
-	step_c1d.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	zdfini.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(agrif_oce.o) \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(agrif_opa_sponge.o) \
-	$(MODEL_LIB)(agrif_opa_update.o) \
-	$(MODEL_LIB)(agrif_top_interp.o) \
-	$(MODEL_LIB)(agrif_top_sponge.o) \
-	$(MODEL_LIB)(agrif_top_update.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(opa.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	agrif_oce.F90 \
-	agrif_opa_interp.F90 \
-	agrif_opa_sponge.F90 \
-	agrif_opa_update.F90 \
-	agrif_top_interp.F90 \
-	agrif_top_sponge.F90 \
-	agrif_top_update.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	opa.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
-	tradmp.F90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	agrif_user.F90
 $(MODEL_LIB)(albedo.o) :	\
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3168,10 +2860,7 @@
 	dynldf_lap.F90
 $(MODEL_LIB)(dynnxt.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
 	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(divcur.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynadv_cen2.o) \
@@ -3193,12 +2882,7 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(sshwzv.o) \
-	agrif_oce.F90 \
 	bdy_oce.F90 \
 	bdy_par.F90 \
 	bdytides.F90 \
-	cla_div.F90 \
-	divcur.F90 \
 	dom_oce.F90 \
 	dynadv_cen2.F90 \
@@ -3220,6 +2904,4 @@
 	phycst.F90 \
 	sbc_oce.F90 \
-	sol_oce.F90 \
-	sshwzv.F90 \
 	$(MODEL_LIB)(agrif_opa_interp.o) \
 	$(MODEL_LIB)(agrif_opa_update.o) \
@@ -3494,5 +3176,4 @@
 	dynspg_exp.F90
 $(MODEL_LIB)(dynspg_flt.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
@@ -3536,5 +3217,4 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	agrif_oce.F90 \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -5643,4 +5323,5 @@
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
@@ -5653,4 +5334,5 @@
 	limistate_2.F90 \
 	phycst.F90 \
+	sbc_oce.F90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
@@ -7903,5 +7585,4 @@
 	sshwzv.F90
 $(MODEL_LIB)(step.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(agrif_opa_interp.o) \
 	$(MODEL_LIB)(agrif_opa_update.o) \
@@ -8025,5 +7706,4 @@
 	$(MODEL_LIB)(zdftke_old.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	agrif_oce.F90 \
 	agrif_opa_interp.F90 \
 	agrif_opa_update.F90 \
@@ -9949,8 +9629,5 @@
 	tranpc.F90
 $(MODEL_LIB)(tranxt.o) :	\
-	$(MODEL_LIB)(agrif_oce.o) \
 	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(divcur.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9968,6 +9645,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(sshwzv.o) \
 	$(MODEL_LIB)(trdicp.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
@@ -9979,8 +9654,5 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	agrif_oce.F90 \
 	bdy_oce.F90 \
-	cla_div.F90 \
-	divcur.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -9998,6 +9670,4 @@
 	prtctl.F90 \
 	sbc_oce.F90 \
-	sol_oce.F90 \
-	sshwzv.F90 \
 	trdicp.F90 \
 	trdicp_oce.F90 \
