Index: /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90	(revision 7581)
+++ /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90	(revision 7582)
@@ -146,4 +146,24 @@
       ENDIF
 
+      !CMIP6 output of areacello and sftof (In NEMO this is currently just the T
+      !mask converted to a percentage)
+      CALL iom_put("areacello", e12t)
+      CALL iom_put("sftof", tmask(:,:,1)*100 )
+
+      !CMIP6 at timestep 1 output depth of bottom W level
+      !This will account for any modifications made to the bathy (e.g.
+      !suppression of isolated grid points
+      IF(kt == nit000) THEN
+         z2d(:,:)=0._wp
+         DO jj=1,jpj
+            DO ji=1,jpi
+               jk=mbathy(ji,jj)
+               IF(jk > 0) z2d(ji,jj) = gdepw_0(ji,jj,jk+1)
+            ENDDO
+         ENDDO
+         CALL iom_put( 'deptho', z2d )
+      ENDIF
+      
+
       ! Output of initial vertical scale factor
       CALL iom_put("e3t_0", e3t_0(:,:,:) )
@@ -257,4 +277,20 @@
       IF( iom_use('logavt') )   CALL iom_put( "logavt", LOG( MAX( 1.e-20_wp, avt  (:,:,:) ) ) )
       IF( iom_use('logavs') )   CALL iom_put( "logavs", LOG( MAX( 1.e-20_wp, fsavs(:,:,:) ) ) )
+
+      IF(kt == nit000) THEN
+         !Output 3D fields of background vertical diffusion (avtb and avmb)
+         DO jj=1,jpj
+            DO ji=1,jpi
+               z3d(ji,jj,:) = avtb(:)
+            ENDDO
+         ENDDO
+         CALL iom_put('avtb', z3d)
+         DO jj=1,jpj
+            DO ji=1,jpi
+               z3d(ji,jj,:) = avmb(:)
+            ENDDO
+         ENDDO
+         CALL iom_put('avmb', z3d)
+      ENDIF
 
       IF ( iom_use("sstgrad") .OR. iom_use("sstgrad2") ) THEN
Index: /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf.F90	(revision 7581)
+++ /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf.F90	(revision 7582)
@@ -58,4 +58,5 @@
       !
       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv
+      REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztmp
       !!----------------------------------------------------------------------
       !
@@ -67,10 +68,32 @@
          ztrdv(:,:,:) = va(:,:,:) 
       ENDIF
-
+      
       SELECT CASE ( nldf )                       ! compute lateral mixing trend and add it to the general trend
       !
       CASE ( 0 )    ;   CALL dyn_ldf_lap    ( kt )      ! iso-level laplacian
-      CASE ( 1 )    ;   CALL dyn_ldf_iso    ( kt )      ! rotated laplacian (except dk[ dk[.] ] part)
-      CASE ( 2 )    ;   CALL dyn_ldf_bilap  ( kt )      ! iso-level bilaplacian
+      CASE ( 1 )
+          CALL dyn_ldf_iso    ( kt )      ! rotated laplacian (except dk[ dk[.] ] part)
+#ifdef key_dynldf_c2d
+          IF (kt == nit000) CALL iom_put("ahmt_lap", ahm1)
+#endif
+      CASE ( 2 )    
+          CALL dyn_ldf_bilap  ( kt )      ! iso-level bilaplacian
+#ifdef key_dynldf_c2d
+          !Average ahm3 and ahm4 onto T points and output for CMIP6 diagnostics
+          ! Near coastal 
+          IF (kt == nit000) THEN
+             CALL wrk_alloc(jpi, jpj, ztmp)
+             DO jj=2,jpj
+                DO ji=2,jpi
+                   ztmp(ji,jj) = (ahm3(ji,jj)*umask(ji,jj) + ahm3(ji-1,jj)*umask(ji-1,jj) &
+                                + ahm4(ji,jj)*vmask(ji,jj) + ahm4(ji,jj-1)*vmask(ji,jj-1)) / &
+                      &  (umask(ji,jj) + umask(ji-1,jj) + vmask(ji,jj) + vmask(ji,jj-1))
+                ENDDO
+             ENDDO
+             ztmp = 
+             CALL iom_put("ahmt_blb", ztmp)
+             CALL wrk_dealloc(jpi, jpj, ztmp)
+          ENDIF
+#endif
       CASE ( 3 )    ;   CALL dyn_ldf_bilapg ( kt )      ! s-coord. horizontal bilaplacian
       CASE ( 4 )                                        ! iso-level laplacian + bilaplacian
Index: /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_c2d.h90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_c2d.h90	(revision 7581)
+++ /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_c2d.h90	(revision 7582)
@@ -92,4 +92,5 @@
                &                         1, jpj, 1, 1.e-3, numout )
          ENDIF
+
       ENDIF
       
Index: /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/trabbc.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/trabbc.F90	(revision 7581)
+++ /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/trabbc.F90	(revision 7582)
@@ -79,4 +79,5 @@
       REAL(wp) ::   zqgh_trd      ! geothermal heat flux trend
       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztrdt
+      REAL(wp), POINTER, DIMENSION(:,:) ::   ztmp
       !!----------------------------------------------------------------------
       !
@@ -88,4 +89,12 @@
       ENDIF
       !
+      IF( kt == nit000 ) THEN
+      !Output the geothermal heat flux once for CMIP6 diagnostics
+         wrk_alloc(jpi, jpj, ztmp)
+         ztmp(:,:) = qgh_trd0(:,:)*rcp_rau0
+         CALL iom_put( 'hfgeou', ztmp )
+         wrk_dealloc(jpi, jpj, ztmp)
+      ENDIF
+
       !                             !  Add the geothermal heat flux trend on temperature
       DO jj = 2, jpjm1
Index: /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90	(revision 7581)
+++ /branches/UKMO/dev_r5518_GO6_package_for_static_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90	(revision 7582)
@@ -76,4 +76,11 @@
       ENDIF
 
+
+#ifdef key_traldf_c2d
+      IF (kt == nit000) THEN
+         CALL iom_put( "aht2D", ahtw)
+#endif
+
+
       SELECT CASE ( nldf )                       ! compute lateral mixing trend and add it to the general trend
       CASE ( 0 )   ;   CALL tra_ldf_lap     ( kt, nit000, 'TRA', gtsu, gtsv, gtui, gtvi,        &
