Index: /branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/OPA_SRC/ASM/asmbgc.F90
===================================================================
--- /branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/OPA_SRC/ASM/asmbgc.F90	(revision 10666)
+++ /branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/OPA_SRC/ASM/asmbgc.F90	(revision 10667)
@@ -641,21 +641,21 @@
          CALL iom_get( inum, jpdom_autoglo, 'medusa_pds', tracer_bkg(:,:,:,jppds) )
 #elif defined key_fabm
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_chl1', tracer_bkg(:,:,:,jp_fabm_chl1) )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_chl2', tracer_bkg(:,:,:,jp_fabm_chl2) )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_chl3', tracer_bkg(:,:,:,jp_fabm_chl3) )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_chl4', tracer_bkg(:,:,:,jp_fabm_chl4) )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p1c',  tracer_bkg(:,:,:,jp_fabm_p1c)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p1n',  tracer_bkg(:,:,:,jp_fabm_p1n)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p1p',  tracer_bkg(:,:,:,jp_fabm_p1p)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p1s',  tracer_bkg(:,:,:,jp_fabm_p1s)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p2c',  tracer_bkg(:,:,:,jp_fabm_p2c)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p2n',  tracer_bkg(:,:,:,jp_fabm_p2n)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p2p',  tracer_bkg(:,:,:,jp_fabm_p2p)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p3c',  tracer_bkg(:,:,:,jp_fabm_p3c)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p3n',  tracer_bkg(:,:,:,jp_fabm_p3n)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p3p',  tracer_bkg(:,:,:,jp_fabm_p3p)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p4c',  tracer_bkg(:,:,:,jp_fabm_p4c)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p4n',  tracer_bkg(:,:,:,jp_fabm_p4n)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_p4p',  tracer_bkg(:,:,:,jp_fabm_p4p)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_chl1', tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_chl1) )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_chl2', tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_chl2) )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_chl3', tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_chl3) )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_chl4', tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_chl4) )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p1c',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p1c)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p1n',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p1n)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p1p',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p1p)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p1s',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p1s)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p2c',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p2c)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p2n',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p2n)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p2p',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p2p)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p3c',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p3c)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p3n',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p3n)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p3p',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p3p)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p4c',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p4c)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p4n',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p4n)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_p4p',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p4p)  )
 #endif
          
@@ -690,18 +690,18 @@
             CALL iom_get( inum, jpdom_autoglo, 'medusa_oxy', tracer_bkg(:,:,:,jpoxy) )
 #elif defined key_fabm
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_z4c',  tracer_bkg(:,:,:,jp_fabm_z4c)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_z5c',  tracer_bkg(:,:,:,jp_fabm_z5c)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_z5n',  tracer_bkg(:,:,:,jp_fabm_z5n)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_z5p',  tracer_bkg(:,:,:,jp_fabm_z5p)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_z6c',  tracer_bkg(:,:,:,jp_fabm_z6c)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_z6n',  tracer_bkg(:,:,:,jp_fabm_z6n)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_z6p',  tracer_bkg(:,:,:,jp_fabm_z6p)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_n1p',  tracer_bkg(:,:,:,jp_fabm_n1p)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_n3n',  tracer_bkg(:,:,:,jp_fabm_n3n)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_n4n',  tracer_bkg(:,:,:,jp_fabm_n4n)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_n5s',  tracer_bkg(:,:,:,jp_fabm_n5s)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_o2o',  tracer_bkg(:,:,:,jp_fabm_o2o)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_o3c',  tracer_bkg(:,:,:,jp_fabm_o3c)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_o3ba', tracer_bkg(:,:,:,jp_fabm_o3ba) )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_z4c',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z4c)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_z5c',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z5c)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_z5n',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z5n)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_z5p',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z5p)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_z6c',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z6c)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_z6n',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z6n)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_z6p',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z6p)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_n1p',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_n1p)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_n3n',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_n3n)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_n4n',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_n4n)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_n5s',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_n5s)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_o2o',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_o2o)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_o3c',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_o3c)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_o3ba', tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_o3ba) )
             CALL iom_get( inum, jpdom_autoglo, 'ersem_o3ta', totalk_bkg(:,:,:)              )
             totalk_bkg(:,:,:) = totalk_bkg(:,:,:) * tmask(:,:,:)
@@ -715,6 +715,6 @@
             CALL iom_get( inum, jpdom_autoglo, 'medusa_alk', tracer_bkg(:,:,:,jpalk) )
 #elif defined key_fabm
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_o3c',  tracer_bkg(:,:,:,jp_fabm_o3c)  )
-            CALL iom_get( inum, jpdom_autoglo, 'ersem_o3ba', tracer_bkg(:,:,:,jp_fabm_o3ba) )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_o3c',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_o3c)  )
+            CALL iom_get( inum, jpdom_autoglo, 'ersem_o3ba', tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_o3ba) )
             CALL iom_get( inum, jpdom_autoglo, 'ersem_o3ta', totalk_bkg(:,:,:)              )
             totalk_bkg(:,:,:) = totalk_bkg(:,:,:) * tmask(:,:,:)
@@ -746,6 +746,6 @@
          CALL iom_get( inum, jpdom_autoglo, 'medusa_alk', tracer_bkg(:,:,:,jpalk) )
 #elif defined key_fabm
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_o3c',  tracer_bkg(:,:,:,jp_fabm_o3c)  )
-         CALL iom_get( inum, jpdom_autoglo, 'ersem_o3ba', tracer_bkg(:,:,:,jp_fabm_o3ba) )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_o3c',  tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_o3c)  )
+         CALL iom_get( inum, jpdom_autoglo, 'ersem_o3ba', tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_o3ba) )
          CALL iom_get( inum, jpdom_autoglo, 'ersem_o3ta', totalk_bkg(:,:,:)              )
          totalk_bkg(:,:,:) = totalk_bkg(:,:,:) * tmask(:,:,:)
@@ -846,36 +846,36 @@
             ENDIF
 #elif defined key_fabm
-            CALL iom_rstput( kt, kt, inum, 'phy2d_chl1', phyto2d_balinc(:,:,:,jp_fabm_chl1) )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_chl2', phyto2d_balinc(:,:,:,jp_fabm_chl2) )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_chl3', phyto2d_balinc(:,:,:,jp_fabm_chl3) )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_chl4', phyto2d_balinc(:,:,:,jp_fabm_chl4) )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p1c',  phyto2d_balinc(:,:,:,jp_fabm_p1c)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p1n',  phyto2d_balinc(:,:,:,jp_fabm_p1n)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p1p',  phyto2d_balinc(:,:,:,jp_fabm_p1p)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p1s',  phyto2d_balinc(:,:,:,jp_fabm_p1s)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p2c',  phyto2d_balinc(:,:,:,jp_fabm_p2c)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p2n',  phyto2d_balinc(:,:,:,jp_fabm_p2n)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p2p',  phyto2d_balinc(:,:,:,jp_fabm_p2p)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p3c',  phyto2d_balinc(:,:,:,jp_fabm_p3c)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p3n',  phyto2d_balinc(:,:,:,jp_fabm_p3n)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p3p',  phyto2d_balinc(:,:,:,jp_fabm_p3p)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p4c',  phyto2d_balinc(:,:,:,jp_fabm_p4c)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p4n',  phyto2d_balinc(:,:,:,jp_fabm_p4n)  )
-            CALL iom_rstput( kt, kt, inum, 'phy2d_p4p',  phyto2d_balinc(:,:,:,jp_fabm_p4p)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_chl1', phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl1) )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_chl2', phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl2) )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_chl3', phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl3) )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_chl4', phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl4) )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p1c',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p1c)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p1n',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p1n)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p1p',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p1p)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p1s',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p1s)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p2c',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p2c)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p2n',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p2n)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p2p',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p2p)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p3c',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p3c)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p3n',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p3n)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p3p',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p3p)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p4c',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p4c)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p4n',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p4n)  )
+            CALL iom_rstput( kt, kt, inum, 'phy2d_p4p',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p4p)  )
             IF ( ln_phytobal ) THEN
-               CALL iom_rstput( kt, kt, inum, 'phy2d_z4c',   phyto2d_balinc(:,:,:,jp_fabm_z4c)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_z5c',   phyto2d_balinc(:,:,:,jp_fabm_z5c)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_z5n',   phyto2d_balinc(:,:,:,jp_fabm_z5n)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_z5p',   phyto2d_balinc(:,:,:,jp_fabm_z5p)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_z6c',   phyto2d_balinc(:,:,:,jp_fabm_z6c)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_z6n',   phyto2d_balinc(:,:,:,jp_fabm_z6n)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_z6p',   phyto2d_balinc(:,:,:,jp_fabm_z6p)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_n1p',   phyto2d_balinc(:,:,:,jp_fabm_n1p)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_n3n',   phyto2d_balinc(:,:,:,jp_fabm_n3n)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_n4n',   phyto2d_balinc(:,:,:,jp_fabm_n4n)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_n5s',   phyto2d_balinc(:,:,:,jp_fabm_n5s)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_o2o',   phyto2d_balinc(:,:,:,jp_fabm_o2o)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_o3c',   phyto2d_balinc(:,:,:,jp_fabm_o3c)  )
-               CALL iom_rstput( kt, kt, inum, 'phy2d_o3ba',  phyto2d_balinc(:,:,:,jp_fabm_o3ba) )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_z4c',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_z4c)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_z5c',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_z5c)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_z5n',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_z5n)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_z5p',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_z5p)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_z6c',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_z6c)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_z6n',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_z6n)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_z6p',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_z6p)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_n1p',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_n1p)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_n3n',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_n3n)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_n4n',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_n4n)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_n5s',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_n5s)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_o2o',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_o2o)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_o3c',   phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_o3c)  )
+               CALL iom_rstput( kt, kt, inum, 'phy2d_o3ba',  phyto2d_balinc(:,:,:,jp_fabm_m1+jp_fabm_o3ba) )
             ENDIF
 #endif
@@ -892,21 +892,21 @@
             CALL iom_rstput( kt, kt, inum, 'phy3d_phy', phyto3d_balinc(:,:,:,jp_had_phy) )
 #elif defined key_fabm
-            CALL iom_rstput( kt, kt, inum, 'phy3d_chl1', phyto3d_balinc(:,:,:,jp_fabm_chl1) )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_chl2', phyto3d_balinc(:,:,:,jp_fabm_chl2) )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_chl3', phyto3d_balinc(:,:,:,jp_fabm_chl3) )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_chl4', phyto3d_balinc(:,:,:,jp_fabm_chl4) )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p1c',  phyto3d_balinc(:,:,:,jp_fabm_p1c)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p1n',  phyto3d_balinc(:,:,:,jp_fabm_p1n)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p1p',  phyto3d_balinc(:,:,:,jp_fabm_p1p)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p1s',  phyto3d_balinc(:,:,:,jp_fabm_p1s)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p2c',  phyto3d_balinc(:,:,:,jp_fabm_p2c)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p2n',  phyto3d_balinc(:,:,:,jp_fabm_p2n)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p2p',  phyto3d_balinc(:,:,:,jp_fabm_p2p)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p3c',  phyto3d_balinc(:,:,:,jp_fabm_p3c)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p3n',  phyto3d_balinc(:,:,:,jp_fabm_p3n)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p3p',  phyto3d_balinc(:,:,:,jp_fabm_p3p)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p4c',  phyto3d_balinc(:,:,:,jp_fabm_p4c)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p4n',  phyto3d_balinc(:,:,:,jp_fabm_p4n)  )
-            CALL iom_rstput( kt, kt, inum, 'phy3d_p4p',  phyto3d_balinc(:,:,:,jp_fabm_p4p)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_chl1', phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl1) )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_chl2', phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl2) )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_chl3', phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl3) )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_chl4', phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl4) )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p1c',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p1c)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p1n',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p1n)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p1p',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p1p)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p1s',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p1s)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p2c',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p2c)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p2n',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p2n)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p2p',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p2p)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p3c',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p3c)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p3n',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p3n)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p3p',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p3p)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p4c',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p4c)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p4n',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p4n)  )
+            CALL iom_rstput( kt, kt, inum, 'phy3d_p4p',  phyto3d_balinc(:,:,:,jp_fabm_m1+jp_fabm_p4p)  )
 #endif
          ENDIF
@@ -920,6 +920,6 @@
             CALL iom_rstput( kt, kt, inum, 'pco2_alk', pco2_balinc(:,:,:,jp_had_alk) )
 #elif defined key_fabm
-            CALL iom_rstput( kt, kt, inum, 'pco2_o3c',  pco2_balinc(:,:,:,jp_fabm_o3c)  )
-            CALL iom_rstput( kt, kt, inum, 'pco2_o3ba', pco2_balinc(:,:,:,jp_fabm_o3ba) )
+            CALL iom_rstput( kt, kt, inum, 'pco2_o3c',  pco2_balinc(:,:,:,jp_fabm_m1+jp_fabm_o3c)  )
+            CALL iom_rstput( kt, kt, inum, 'pco2_o3ba', pco2_balinc(:,:,:,jp_fabm_m1+jp_fabm_o3ba) )
 #endif
          ELSE IF ( ln_sfco2inc ) THEN
@@ -931,6 +931,6 @@
             CALL iom_rstput( kt, kt, inum, 'fco2_alk', pco2_balinc(:,:,:,jp_had_alk) )
 #elif defined key_fabm
-            CALL iom_rstput( kt, kt, inum, 'fco2_o3c',  pco2_balinc(:,:,:,jp_fabm_o3c)  )
-            CALL iom_rstput( kt, kt, inum, 'fco2_o3ba', pco2_balinc(:,:,:,jp_fabm_o3ba) )
+            CALL iom_rstput( kt, kt, inum, 'fco2_o3c',  pco2_balinc(:,:,:,jp_fabm_m1+jp_fabm_o3c)  )
+            CALL iom_rstput( kt, kt, inum, 'fco2_o3ba', pco2_balinc(:,:,:,jp_fabm_m1+jp_fabm_o3ba) )
 #endif
          ENDIF
@@ -944,6 +944,6 @@
             CALL iom_rstput( kt, kt, inum, 'ph_alk', ph_balinc(:,:,:,jp_had_alk) )
 #elif defined key_fabm
-            CALL iom_rstput( kt, kt, inum, 'ph_o3c',  ph_balinc(:,:,:,jp_fabm_o3c)  )
-            CALL iom_rstput( kt, kt, inum, 'ph_o3ba', ph_balinc(:,:,:,jp_fabm_o3ba) )
+            CALL iom_rstput( kt, kt, inum, 'ph_o3c',  ph_balinc(:,:,:,jp_fabm_m1+jp_fabm_o3c)  )
+            CALL iom_rstput( kt, kt, inum, 'ph_o3ba', ph_balinc(:,:,:,jp_fabm_m1+jp_fabm_o3ba) )
 #endif
          ENDIF
@@ -1159,35 +1159,35 @@
       CALL iom_rstput( kt, nitbgcbkg_r, knum, 'phyt_avg'    , phyt_avg_tavg                )
       CALL iom_rstput( kt, nitbgcbkg_r, knum, 'mld_max'     , mld_max                      )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_chl1'  , trn_tavg(:,:,:,jp_fabm_chl1) )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_chl2'  , trn_tavg(:,:,:,jp_fabm_chl2) )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_chl3'  , trn_tavg(:,:,:,jp_fabm_chl3) )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_chl4'  , trn_tavg(:,:,:,jp_fabm_chl4) )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p1c'   , trn_tavg(:,:,:,jp_fabm_p1c)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p1n'   , trn_tavg(:,:,:,jp_fabm_p1n)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p1p'   , trn_tavg(:,:,:,jp_fabm_p1p)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p1s'   , trn_tavg(:,:,:,jp_fabm_p1s)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p2c'   , trn_tavg(:,:,:,jp_fabm_p2c)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p2n'   , trn_tavg(:,:,:,jp_fabm_p2n)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p2p'   , trn_tavg(:,:,:,jp_fabm_p2p)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p3c'   , trn_tavg(:,:,:,jp_fabm_p3c)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p3n'   , trn_tavg(:,:,:,jp_fabm_p3n)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p3p'   , trn_tavg(:,:,:,jp_fabm_p3p)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p4c'   , trn_tavg(:,:,:,jp_fabm_p4c)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p4n'   , trn_tavg(:,:,:,jp_fabm_p4n)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p4p'   , trn_tavg(:,:,:,jp_fabm_p4p)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z4c'   , trn_tavg(:,:,:,jp_fabm_z4c)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z5c'   , trn_tavg(:,:,:,jp_fabm_z5c)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z5n'   , trn_tavg(:,:,:,jp_fabm_z5n)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z5p'   , trn_tavg(:,:,:,jp_fabm_z5p)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z6c'   , trn_tavg(:,:,:,jp_fabm_z6c)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z6n'   , trn_tavg(:,:,:,jp_fabm_z6n)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z6p'   , trn_tavg(:,:,:,jp_fabm_z6p)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_n1p'   , trn_tavg(:,:,:,jp_fabm_n1p)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_n3n'   , trn_tavg(:,:,:,jp_fabm_n3n)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_n4n'   , trn_tavg(:,:,:,jp_fabm_n4n)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_n5s'   , trn_tavg(:,:,:,jp_fabm_n5s)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_o2o'   , trn_tavg(:,:,:,jp_fabm_o2o)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_o3c'   , trn_tavg(:,:,:,jp_fabm_o3c)  )
-      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_o3ba'  , trn_tavg(:,:,:,jp_fabm_o3ba) )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_chl1'  , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_chl1) )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_chl2'  , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_chl2) )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_chl3'  , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_chl3) )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_chl4'  , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_chl4) )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p1c'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p1c)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p1n'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p1n)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p1p'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p1p)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p1s'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p1s)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p2c'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p2c)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p2n'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p2n)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p2p'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p2p)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p3c'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p3c)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p3n'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p3n)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p3p'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p3p)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p4c'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p4c)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p4n'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p4n)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_p4p'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_p4p)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z4c'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_z4c)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z5c'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_z5c)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z5n'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_z5n)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z5p'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_z5p)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z6c'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_z6c)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z6n'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_z6n)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_z6p'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_z6p)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_n1p'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_n1p)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_n3n'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_n3n)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_n4n'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_n4n)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_n5s'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_n5s)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_o2o'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_o2o)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_o3c'   , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_o3c)  )
+      CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_o3ba'  , trn_tavg(:,:,:,jp_fabm_m1+jp_fabm_o3ba) )
       CALL iom_rstput( kt, nitbgcbkg_r, knum, 'ersem_o3ta'  , totalk_tavg                  )
 #endif
@@ -1302,8 +1302,8 @@
             zbkg_chltot(:,:) = chl_bkg(:,:,1)
 #elif defined key_fabm
-            zbkg_chltot(:,:) = tracer_bkg(:,:,1,jp_fabm_chl1) + &
-               &               tracer_bkg(:,:,1,jp_fabm_chl2) + &
-               &               tracer_bkg(:,:,1,jp_fabm_chl3) + &
-               &               tracer_bkg(:,:,1,jp_fabm_chl4)
+            zbkg_chltot(:,:) = tracer_bkg(:,:,1,jp_fabm_m1+jp_fabm_chl1) + &
+               &               tracer_bkg(:,:,1,jp_fabm_m1+jp_fabm_chl2) + &
+               &               tracer_bkg(:,:,1,jp_fabm_m1+jp_fabm_chl3) + &
+               &               tracer_bkg(:,:,1,jp_fabm_m1+jp_fabm_chl4)
 #endif
             CALL asm_bgc_unlog_2d( zbkg_chltot, slchltot_bkginc, zinc_chltot )
@@ -1320,5 +1320,5 @@
             zbkg_chldia(:,:) = tracer_bkg(:,:,1,jpchd)
 #elif defined key_fabm
-            zbkg_chldia(:,:) = tracer_bkg(:,:,1,jp_fabm_chl1)
+            zbkg_chldia(:,:) = tracer_bkg(:,:,1,jp_fabm_m1+jp_fabm_chl1)
 #endif
             CALL asm_bgc_unlog_2d( zbkg_chldia, slchldia_bkginc, zinc_chldia )
@@ -1341,5 +1341,5 @@
          ! Nanophytoplankton chlorophyll
          IF ( ln_slchlnaninc ) THEN
-            zbkg_chlnan(:,:) = tracer_bkg(:,:,1,jp_fabm_chl2)
+            zbkg_chlnan(:,:) = tracer_bkg(:,:,1,jp_fabm_m1+jp_fabm_chl2)
             CALL asm_bgc_unlog_2d( zbkg_chlnan, slchlnan_bkginc, zinc_chlnan )
          ELSE
@@ -1349,5 +1349,5 @@
          ! Picophytoplankton chlorophyll
          IF ( ln_slchlpicinc ) THEN
-            zbkg_chlpic(:,:) = tracer_bkg(:,:,1,jp_fabm_chl3)
+            zbkg_chlpic(:,:) = tracer_bkg(:,:,1,jp_fabm_m1+jp_fabm_chl3)
             CALL asm_bgc_unlog_2d( zbkg_chlpic, slchlpic_bkginc, zinc_chlpic )
          ELSE
@@ -1357,5 +1357,5 @@
          ! Dinoflagellate chlorophyll
          IF ( ln_slchldininc ) THEN
-            zbkg_chldin(:,:) = tracer_bkg(:,:,1,jp_fabm_chl4)
+            zbkg_chldin(:,:) = tracer_bkg(:,:,1,jp_fabm_m1+jp_fabm_chl4)
             CALL asm_bgc_unlog_2d( zbkg_chldin, slchldin_bkginc, zinc_chldin )
          ELSE
@@ -1647,8 +1647,8 @@
             bkg_chl(:,:,:) = chl_bkg(:,:,:)
 #elif defined key_fabm
-            bkg_chl(:,:,:) = tracer_bkg(:,:,:,jp_fabm_chl1) + &
-               &             tracer_bkg(:,:,:,jp_fabm_chl2) + &
-               &             tracer_bkg(:,:,:,jp_fabm_chl3) + &
-               &             tracer_bkg(:,:,:,jp_fabm_chl4)
+            bkg_chl(:,:,:) = tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_chl1) + &
+               &             tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_chl2) + &
+               &             tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_chl3) + &
+               &             tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_chl4)
 #endif
             DO jk = 1, jpk
@@ -1707,42 +1707,42 @@
             DO jj = 1, jpj
                DO ji = 1, jpi
-                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_chl1) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_chl2) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_chl3) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_chl4) > 0.0 ) ) THEN
-                     zfrac_chl1 = tracer_bkg(ji,jj,jk,jp_fabm_chl1) / bkg_chl(ji,jj,jk)
-                     zfrac_chl2 = tracer_bkg(ji,jj,jk,jp_fabm_chl2) / bkg_chl(ji,jj,jk)
-                     zfrac_chl3 = tracer_bkg(ji,jj,jk,jp_fabm_chl3) / bkg_chl(ji,jj,jk)
-                     zfrac_chl4 = tracer_bkg(ji,jj,jk,jp_fabm_chl4) / bkg_chl(ji,jj,jk)
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_chl1) = chl_inc(ji,jj,jk) * zfrac_chl1
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_chl2) = chl_inc(ji,jj,jk) * zfrac_chl2
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_chl3) = chl_inc(ji,jj,jk) * zfrac_chl3
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_chl4) = chl_inc(ji,jj,jk) * zfrac_chl4
-                     zrat_p1c_chl1 = tracer_bkg(ji,jj,jk,jp_fabm_p1c) / tracer_bkg(ji,jj,jk,jp_fabm_chl1)
-                     zrat_p1n_chl1 = tracer_bkg(ji,jj,jk,jp_fabm_p1n) / tracer_bkg(ji,jj,jk,jp_fabm_chl1)
-                     zrat_p1p_chl1 = tracer_bkg(ji,jj,jk,jp_fabm_p1p) / tracer_bkg(ji,jj,jk,jp_fabm_chl1)
-                     zrat_p1s_chl1 = tracer_bkg(ji,jj,jk,jp_fabm_p1s) / tracer_bkg(ji,jj,jk,jp_fabm_chl1)
-                     zrat_p2c_chl2 = tracer_bkg(ji,jj,jk,jp_fabm_p2c) / tracer_bkg(ji,jj,jk,jp_fabm_chl2)
-                     zrat_p2n_chl2 = tracer_bkg(ji,jj,jk,jp_fabm_p2n) / tracer_bkg(ji,jj,jk,jp_fabm_chl2)
-                     zrat_p2p_chl2 = tracer_bkg(ji,jj,jk,jp_fabm_p2p) / tracer_bkg(ji,jj,jk,jp_fabm_chl2)
-                     zrat_p3c_chl3 = tracer_bkg(ji,jj,jk,jp_fabm_p3c) / tracer_bkg(ji,jj,jk,jp_fabm_chl3)
-                     zrat_p3n_chl3 = tracer_bkg(ji,jj,jk,jp_fabm_p3n) / tracer_bkg(ji,jj,jk,jp_fabm_chl3)
-                     zrat_p3p_chl3 = tracer_bkg(ji,jj,jk,jp_fabm_p3p) / tracer_bkg(ji,jj,jk,jp_fabm_chl3)
-                     zrat_p4c_chl4 = tracer_bkg(ji,jj,jk,jp_fabm_p4c) / tracer_bkg(ji,jj,jk,jp_fabm_chl4)
-                     zrat_p4n_chl4 = tracer_bkg(ji,jj,jk,jp_fabm_p4n) / tracer_bkg(ji,jj,jk,jp_fabm_chl4)
-                     zrat_p4p_chl4 = tracer_bkg(ji,jj,jk,jp_fabm_p4p) / tracer_bkg(ji,jj,jk,jp_fabm_chl4)
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p1c) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl1) * zrat_p1c_chl1
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p1n) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl1) * zrat_p1n_chl1
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p1p) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl1) * zrat_p1p_chl1
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p1s) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl1) * zrat_p1s_chl1
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p2c) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl2) * zrat_p2c_chl2
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p2n) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl2) * zrat_p2n_chl2
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p2p) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl2) * zrat_p2p_chl2
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p3c) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl3) * zrat_p3c_chl3
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p3n) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl3) * zrat_p3n_chl3
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p3p) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl3) * zrat_p3p_chl3
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p4c) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl4) * zrat_p4c_chl4
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p4n) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl4) * zrat_p4n_chl4
-                     phyto3d_balinc(ji,jj,jk,jp_fabm_p4p) = phyto3d_balinc(ji,jj,jk,jp_fabm_chl4) * zrat_p4p_chl4
+                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) > 0.0 ) ) THEN
+                     zfrac_chl1 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) / bkg_chl(ji,jj,jk)
+                     zfrac_chl2 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) / bkg_chl(ji,jj,jk)
+                     zfrac_chl3 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) / bkg_chl(ji,jj,jk)
+                     zfrac_chl4 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) / bkg_chl(ji,jj,jk)
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) = chl_inc(ji,jj,jk) * zfrac_chl1
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) = chl_inc(ji,jj,jk) * zfrac_chl2
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) = chl_inc(ji,jj,jk) * zfrac_chl3
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) = chl_inc(ji,jj,jk) * zfrac_chl4
+                     zrat_p1c_chl1 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1)
+                     zrat_p1n_chl1 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1)
+                     zrat_p1p_chl1 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1)
+                     zrat_p1s_chl1 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1s) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1)
+                     zrat_p2c_chl2 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2)
+                     zrat_p2n_chl2 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2)
+                     zrat_p2p_chl2 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2)
+                     zrat_p3c_chl3 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3)
+                     zrat_p3n_chl3 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3)
+                     zrat_p3p_chl3 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3)
+                     zrat_p4c_chl4 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4)
+                     zrat_p4n_chl4 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4)
+                     zrat_p4p_chl4 = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4)
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1c) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) * zrat_p1c_chl1
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) * zrat_p1n_chl1
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1p) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) * zrat_p1p_chl1
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1s) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) * zrat_p1s_chl1
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2c) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) * zrat_p2c_chl2
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) * zrat_p2n_chl2
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2p) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) * zrat_p2p_chl2
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3c) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) * zrat_p3c_chl3
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) * zrat_p3n_chl3
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3p) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) * zrat_p3p_chl3
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4c) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) * zrat_p4c_chl4
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) * zrat_p4n_chl4
+                     phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4p) = phyto3d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) * zrat_p4p_chl4
                   ENDIF
                END DO
@@ -1974,8 +1974,8 @@
          ! Account for phytoplankton balancing if required
          IF ( ln_phytobal ) THEN
-            dic_bkg_temp(:,:) = tracer_bkg(:,:,1,jp_fabm_o3c) + phyto2d_balinc(:,:,1,jp_fabm_o3c)
-            alk_bkg_temp(:,:) = totalk_bkg(:,:,1)             + phyto2d_balinc(:,:,1,jp_fabm_o3ba)
+            dic_bkg_temp(:,:) = tracer_bkg(:,:,1,jp_fabm_m1+jp_fabm_o3c) + phyto2d_balinc(:,:,1,jp_fabm_m1+jp_fabm_o3c)
+            alk_bkg_temp(:,:) = totalk_bkg(:,:,1)             + phyto2d_balinc(:,:,1,jp_fabm_m1+jp_fabm_o3ba)
          ELSE
-            dic_bkg_temp(:,:) = tracer_bkg(:,:,1,jp_fabm_o3c)
+            dic_bkg_temp(:,:) = tracer_bkg(:,:,1,jp_fabm_m1+jp_fabm_o3c)
             alk_bkg_temp(:,:) = totalk_bkg(:,:,1)
          ENDIF
@@ -1983,5 +1983,5 @@
          CALL asm_pco2_bal( pco2_bkginc_temp(:,:), dic_bkg_temp(:,:), alk_bkg_temp(:,:), &
             &               tem_bkg_temp(:,:), sal_bkg_temp(:,:),                        &
-            &               pco2_balinc(:,:,1,jp_fabm_o3c), pco2_balinc(:,:,1,jp_fabm_o3ba) )
+            &               pco2_balinc(:,:,1,jp_fabm_m1+jp_fabm_o3c), pco2_balinc(:,:,1,jp_fabm_m1+jp_fabm_o3ba) )
 
 #else
@@ -2592,7 +2592,7 @@
 #elif defined key_fabm
                WHERE( pno3_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_n3n) + pno3_bkginc(:,:,:) * zincwgt > 0.0_wp )
-                  trn(:,:,:,jp_fabm_n3n) = trn(:,:,:,jp_fabm_n3n) + pno3_bkginc(:,:,:) * zincwgt
-                  trb(:,:,:,jp_fabm_n3n) = trb(:,:,:,jp_fabm_n3n) + pno3_bkginc(:,:,:) * zincwgt
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_n3n) + pno3_bkginc(:,:,:) * zincwgt > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_n3n) = trn(:,:,:,jp_fabm_m1+jp_fabm_n3n) + pno3_bkginc(:,:,:) * zincwgt
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_n3n) = trb(:,:,:,jp_fabm_m1+jp_fabm_n3n) + pno3_bkginc(:,:,:) * zincwgt
                END WHERE
 #else
@@ -2610,7 +2610,7 @@
 #elif defined key_fabm
                WHERE( psi4_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_n5s) + psi4_bkginc(:,:,:) * zincwgt > 0.0_wp )
-                  trn(:,:,:,jp_fabm_n5s) = trn(:,:,:,jp_fabm_n5s) + psi4_bkginc(:,:,:) * zincwgt
-                  trb(:,:,:,jp_fabm_n5s) = trb(:,:,:,jp_fabm_n5s) + psi4_bkginc(:,:,:) * zincwgt
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_n5s) + psi4_bkginc(:,:,:) * zincwgt > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_n5s) = trn(:,:,:,jp_fabm_m1+jp_fabm_n5s) + psi4_bkginc(:,:,:) * zincwgt
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_n5s) = trb(:,:,:,jp_fabm_m1+jp_fabm_n5s) + psi4_bkginc(:,:,:) * zincwgt
                END WHERE
 #else
@@ -2622,7 +2622,7 @@
 #if defined key_fabm
                WHERE( ppo4_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_n1p) + ppo4_bkginc(:,:,:) * zincwgt > 0.0_wp )
-                  trn(:,:,:,jp_fabm_n1p) = trn(:,:,:,jp_fabm_n1p) + ppo4_bkginc(:,:,:) * zincwgt
-                  trb(:,:,:,jp_fabm_n1p) = trb(:,:,:,jp_fabm_n1p) + ppo4_bkginc(:,:,:) * zincwgt
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_n1p) + ppo4_bkginc(:,:,:) * zincwgt > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_n1p) = trn(:,:,:,jp_fabm_m1+jp_fabm_n1p) + ppo4_bkginc(:,:,:) * zincwgt
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_n1p) = trb(:,:,:,jp_fabm_m1+jp_fabm_n1p) + ppo4_bkginc(:,:,:) * zincwgt
                END WHERE
 #else
@@ -2646,7 +2646,7 @@
 #elif defined key_fabm
                WHERE( pdic_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_o3c) + pdic_bkginc(:,:,:) * zincwgt > 0.0_wp )
-                  trn(:,:,:,jp_fabm_o3c) = trn(:,:,:,jp_fabm_o3c) + pdic_bkginc(:,:,:) * zincwgt
-                  trb(:,:,:,jp_fabm_o3c) = trb(:,:,:,jp_fabm_o3c) + pdic_bkginc(:,:,:) * zincwgt
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_o3c) + pdic_bkginc(:,:,:) * zincwgt > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_o3c) = trn(:,:,:,jp_fabm_m1+jp_fabm_o3c) + pdic_bkginc(:,:,:) * zincwgt
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_o3c) = trb(:,:,:,jp_fabm_m1+jp_fabm_o3c) + pdic_bkginc(:,:,:) * zincwgt
                END WHERE
 #else
@@ -2670,7 +2670,7 @@
 #elif defined key_fabm
                WHERE( palk_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_o3ba) + palk_bkginc(:,:,:) * zincwgt > 0.0_wp )
-                  trn(:,:,:,jp_fabm_o3ba) = trn(:,:,:,jp_fabm_o3ba) + palk_bkginc(:,:,:) * zincwgt
-                  trb(:,:,:,jp_fabm_o3ba) = trb(:,:,:,jp_fabm_o3ba) + palk_bkginc(:,:,:) * zincwgt
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_o3ba) + palk_bkginc(:,:,:) * zincwgt > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_o3ba) = trn(:,:,:,jp_fabm_m1+jp_fabm_o3ba) + palk_bkginc(:,:,:) * zincwgt
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_o3ba) = trb(:,:,:,jp_fabm_m1+jp_fabm_o3ba) + palk_bkginc(:,:,:) * zincwgt
                END WHERE
 #else
@@ -2688,7 +2688,7 @@
 #elif defined key_fabm
                WHERE( po2_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_o2o) + po2_bkginc(:,:,:) * zincwgt > 0.0_wp )
-                  trn(:,:,:,jp_fabm_o2o) = trn(:,:,:,jp_fabm_o2o) + po2_bkginc(:,:,:) * zincwgt
-                  trb(:,:,:,jp_fabm_o2o) = trb(:,:,:,jp_fabm_o2o) + po2_bkginc(:,:,:) * zincwgt
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_o2o) + po2_bkginc(:,:,:) * zincwgt > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_o2o) = trn(:,:,:,jp_fabm_m1+jp_fabm_o2o) + po2_bkginc(:,:,:) * zincwgt
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_o2o) = trb(:,:,:,jp_fabm_m1+jp_fabm_o2o) + po2_bkginc(:,:,:) * zincwgt
                END WHERE
 #else
@@ -2738,7 +2738,7 @@
 #elif defined key_fabm
                WHERE( pno3_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_n3n) + pno3_bkginc(:,:,:) > 0.0_wp )
-                  trn(:,:,:,jp_fabm_n3n) = trn(:,:,:,jp_fabm_n3n) + pno3_bkginc(:,:,:)
-                  trb(:,:,:,jp_fabm_n3n) = trn(:,:,:,jp_fabm_n3n)
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_n3n) + pno3_bkginc(:,:,:) > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_n3n) = trn(:,:,:,jp_fabm_m1+jp_fabm_n3n) + pno3_bkginc(:,:,:)
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_n3n) = trn(:,:,:,jp_fabm_m1+jp_fabm_n3n)
                END WHERE
 #else
@@ -2756,7 +2756,7 @@
 #elif defined key_fabm
                WHERE( psi4_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_n5s) + psi4_bkginc(:,:,:) > 0.0_wp )
-                  trn(:,:,:,jp_fabm_n5s) = trn(:,:,:,jp_fabm_n5s) + psi4_bkginc(:,:,:)
-                  trb(:,:,:,jp_fabm_n5s) = trn(:,:,:,jp_fabm_n5s)
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_n5s) + psi4_bkginc(:,:,:) > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_n5s) = trn(:,:,:,jp_fabm_m1+jp_fabm_n5s) + psi4_bkginc(:,:,:)
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_n5s) = trn(:,:,:,jp_fabm_m1+jp_fabm_n5s)
                END WHERE
 #else
@@ -2768,7 +2768,7 @@
 #if defined key_fabm
                WHERE( ppo4_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_n1p) + ppo4_bkginc(:,:,:) > 0.0_wp )
-                  trn(:,:,:,jp_fabm_n1p) = trn(:,:,:,jp_fabm_n1p) + ppo4_bkginc(:,:,:)
-                  trb(:,:,:,jp_fabm_n1p) = trn(:,:,:,jp_fabm_n1p)
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_n1p) + ppo4_bkginc(:,:,:) > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_n1p) = trn(:,:,:,jp_fabm_m1+jp_fabm_n1p) + ppo4_bkginc(:,:,:)
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_n1p) = trn(:,:,:,jp_fabm_m1+jp_fabm_n1p)
                END WHERE
 #else
@@ -2792,7 +2792,7 @@
 #elif defined key_fabm
                WHERE( pdic_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_o3c) + pdic_bkginc(:,:,:) > 0.0_wp )
-                  trn(:,:,:,jp_fabm_o3c) = trn(:,:,:,jp_fabm_o3c) + pdic_bkginc(:,:,:)
-                  trb(:,:,:,jp_fabm_o3c) = trn(:,:,:,jp_fabm_o3c)
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_o3c) + pdic_bkginc(:,:,:) > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_o3c) = trn(:,:,:,jp_fabm_m1+jp_fabm_o3c) + pdic_bkginc(:,:,:)
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_o3c) = trn(:,:,:,jp_fabm_m1+jp_fabm_o3c)
                END WHERE
 #else
@@ -2816,7 +2816,7 @@
 #elif defined key_fabm
                WHERE( palk_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_o3ba) + palk_bkginc(:,:,:) > 0.0_wp )
-                  trn(:,:,:,jp_fabm_o3ba) = trn(:,:,:,jp_fabm_o3ba) + palk_bkginc(:,:,:)
-                  trb(:,:,:,jp_fabm_o3ba) = trn(:,:,:,jp_fabm_o3ba)
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_o3ba) + palk_bkginc(:,:,:) > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_o3ba) = trn(:,:,:,jp_fabm_m1+jp_fabm_o3ba) + palk_bkginc(:,:,:)
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_o3ba) = trn(:,:,:,jp_fabm_m1+jp_fabm_o3ba)
                END WHERE
 #else
@@ -2834,7 +2834,7 @@
 #elif defined key_fabm
                WHERE( po2_bkginc(:,:,:) > 0.0_wp .OR. &
-                  &   trn(:,:,:,jp_fabm_o2o) + po2_bkginc(:,:,:) > 0.0_wp )
-                  trn(:,:,:,jp_fabm_o2o) = trn(:,:,:,jp_fabm_o2o) + po2_bkginc(:,:,:)
-                  trb(:,:,:,jp_fabm_o2o) = trn(:,:,:,jp_fabm_o2o)
+                  &   trn(:,:,:,jp_fabm_m1+jp_fabm_o2o) + po2_bkginc(:,:,:) > 0.0_wp )
+                  trn(:,:,:,jp_fabm_m1+jp_fabm_o2o) = trn(:,:,:,jp_fabm_m1+jp_fabm_o2o) + po2_bkginc(:,:,:)
+                  trb(:,:,:,jp_fabm_m1+jp_fabm_o2o) = trn(:,:,:,jp_fabm_m1+jp_fabm_o2o)
                END WHERE
 #else
Index: /branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/OPA_SRC/ASM/asmphyto2dbal_ersem.F90
===================================================================
--- /branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/OPA_SRC/ASM/asmphyto2dbal_ersem.F90	(revision 10666)
+++ /branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/OPA_SRC/ASM/asmphyto2dbal_ersem.F90	(revision 10667)
@@ -339,17 +339,17 @@
 
          ! Set background state
-         bstate(:,:,:,i_tracer(1)) = tracer_bkg(:,:,:,jp_fabm_n3n) + &
-            &                        tracer_bkg(:,:,:,jp_fabm_n4n)
-         bstate(:,:,:,i_tracer(2)) = tracer_bkg(:,:,:,jp_fabm_p1n) + &
-            &                        tracer_bkg(:,:,:,jp_fabm_p2n) + &
-            &                        tracer_bkg(:,:,:,jp_fabm_p3n) + &
-            &                        tracer_bkg(:,:,:,jp_fabm_p4n)
-         bstate(:,:,:,i_tracer(3)) = (tracer_bkg(:,:,:,jp_fabm_z4c) * z4qnc) + &
-            &                        tracer_bkg(:,:,:,jp_fabm_z5n) + &
-            &                        tracer_bkg(:,:,:,jp_fabm_z6n)
-         bstate(:,:,:,i_tracer(4)) = tracer_bkg(:,:,:,jp_fabm_r4n) + &
-            &                        tracer_bkg(:,:,:,jp_fabm_r6n) + &
-            &                        tracer_bkg(:,:,:,jp_fabm_r8n)
-         bstate(:,:,:,i_tracer(5)) = tracer_bkg(:,:,:,jp_fabm_o3c)
+         bstate(:,:,:,i_tracer(1)) = tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_n3n) + &
+            &                        tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_n4n)
+         bstate(:,:,:,i_tracer(2)) = tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p1n) + &
+            &                        tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p2n) + &
+            &                        tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p3n) + &
+            &                        tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_p4n)
+         bstate(:,:,:,i_tracer(3)) = (tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z4c) * z4qnc) + &
+            &                        tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z5n) + &
+            &                        tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_z6n)
+         bstate(:,:,:,i_tracer(4)) = tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_r4n) + &
+            &                        tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_r6n) + &
+            &                        tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_r8n)
+         bstate(:,:,:,i_tracer(5)) = tracer_bkg(:,:,:,jp_fabm_m1+jp_fabm_o3c)
          bstate(:,:,:,i_tracer(6)) = totalk_bkg(:,:,:)
 
@@ -359,14 +359,14 @@
          DO jj = 1, jpj
             DO ji = 1, jpi
-               IF ( ( tracer_bkg(ji,jj,1,jp_fabm_chl1) + tracer_bkg(ji,jj,1,jp_fabm_chl2) + &
-                  &   tracer_bkg(ji,jj,1,jp_fabm_chl3) + tracer_bkg(ji,jj,1,jp_fabm_chl4) ) .GT. 0.0 ) THEN
-                  cchl_p(ji,jj) = zmassc * ( tracer_bkg(ji,jj,1,jp_fabm_p1c) +      &
-                     &                       tracer_bkg(ji,jj,1,jp_fabm_p2c) +      &
-                     &                       tracer_bkg(ji,jj,1,jp_fabm_p3c) +      &
-                     &                       tracer_bkg(ji,jj,1,jp_fabm_p4c)   ) /  &
-                     &            ( tracer_bkg(ji,jj,1,jp_fabm_chl1) +             &
-                     &              tracer_bkg(ji,jj,1,jp_fabm_chl2) +             &
-                     &              tracer_bkg(ji,jj,1,jp_fabm_chl3) +             &
-                     &              tracer_bkg(ji,jj,1,jp_fabm_chl4)   )
+               IF ( ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + &
+                  &   tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) ) .GT. 0.0 ) THEN
+                  cchl_p(ji,jj) = zmassc * ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p1c) +      &
+                     &                       tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p2c) +      &
+                     &                       tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p3c) +      &
+                     &                       tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p4c)   ) /  &
+                     &            ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) +             &
+                     &              tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) +             &
+                     &              tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) +             &
+                     &              tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4)   )
                ENDIF
             END DO
@@ -395,31 +395,31 @@
 
                   ! Phytoplankton
-                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_p1n) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_p2n) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_p3n) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_p4n) > 0.0 ) .AND. &
+                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) > 0.0 ) .AND. &
                      & ( pinc_chltot(ji,jj) /= 0.0 ) ) THEN
                      IF ( ld_chltot ) THEN
                         ! Phytoplankton nitrogen split up based on existing ratios
-                        zfrac_p1n = tracer_bkg(ji,jj,jk,jp_fabm_p1n) / &
-                           &        ( tracer_bkg(ji,jj,jk,jp_fabm_p1n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p2n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p3n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p4n) )
-                        zfrac_p2n = tracer_bkg(ji,jj,jk,jp_fabm_p2n) / &
-                           &        ( tracer_bkg(ji,jj,jk,jp_fabm_p1n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p2n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p3n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p4n) )
-                        zfrac_p3n = tracer_bkg(ji,jj,jk,jp_fabm_p3n) / &
-                           &        ( tracer_bkg(ji,jj,jk,jp_fabm_p1n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p2n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p3n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p4n) )
-                        zfrac_p4n = tracer_bkg(ji,jj,jk,jp_fabm_p4n) / &
-                           &        ( tracer_bkg(ji,jj,jk,jp_fabm_p1n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p2n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p3n) + &
-                           &          tracer_bkg(ji,jj,jk,jp_fabm_p4n) )
+                        zfrac_p1n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) / &
+                           &        ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) )
+                        zfrac_p2n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) / &
+                           &        ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) )
+                        zfrac_p3n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) / &
+                           &        ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) )
+                        zfrac_p4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) / &
+                           &        ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) + &
+                           &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) )
                      ELSE
                         ! Phytoplankton nitrogen split up based on assimilation increments
@@ -431,143 +431,143 @@
                      
                      ! Other phytoplankton variables split up based on existing ratios with nitrogen
-                     zrat_chl1_p1n = tracer_bkg(ji,jj,jk,jp_fabm_chl1) / tracer_bkg(ji,jj,jk,jp_fabm_p1n)
-                     zrat_p1c_p1n  = tracer_bkg(ji,jj,jk,jp_fabm_p1c)  / tracer_bkg(ji,jj,jk,jp_fabm_p1n)
-                     zrat_p1p_p1n  = tracer_bkg(ji,jj,jk,jp_fabm_p1p)  / tracer_bkg(ji,jj,jk,jp_fabm_p1n)
-                     zrat_p1s_p1n  = tracer_bkg(ji,jj,jk,jp_fabm_p1s)  / tracer_bkg(ji,jj,jk,jp_fabm_p1n)
-                     zrat_chl2_p2n = tracer_bkg(ji,jj,jk,jp_fabm_chl2) / tracer_bkg(ji,jj,jk,jp_fabm_p2n)
-                     zrat_p2c_p2n  = tracer_bkg(ji,jj,jk,jp_fabm_p2c)  / tracer_bkg(ji,jj,jk,jp_fabm_p2n)
-                     zrat_p2p_p2n  = tracer_bkg(ji,jj,jk,jp_fabm_p2p)  / tracer_bkg(ji,jj,jk,jp_fabm_p2n)
-                     zrat_chl3_p3n = tracer_bkg(ji,jj,jk,jp_fabm_chl3) / tracer_bkg(ji,jj,jk,jp_fabm_p3n)
-                     zrat_p3c_p3n  = tracer_bkg(ji,jj,jk,jp_fabm_p3c)  / tracer_bkg(ji,jj,jk,jp_fabm_p3n)
-                     zrat_p3p_p3n  = tracer_bkg(ji,jj,jk,jp_fabm_p3p)  / tracer_bkg(ji,jj,jk,jp_fabm_p3n)
-                     zrat_chl4_p4n = tracer_bkg(ji,jj,jk,jp_fabm_chl4) / tracer_bkg(ji,jj,jk,jp_fabm_p4n)
-                     zrat_p4c_p4n  = tracer_bkg(ji,jj,jk,jp_fabm_p4c)  / tracer_bkg(ji,jj,jk,jp_fabm_p4n)
-                     zrat_p4p_p4n  = tracer_bkg(ji,jj,jk,jp_fabm_p4p)  / tracer_bkg(ji,jj,jk,jp_fabm_p4n)
+                     zrat_chl1_p1n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n)
+                     zrat_p1c_p1n  = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1c)  / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n)
+                     zrat_p1p_p1n  = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1p)  / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n)
+                     zrat_p1s_p1n  = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1s)  / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n)
+                     zrat_chl2_p2n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n)
+                     zrat_p2c_p2n  = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2c)  / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n)
+                     zrat_p2p_p2n  = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2p)  / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n)
+                     zrat_chl3_p3n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n)
+                     zrat_p3c_p3n  = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3c)  / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n)
+                     zrat_p3p_p3n  = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3p)  / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n)
+                     zrat_chl4_p4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n)
+                     zrat_p4c_p4n  = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4c)  / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n)
+                     zrat_p4p_p4n  = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4p)  / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n)
                      
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p1n)  = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p1n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p2n)  = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p2n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p3n)  = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p3n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p4n)  = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p4n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_chl1) = phyto2d_balinc(ji,jj,jk,jp_fabm_p1n) * zrat_chl1_p1n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p1c)  = phyto2d_balinc(ji,jj,jk,jp_fabm_p1n) * zrat_p1c_p1n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p1p)  = phyto2d_balinc(ji,jj,jk,jp_fabm_p1n) * zrat_p1p_p1n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p1s)  = phyto2d_balinc(ji,jj,jk,jp_fabm_p1n) * zrat_p1s_p1n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_chl2) = phyto2d_balinc(ji,jj,jk,jp_fabm_p2n) * zrat_chl2_p2n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p2c)  = phyto2d_balinc(ji,jj,jk,jp_fabm_p2n) * zrat_p2c_p2n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p2p)  = phyto2d_balinc(ji,jj,jk,jp_fabm_p2n) * zrat_p2p_p2n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_chl3) = phyto2d_balinc(ji,jj,jk,jp_fabm_p3n) * zrat_chl3_p3n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p3c)  = phyto2d_balinc(ji,jj,jk,jp_fabm_p3n) * zrat_p3c_p3n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p3p)  = phyto2d_balinc(ji,jj,jk,jp_fabm_p3n) * zrat_p3p_p3n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_chl4) = phyto2d_balinc(ji,jj,jk,jp_fabm_p4n) * zrat_chl4_p4n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p4c)  = phyto2d_balinc(ji,jj,jk,jp_fabm_p4n) * zrat_p4c_p4n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_p4p)  = phyto2d_balinc(ji,jj,jk,jp_fabm_p4n) * zrat_p4p_p4n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n)  = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p1n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n)  = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p2n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n)  = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p3n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n)  = outincs(ji,jj,jk,i_tracer(2)) * zfrac_p4n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) * zrat_chl1_p1n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1c)  = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) * zrat_p1c_p1n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1p)  = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) * zrat_p1p_p1n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1s)  = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) * zrat_p1s_p1n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) * zrat_chl2_p2n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2c)  = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) * zrat_p2c_p2n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2p)  = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) * zrat_p2p_p2n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) * zrat_chl3_p3n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3c)  = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) * zrat_p3c_p3n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3p)  = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) * zrat_p3p_p3n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) * zrat_chl4_p4n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4c)  = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) * zrat_p4c_p4n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4p)  = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n) * zrat_p4p_p4n
                   ENDIF
 
                   ! Zooplankton nitrogen split up based on existing ratios
                   ! Update carbon and phosphorus according to existing ratios
-                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_z4c) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_z5n) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_z6n) > 0.0 ) ) THEN
-                     zfrac_z4n = ( tracer_bkg(ji,jj,jk,jp_fabm_z4c) * z4qnc ) / &
-                        &        ( ( tracer_bkg(ji,jj,jk,jp_fabm_z4c) * z4qnc ) + &
-                        &          tracer_bkg(ji,jj,jk,jp_fabm_z5n) + &
-                        &          tracer_bkg(ji,jj,jk,jp_fabm_z6n) )
-                     zfrac_z5n = tracer_bkg(ji,jj,jk,jp_fabm_z5n) / &
-                        &        ( ( tracer_bkg(ji,jj,jk,jp_fabm_z4c) * z4qnc ) + &
-                        &          tracer_bkg(ji,jj,jk,jp_fabm_z5n) + &
-                        &          tracer_bkg(ji,jj,jk,jp_fabm_z6n) )
-                     zfrac_z6n = tracer_bkg(ji,jj,jk,jp_fabm_z6n) / &
-                        &        ( ( tracer_bkg(ji,jj,jk,jp_fabm_z4c) * z4qnc ) + &
-                        &          tracer_bkg(ji,jj,jk,jp_fabm_z5n) + &
-                        &          tracer_bkg(ji,jj,jk,jp_fabm_z6n) )
+                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) > 0.0 ) ) THEN
+                     zfrac_z4n = ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) * z4qnc ) / &
+                        &        ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) * z4qnc ) + &
+                        &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) + &
+                        &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) )
+                     zfrac_z5n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) / &
+                        &        ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) * z4qnc ) + &
+                        &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) + &
+                        &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) )
+                     zfrac_z6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) / &
+                        &        ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) * z4qnc ) + &
+                        &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) + &
+                        &          tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) )
                      zrat_z4c_z4n = 1.0 / z4qnc
-                     zrat_z5c_z5n = tracer_bkg(ji,jj,jk,jp_fabm_z5c) / tracer_bkg(ji,jj,jk,jp_fabm_z5n)
-                     zrat_z5p_z5n = tracer_bkg(ji,jj,jk,jp_fabm_z5p) / tracer_bkg(ji,jj,jk,jp_fabm_z5n)
-                     zrat_z6c_z6n = tracer_bkg(ji,jj,jk,jp_fabm_z6c) / tracer_bkg(ji,jj,jk,jp_fabm_z6n)
-                     zrat_z6p_z6n = tracer_bkg(ji,jj,jk,jp_fabm_z6p) / tracer_bkg(ji,jj,jk,jp_fabm_z6n)
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_z5n) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z5n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_z6n) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z6n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_z4c) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z4n * zrat_z4c_z4n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_z5c) = phyto2d_balinc(ji,jj,jk,jp_fabm_z5n) * zrat_z5c_z5n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_z6c) = phyto2d_balinc(ji,jj,jk,jp_fabm_z6n) * zrat_z6c_z6n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_z5p) = phyto2d_balinc(ji,jj,jk,jp_fabm_z5n) * zrat_z5p_z5n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_z6p) = phyto2d_balinc(ji,jj,jk,jp_fabm_z6n) * zrat_z6p_z6n
+                     zrat_z5c_z5n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n)
+                     zrat_z5p_z5n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n)
+                     zrat_z6c_z6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n)
+                     zrat_z6p_z6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n)
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z5n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z6n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z4c) = outincs(ji,jj,jk,i_tracer(3)) * zfrac_z4n * zrat_z4c_z4n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) * zrat_z5c_z5n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) * zrat_z6c_z6n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5n) * zrat_z5p_z5n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6n) * zrat_z6p_z6n
                   ENDIF
 
                   ! Nitrogen nutrient split between nitrate and ammonium based on existing ratios
-                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_n3n) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_n4n) > 0.0 ) ) THEN
-                     zfrac_n3n = tracer_bkg(ji,jj,jk,jp_fabm_n3n) / &
-                        &        (tracer_bkg(ji,jj,jk,jp_fabm_n3n) + tracer_bkg(ji,jj,jk,jp_fabm_n4n))
-                     zfrac_n4n = tracer_bkg(ji,jj,jk,jp_fabm_n4n) / &
-                        &        (tracer_bkg(ji,jj,jk,jp_fabm_n3n) + tracer_bkg(ji,jj,jk,jp_fabm_n4n))
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_n3n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_n3n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_n4n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_n4n
+                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n3n) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n4n) > 0.0 ) ) THEN
+                     zfrac_n3n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n3n) / &
+                        &        (tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n3n) + tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n4n))
+                     zfrac_n4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n4n) / &
+                        &        (tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n3n) + tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n4n))
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_n3n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_n3n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_n4n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_n4n
                   ENDIF
 
                   ! Detritus nitrogen split up based on existing ratios
                   ! Update carbon and phosphorus according to existing ratios
-                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_r4n) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_r6n) > 0.0 ) .AND. &
-                     & ( tracer_bkg(ji,jj,jk,jp_fabm_r8n) > 0.0 ) ) THEN
-                     zfrac_r4n = tracer_bkg(ji,jj,jk,jp_fabm_r4n) / &
-                        &        (tracer_bkg(ji,jj,jk,jp_fabm_r4n) + &
-                        &         tracer_bkg(ji,jj,jk,jp_fabm_r6n) + &
-                        &         tracer_bkg(ji,jj,jk,jp_fabm_r8n))
-                     zfrac_r6n = tracer_bkg(ji,jj,jk,jp_fabm_r6n) / &
-                        &        (tracer_bkg(ji,jj,jk,jp_fabm_r4n) + &
-                        &         tracer_bkg(ji,jj,jk,jp_fabm_r6n) + &
-                        &         tracer_bkg(ji,jj,jk,jp_fabm_r8n))
-                     zfrac_r8n = tracer_bkg(ji,jj,jk,jp_fabm_r8n) / &
-                        &        (tracer_bkg(ji,jj,jk,jp_fabm_r4n) + &
-                        &         tracer_bkg(ji,jj,jk,jp_fabm_r6n) + &
-                        &         tracer_bkg(ji,jj,jk,jp_fabm_r8n))
-                     zrat_r4c_r4n = tracer_bkg(ji,jj,jk,jp_fabm_r4c) / tracer_bkg(ji,jj,jk,jp_fabm_r4n)
-                     zrat_r4p_r4n = tracer_bkg(ji,jj,jk,jp_fabm_r4p) / tracer_bkg(ji,jj,jk,jp_fabm_r4n)
-                     zrat_r6c_r6n = tracer_bkg(ji,jj,jk,jp_fabm_r6c) / tracer_bkg(ji,jj,jk,jp_fabm_r6n)
-                     zrat_r6p_r6n = tracer_bkg(ji,jj,jk,jp_fabm_r6p) / tracer_bkg(ji,jj,jk,jp_fabm_r6n)
-                     zrat_r6s_r6n = tracer_bkg(ji,jj,jk,jp_fabm_r6s) / tracer_bkg(ji,jj,jk,jp_fabm_r6n)
-                     zrat_r8c_r8n = tracer_bkg(ji,jj,jk,jp_fabm_r8c) / tracer_bkg(ji,jj,jk,jp_fabm_r8n)
-                     zrat_r8p_r8n = tracer_bkg(ji,jj,jk,jp_fabm_r8p) / tracer_bkg(ji,jj,jk,jp_fabm_r8n)
-                     zrat_r8s_r8n = tracer_bkg(ji,jj,jk,jp_fabm_r8s) / tracer_bkg(ji,jj,jk,jp_fabm_r8n)
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r4n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r4n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r6n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r6n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r8n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r8n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r4c) = phyto2d_balinc(ji,jj,jk,jp_fabm_r4n) * zrat_r4c_r4n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r4p) = phyto2d_balinc(ji,jj,jk,jp_fabm_r4n) * zrat_r4p_r4n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r6c) = phyto2d_balinc(ji,jj,jk,jp_fabm_r6n) * zrat_r6c_r6n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r6p) = phyto2d_balinc(ji,jj,jk,jp_fabm_r6n) * zrat_r6p_r6n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r6s) = phyto2d_balinc(ji,jj,jk,jp_fabm_r6n) * zrat_r6s_r6n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r8c) = phyto2d_balinc(ji,jj,jk,jp_fabm_r8n) * zrat_r8c_r8n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r8p) = phyto2d_balinc(ji,jj,jk,jp_fabm_r8n) * zrat_r8p_r8n
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_r8s) = phyto2d_balinc(ji,jj,jk,jp_fabm_r8n) * zrat_r8s_r8n
+                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) > 0.0 ) .AND. &
+                     & ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) > 0.0 ) ) THEN
+                     zfrac_r4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) / &
+                        &        (tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) + &
+                        &         tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) + &
+                        &         tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n))
+                     zfrac_r6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) / &
+                        &        (tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) + &
+                        &         tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) + &
+                        &         tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n))
+                     zfrac_r8n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) / &
+                        &        (tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) + &
+                        &         tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) + &
+                        &         tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n))
+                     zrat_r4c_r4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n)
+                     zrat_r4p_r4n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n)
+                     zrat_r6c_r6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n)
+                     zrat_r6p_r6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n)
+                     zrat_r6s_r6n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6s) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n)
+                     zrat_r8c_r8n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8c) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n)
+                     zrat_r8p_r8n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8p) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n)
+                     zrat_r8s_r8n = tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8s) / tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n)
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r4n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r6n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) = outincs(ji,jj,jk,i_tracer(1)) * zfrac_r8n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) * zrat_r4c_r4n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4n) * zrat_r4p_r4n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) * zrat_r6c_r6n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) * zrat_r6p_r6n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6s) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6n) * zrat_r6s_r6n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8c) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) * zrat_r8c_r8n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8p) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) * zrat_r8p_r8n
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8s) = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8n) * zrat_r8s_r8n
                   ENDIF
 
                   ! DIC straight from balancing scheme
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_o3c) = outincs(ji,jj,jk,i_tracer(5))
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_o3c) = outincs(ji,jj,jk,i_tracer(5))
 
                   ! Alkalinity straight from balancing scheme
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_o3ba) = outincs(ji,jj,jk,i_tracer(6))
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_o3ba) = outincs(ji,jj,jk,i_tracer(6))
 
                   ! Remove P/R silicon increments from silicate to conserve mass
-                  zfrac = phyto2d_balinc(ji,jj,jk,jp_fabm_p1s) + &
-                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_r6s) + &
-                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_r8s)
-                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_n5s) - zfrac ) > 0.0 ) THEN
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_n5s) = zfrac * (-1.0)
+                  zfrac = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1s) + &
+                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6s) + &
+                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8s)
+                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n5s) - zfrac ) > 0.0 ) THEN
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_n5s) = zfrac * (-1.0)
                   ENDIF
 
                   ! Remove P/Z/R phosphorus increments from phosphate to conserve mass
-                  zfrac = phyto2d_balinc(ji,jj,jk,jp_fabm_p1p) + &
-                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_p2p) + &
-                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_p3p) + &
-                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_p4p) + &
-                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_z5p) + &
-                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_z6p) + &
-                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_r4p) + &
-                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_r6p) + &
-                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_r8p)
-                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_n1p) - zfrac ) > 0.0 ) THEN
-                     phyto2d_balinc(ji,jj,jk,jp_fabm_n1p) = zfrac * (-1.0)
+                  zfrac = phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1p) + &
+                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2p) + &
+                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3p) + &
+                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4p) + &
+                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z5p) + &
+                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_z6p) + &
+                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r4p) + &
+                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r6p) + &
+                     &    phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_r8p)
+                  IF ( ( tracer_bkg(ji,jj,jk,jp_fabm_m1+jp_fabm_n1p) - zfrac ) > 0.0 ) THEN
+                     phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_n1p) = zfrac * (-1.0)
                   ENDIF
                   
@@ -581,82 +581,82 @@
          DO jj = 1, jpj
             DO ji = 1, jpi
-               IF ( ( tracer_bkg(ji,jj,1,jp_fabm_chl1) > 0.0 ) .AND. &
-                  & ( tracer_bkg(ji,jj,1,jp_fabm_chl2) > 0.0 ) .AND. &
-                  & ( tracer_bkg(ji,jj,1,jp_fabm_chl3) > 0.0 ) .AND. &
-                  & ( tracer_bkg(ji,jj,1,jp_fabm_chl4) > 0.0 ) ) THEN
+               IF ( ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) > 0.0 ) .AND. &
+                  & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) > 0.0 ) .AND. &
+                  & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) > 0.0 ) .AND. &
+                  & ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) > 0.0 ) ) THEN
                   IF ( ld_chltot ) THEN
                      ! Chlorophyll split up based on existing ratios
-                     zfrac_chl1 = tracer_bkg(ji,jj,1,jp_fabm_chl1) /  &
-                        &        ( tracer_bkg(ji,jj,1,jp_fabm_chl1) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl2) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl3) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl4) )
-                     zfrac_chl2 = tracer_bkg(ji,jj,1,jp_fabm_chl2) /  &
-                        &        ( tracer_bkg(ji,jj,1,jp_fabm_chl1) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl2) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl3) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl4) )
-                     zfrac_chl3 = tracer_bkg(ji,jj,1,jp_fabm_chl3) /  &
-                        &        ( tracer_bkg(ji,jj,1,jp_fabm_chl1) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl2) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl3) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl4) )
-                     zfrac_chl4 = tracer_bkg(ji,jj,1,jp_fabm_chl4) /  &
-                        &        ( tracer_bkg(ji,jj,1,jp_fabm_chl1) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl2) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl3) + &
-                        &          tracer_bkg(ji,jj,1,jp_fabm_chl4) )
-                     phyto2d_balinc(ji,jj,1,jp_fabm_chl1) = pinc_chltot(ji,jj) * zfrac_chl1
-                     phyto2d_balinc(ji,jj,1,jp_fabm_chl2) = pinc_chltot(ji,jj) * zfrac_chl2
-                     phyto2d_balinc(ji,jj,1,jp_fabm_chl3) = pinc_chltot(ji,jj) * zfrac_chl3
-                     phyto2d_balinc(ji,jj,1,jp_fabm_chl4) = pinc_chltot(ji,jj) * zfrac_chl4
+                     zfrac_chl1 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) /  &
+                        &        ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) )
+                     zfrac_chl2 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) /  &
+                        &        ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) )
+                     zfrac_chl3 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) /  &
+                        &        ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) )
+                     zfrac_chl4 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) /  &
+                        &        ( tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) + &
+                        &          tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) )
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) = pinc_chltot(ji,jj) * zfrac_chl1
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) = pinc_chltot(ji,jj) * zfrac_chl2
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) = pinc_chltot(ji,jj) * zfrac_chl3
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) = pinc_chltot(ji,jj) * zfrac_chl4
                   ENDIF
                   IF( ld_chldia ) THEN
-                     phyto2d_balinc(ji,jj,1,jp_fabm_chl1) = pinc_chldia(ji,jj)
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) = pinc_chldia(ji,jj)
                   ENDIF
                   IF( ld_chlnan ) THEN
-                     phyto2d_balinc(ji,jj,1,jp_fabm_chl2) = pinc_chlnan(ji,jj)
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) = pinc_chlnan(ji,jj)
                   ENDIF
                   IF( ld_chlpic ) THEN
-                     phyto2d_balinc(ji,jj,1,jp_fabm_chl3) = pinc_chlpic(ji,jj)
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) = pinc_chlpic(ji,jj)
                   ENDIF
                   IF( ld_chldin ) THEN
-                     phyto2d_balinc(ji,jj,1,jp_fabm_chl4) = pinc_chldin(ji,jj)
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) = pinc_chldin(ji,jj)
                   ENDIF
                   
                   ! Maintain stoichiometric ratios of carbon, nitrogen, phosphorus and silicon
                   IF ( ld_chltot .OR. ld_chldia ) THEN
-                     zrat_p1c_chl1 = tracer_bkg(ji,jj,1,jp_fabm_p1c) / tracer_bkg(ji,jj,1,jp_fabm_chl1)
-                     zrat_p1n_chl1 = tracer_bkg(ji,jj,1,jp_fabm_p1n) / tracer_bkg(ji,jj,1,jp_fabm_chl1)
-                     zrat_p1p_chl1 = tracer_bkg(ji,jj,1,jp_fabm_p1p) / tracer_bkg(ji,jj,1,jp_fabm_chl1)
-                     zrat_p1s_chl1 = tracer_bkg(ji,jj,1,jp_fabm_p1s) / tracer_bkg(ji,jj,1,jp_fabm_chl1)
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p1c) = phyto2d_balinc(ji,jj,1,jp_fabm_chl1) * zrat_p1c_chl1
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p1n) = phyto2d_balinc(ji,jj,1,jp_fabm_chl1) * zrat_p1n_chl1
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p1p) = phyto2d_balinc(ji,jj,1,jp_fabm_chl1) * zrat_p1p_chl1
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p1s) = phyto2d_balinc(ji,jj,1,jp_fabm_chl1) * zrat_p1s_chl1
+                     zrat_p1c_chl1 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p1c) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1)
+                     zrat_p1n_chl1 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p1n) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1)
+                     zrat_p1p_chl1 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p1p) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1)
+                     zrat_p1s_chl1 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p1s) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl1)
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) * zrat_p1c_chl1
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) * zrat_p1n_chl1
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) * zrat_p1p_chl1
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1s) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1) * zrat_p1s_chl1
                   ENDIF
                   IF ( ld_chltot .OR. ld_chlnan ) THEN
-                     zrat_p2c_chl2 = tracer_bkg(ji,jj,1,jp_fabm_p2c) / tracer_bkg(ji,jj,1,jp_fabm_chl2)
-                     zrat_p2n_chl2 = tracer_bkg(ji,jj,1,jp_fabm_p2n) / tracer_bkg(ji,jj,1,jp_fabm_chl2)
-                     zrat_p2p_chl2 = tracer_bkg(ji,jj,1,jp_fabm_p2p) / tracer_bkg(ji,jj,1,jp_fabm_chl2)
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p2c) = phyto2d_balinc(ji,jj,1,jp_fabm_chl2) * zrat_p2c_chl2
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p2n) = phyto2d_balinc(ji,jj,1,jp_fabm_chl2) * zrat_p2n_chl2
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p2p) = phyto2d_balinc(ji,jj,1,jp_fabm_chl2) * zrat_p2p_chl2
+                     zrat_p2c_chl2 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p2c) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2)
+                     zrat_p2n_chl2 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p2n) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2)
+                     zrat_p2p_chl2 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p2p) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl2)
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) * zrat_p2c_chl2
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) * zrat_p2n_chl2
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2) * zrat_p2p_chl2
                   ENDIF
                   IF ( ld_chltot .OR. ld_chlpic ) THEN
-                     zrat_p3c_chl3 = tracer_bkg(ji,jj,1,jp_fabm_p3c) / tracer_bkg(ji,jj,1,jp_fabm_chl3)
-                     zrat_p3n_chl3 = tracer_bkg(ji,jj,1,jp_fabm_p3n) / tracer_bkg(ji,jj,1,jp_fabm_chl3)
-                     zrat_p3p_chl3 = tracer_bkg(ji,jj,1,jp_fabm_p3p) / tracer_bkg(ji,jj,1,jp_fabm_chl3)
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p3c) = phyto2d_balinc(ji,jj,1,jp_fabm_chl3) * zrat_p3c_chl3
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p3n) = phyto2d_balinc(ji,jj,1,jp_fabm_chl3) * zrat_p3n_chl3
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p3p) = phyto2d_balinc(ji,jj,1,jp_fabm_chl3) * zrat_p3p_chl3
+                     zrat_p3c_chl3 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p3c) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3)
+                     zrat_p3n_chl3 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p3n) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3)
+                     zrat_p3p_chl3 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p3p) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl3)
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) * zrat_p3c_chl3
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) * zrat_p3n_chl3
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3) * zrat_p3p_chl3
                   ENDIF
                   IF ( ld_chltot .OR. ld_chldin ) THEN
-                     zrat_p4c_chl4 = tracer_bkg(ji,jj,1,jp_fabm_p4c) / tracer_bkg(ji,jj,1,jp_fabm_chl4)
-                     zrat_p4n_chl4 = tracer_bkg(ji,jj,1,jp_fabm_p4n) / tracer_bkg(ji,jj,1,jp_fabm_chl4)
-                     zrat_p4p_chl4 = tracer_bkg(ji,jj,1,jp_fabm_p4p) / tracer_bkg(ji,jj,1,jp_fabm_chl4)
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p4c) = phyto2d_balinc(ji,jj,1,jp_fabm_chl4) * zrat_p4c_chl4
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p4n) = phyto2d_balinc(ji,jj,1,jp_fabm_chl4) * zrat_p4n_chl4
-                     phyto2d_balinc(ji,jj,1,jp_fabm_p4p) = phyto2d_balinc(ji,jj,1,jp_fabm_chl4) * zrat_p4p_chl4
+                     zrat_p4c_chl4 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p4c) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4)
+                     zrat_p4n_chl4 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p4n) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4)
+                     zrat_p4p_chl4 = tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_p4p) / tracer_bkg(ji,jj,1,jp_fabm_m1+jp_fabm_chl4)
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4c) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) * zrat_p4c_chl4
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4n) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) * zrat_p4n_chl4
+                     phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4p) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4) * zrat_p4p_chl4
                   ENDIF
                ENDIF
@@ -678,21 +678,21 @@
                !
                DO jk = 2, jkmax
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_chl1) = phyto2d_balinc(ji,jj,1,jp_fabm_chl1)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p1c)  = phyto2d_balinc(ji,jj,1,jp_fabm_p1c)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p1n)  = phyto2d_balinc(ji,jj,1,jp_fabm_p1n)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p1p)  = phyto2d_balinc(ji,jj,1,jp_fabm_p1p)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p1s)  = phyto2d_balinc(ji,jj,1,jp_fabm_p1s)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_chl2) = phyto2d_balinc(ji,jj,1,jp_fabm_chl2)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p2c)  = phyto2d_balinc(ji,jj,1,jp_fabm_p2c)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p2n)  = phyto2d_balinc(ji,jj,1,jp_fabm_p2n)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p2p)  = phyto2d_balinc(ji,jj,1,jp_fabm_p2p)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_chl3) = phyto2d_balinc(ji,jj,1,jp_fabm_chl3)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p3c)  = phyto2d_balinc(ji,jj,1,jp_fabm_p3c)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p3n)  = phyto2d_balinc(ji,jj,1,jp_fabm_p3n)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p3p)  = phyto2d_balinc(ji,jj,1,jp_fabm_p3p)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_chl4) = phyto2d_balinc(ji,jj,1,jp_fabm_chl4)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p4c)  = phyto2d_balinc(ji,jj,1,jp_fabm_p4c)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p4n)  = phyto2d_balinc(ji,jj,1,jp_fabm_p4n)
-                  phyto2d_balinc(ji,jj,jk,jp_fabm_p4p)  = phyto2d_balinc(ji,jj,1,jp_fabm_p4p)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl1)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1c)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1c)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1n)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1p)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1p)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p1s)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p1s)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl2)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2c)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2c)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2n)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p2p)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p2p)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl3)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3c)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3c)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3n)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p3p)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p3p)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_chl4)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4c)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4c)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4n)
+                  phyto2d_balinc(ji,jj,jk,jp_fabm_m1+jp_fabm_p4p)  = phyto2d_balinc(ji,jj,1,jp_fabm_m1+jp_fabm_p4p)
                END DO
                !
Index: /branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/TOP_SRC/FABM/trcsms_fabm.F90
===================================================================
--- /branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/TOP_SRC/FABM/trcsms_fabm.F90	(revision 10666)
+++ /branches/UKMO/AMM15_v3_6_STABLE_package_collate_BGC_DA/NEMOGCM/NEMO/TOP_SRC/FABM/trcsms_fabm.F90	(revision 10667)
@@ -188,8 +188,8 @@
             DO jk = 1, jkmax
                PHYT_AVG(ji,jj) = PHYT_AVG(ji,jj) + &
-                  &              trn(ji,jj,jk,jp_fabm_p1n) + &
-                  &              trn(ji,jj,jk,jp_fabm_p2n) + &
-                  &              trn(ji,jj,jk,jp_fabm_p3n) + &
-                  &              trn(ji,jj,jk,jp_fabm_p4n)
+                  &              trn(ji,jj,jk,jp_fabm_m1+jp_fabm_p1n) + &
+                  &              trn(ji,jj,jk,jp_fabm_m1+jp_fabm_p2n) + &
+                  &              trn(ji,jj,jk,jp_fabm_m1+jp_fabm_p3n) + &
+                  &              trn(ji,jj,jk,jp_fabm_m1+jp_fabm_p4n)
                IF ( pgrow_3d(ji,jj,jk) .GT. 0.0 ) THEN
                   PGROW_AVG(ji,jj) = PGROW_AVG(ji,jj) + &
