Index: branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/CFC/par_cfc.F90
===================================================================
--- branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/CFC/par_cfc.F90	(revision 8074)
+++ branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/CFC/par_cfc.F90	(revision 8075)
@@ -5,4 +5,5 @@
    !!======================================================================
    !! History :   2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture
+   !!                  !  2017-04  (A. Yool)  add SF6
    !!----------------------------------------------------------------------
    !! NEMO/TOP 3.3 , NEMO Consortium (2010)
@@ -20,8 +21,8 @@
    USE par_medusa , ONLY : jp_medusa_trd   !: number of biological diag in MEDUSA
 
-   USE par_idtra  , ONLY : jp_idtra        !: number of tracers in MEDUSA
-   USE par_idtra  , ONLY : jp_idtra_2d     !: number of tracers in MEDUSA
-   USE par_idtra  , ONLY : jp_idtra_3d     !: number of tracers in MEDUSA
-   USE par_idtra  , ONLY : jp_idtra_trd    !: number of tracers in MEDUSA
+   USE par_idtra  , ONLY : jp_idtra        !: number of tracers in ideal tracer
+   USE par_idtra  , ONLY : jp_idtra_2d     !: number of tracers in ideal tracer
+   USE par_idtra  , ONLY : jp_idtra_3d     !: number of tracers in ideal tracer
+   USE par_idtra  , ONLY : jp_idtra_trd    !: number of tracers in ideal tracer
 
    IMPLICIT NONE
@@ -41,6 +42,6 @@
    !!---------------------------------------------------------------------
    LOGICAL, PUBLIC, PARAMETER ::   lk_cfc     = .TRUE.      !: CFC flag 
-   INTEGER, PUBLIC, PARAMETER ::   jp_cfc     =  1          !: number of passive tracers
-   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_2d  =  2          !: additional 2d output arrays ('key_trc_diaadd')
+   INTEGER, PUBLIC, PARAMETER ::   jp_cfc     =  3          !: number of passive tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_cfc_2d  =  6          !: additional 2d output arrays ('key_trc_diaadd')
    INTEGER, PUBLIC, PARAMETER ::   jp_cfc_3d  =  0          !: additional 3d output arrays ('key_trc_diaadd')
    INTEGER, PUBLIC, PARAMETER ::   jp_cfc_trd =  0          !: number of sms trends for CFC
@@ -48,5 +49,6 @@
    ! assign an index in trc arrays for each CFC prognostic variables
    INTEGER, PUBLIC, PARAMETER ::   jpc11       = jp_lc + 1   !: CFC-11 
-   INTEGER, PUBLIC, PARAMETER ::   jpc12       = jp_lc + 2   !: CFC-12   
+   INTEGER, PUBLIC, PARAMETER ::   jpc12       = jp_lc + 2   !: CFC-12 (priority tracer for CMIP6)
+   INTEGER, PUBLIC, PARAMETER ::   jpsf6       = jp_lc + 3   !: SF6
 #else
    !!---------------------------------------------------------------------
@@ -61,12 +63,12 @@
 
    ! Starting/ending CFC do-loop indices (N.B. no CFC : jp_cfc0 > jp_cfc1 the do-loop are never done)
-   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0     = jp_lc + 1       !: First index of CFC tracers
-   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1     = jp_lc + jp_cfc  !: Last  index of CFC tracers
-   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_2d  = jp_lc_2d  + 1       !: First index of CFC tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0     = jp_lc + 1              !: First index of CFC tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1     = jp_lc + jp_cfc         !: Last  index of CFC tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_2d  = jp_lc_2d  + 1          !: First index of CFC tracers
    INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_2d  = jp_lc_2d  + jp_cfc_2d  !: Last  index of CFC tracers
-   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_3d  = jp_lc_3d  + 1       !: First index of CFC tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_3d  = jp_lc_3d  + 1          !: First index of CFC tracers
    INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_3d  = jp_lc_3d  + jp_cfc_3d  !: Last  index of CFC tracers
-   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_trd = jp_lc_trd + 1       !: First index of CFC tracers
-   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_trd = jp_lc_trd + jp_cfc_trd  !: Last  index of CFC tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_cfc0_trd = jp_lc_trd + 1          !: First index of CFC tracers
+   INTEGER, PUBLIC, PARAMETER ::   jp_cfc1_trd = jp_lc_trd + jp_cfc_trd !: Last  index of CFC tracers
 
    !!======================================================================
Index: branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/CFC/trcini_cfc.F90
===================================================================
--- branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/CFC/trcini_cfc.F90	(revision 8074)
+++ branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/CFC/trcini_cfc.F90	(revision 8075)
@@ -5,4 +5,5 @@
    !!======================================================================
    !! History :   2.0  !  2007-12  (C. Ethe, G. Madec) 
+   !!                  !  2017-04  (A. Yool)  Add SF6
    !!----------------------------------------------------------------------
 #if defined key_cfc
@@ -22,5 +23,5 @@
    PUBLIC   trc_ini_cfc   ! called by trcini.F90 module
 
-   CHARACTER (len=34) ::   clname = 'cfc1112.atm'   ! ???
+   CHARACTER (len=34) ::   clname = 'cfc1112sf6.atm'   ! ???
 
    INTEGER  ::   inum                   ! unit number
@@ -44,5 +45,5 @@
       !!----------------------------------------------------------------------
       INTEGER  ::  ji, jj, jn, jl, jm, js, io, ierr
-      INTEGER  ::  iskip = 6   ! number of 1st descriptor lines
+      INTEGER  ::  iskip = 7   ! number of 1st descriptor lines
       REAL(wp) ::  zyy, zyd
       !!----------------------------------------------------------------------
@@ -53,5 +54,5 @@
 
 
-      IF(lwp) WRITE(numout,*) 'read of formatted file cfc1112atm'
+      IF(lwp) WRITE(numout,*) 'read of formatted file cfc1112sf6.atm'
       
       CALL ctl_opn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
@@ -105,26 +106,30 @@
       jn = 31
       DO 
-        READ(inum,*, IOSTAT=io) zyy, p_cfc(jn,1,1), p_cfc(jn,1,2), p_cfc(jn,2,1), p_cfc(jn,2,2)
+        READ(inum,*, IOSTAT=io) zyy, p_cfc(jn,1,1), p_cfc(jn,1,2), &
+             & p_cfc(jn,1,3), p_cfc(jn,2,1) &
+             & p_cfc(jn,2,2), p_cfc(jn,2,3)
         IF( io < 0 ) exit
         jn = jn + 1
       END DO
 
-      p_cfc(32,1:2,1) = 5.e-4      ! modify the values of the first years
-      p_cfc(33,1:2,1) = 8.e-4
-      p_cfc(34,1:2,1) = 1.e-6
-      p_cfc(35,1:2,1) = 2.e-3
-      p_cfc(36,1:2,1) = 4.e-3
-      p_cfc(37,1:2,1) = 6.e-3
-      p_cfc(38,1:2,1) = 8.e-3
-      p_cfc(39,1:2,1) = 1.e-2
+      ! AXY (25/04/17): do not adjust
+      ! p_cfc(32,1:2,1) = 5.e-4      ! modify the values of the first years
+      ! p_cfc(33,1:2,1) = 8.e-4
+      ! p_cfc(34,1:2,1) = 1.e-6
+      ! p_cfc(35,1:2,1) = 2.e-3
+      ! p_cfc(36,1:2,1) = 4.e-3
+      ! p_cfc(37,1:2,1) = 6.e-3
+      ! p_cfc(38,1:2,1) = 8.e-3
+      ! p_cfc(39,1:2,1) = 1.e-2
       
       IF(lwp) THEN        ! Control print
          WRITE(numout,*)
-         WRITE(numout,*) ' Year   p11HN    p11HS    p12HN    p12HS '
+         WRITE(numout,*) ' Year   p11HN    p11HS    p12HN    p12HS    pSF6N    pSF6S '
          DO jn = 30, jpyear
-            WRITE(numout, '( 1I4, 4F9.2)') jn, p_cfc(jn,1,1), p_cfc(jn,2,1), p_cfc(jn,1,2), p_cfc(jn,2,2)
+            WRITE(numout, '( 1I4, 6F9.2)') jn, p_cfc(jn,1,1), p_cfc(jn,2,1), &
+                 & p_cfc(jn,1,2), p_cfc(jn,2,2) &
+                 & p_cfc(jn,1,3), p_cfc(jn,2,3)
          END DO
       ENDIF
-
 
       ! Interpolation factor of atmospheric partial pressure
Index: branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90
===================================================================
--- branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90	(revision 8074)
+++ branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90	(revision 8075)
@@ -7,4 +7,6 @@
    !!  NEMO      1.0  !  2004-03  (C. Ethe) free form + modularity
    !!            2.0  !  2007-12  (C. Ethe, G. Madec)  reorganisation
+   !!                 !  2016-06  (J. Palmieri)  update for UKESM1
+   !!                 !  2017-04  (A. Yool)  update to add SF6, fix coefficients
    !!----------------------------------------------------------------------
 #if defined key_cfc
@@ -43,7 +45,7 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   patm     ! atmospheric function
 
-   REAL(wp), DIMENSION(4,2) ::   soa   ! coefficient for solubility of CFC [mol/l/atm]
-   REAL(wp), DIMENSION(3,2) ::   sob   !    "               "
-   REAL(wp), DIMENSION(4,2) ::   sca   ! coefficients for schmidt number in degre Celcius
+   REAL(wp), DIMENSION(4,3) ::   soa   ! coefficient for solubility of CFC [mol/l/atm]
+   REAL(wp), DIMENSION(3,3) ::   sob   !    "               "
+   REAL(wp), DIMENSION(5,3) ::   sca   ! coefficients for schmidt number in degre Celcius
       
    !                          ! coefficients for conversion
@@ -85,5 +87,5 @@
       INTEGER  ::   im1, im2, ierr
       REAL(wp) ::   ztap, zdtap        
-      REAL(wp) ::   zt1, zt2, zt3, zv2
+      REAL(wp) ::   zt1, zt2, zt3, zt4, zv2
       REAL(wp) ::   zsol      ! solubility
       REAL(wp) ::   zsch      ! schmidt number 
@@ -106,18 +108,16 @@
       ! Temporal interpolation
       ! ----------------------
-      !! JPALM -- 15-06-2016 -- define 2 kind of CFC run.
-      !!                     we want to make cycle experiments, 
-      !!                     to periodically compare the ocean dynamic within
-      !!                     1- the SPIN-UP and 2- Hincast/Projections
+      !! JPALM -- 15-06-2016 -- define 2 kinds of CFC run:
+      !!                     1- the SPIN-UP and 2- Hindcast/Projections
       !!                     -- main difference is the way to define the year of
       !!                     simulation, that determine the atm pCFC.
       !!                     1-- Spin-up: our atm forcing is of 30y we cycle on.
       !!                     So we do 90y CFC cycles to be in good
-      !!                     correspondance with the atmosphere
+      !!                     correspondence with the atmosphere
       !!                     2-- Hindcast/proj, instead of nyear-1900 we keep
       !!                     the 2 last digit, and enable 3 cycle from 1800 to 2100.  
       !!----------------------------------------------------------------------
-      !! 1 -- SPIN-UP
       IF (simu_type==1) THEN
+         !! 1 -- SPIN-UP
          iyear_tmp = nyear - nyear_res  !! JPALM -- in our spin-up, nyear_res is 1000
          iyear_beg = MOD( iyear_tmp , 90 )
@@ -133,7 +133,6 @@
             iyear_beg = iyear_beg + 30
          ENDIF
-      !!
-      !! 2 -- Hindcast/proj
       ELSEIF (simu_type==2) THEN
+         !! 2 -- Hindcast/proj
          iyear_beg = MOD(nyear, 100)
          IF (iyear_beg < 9)  iyear_beg = iyear_beg + 100
@@ -191,10 +190,13 @@
                zt2  = zt1 * zt1 
                zt3  = zt1 * zt2
-               zsch = sca(1,jl) + sca(2,jl) * zt1 + sca(3,jl) * zt2 + sca(4,jl) * zt3
+               zt4  = zt1 * zt3
+               zsch = sca(1,jl) + sca(2,jl) * zt1 + sca(3,jl) * zt2 + sca(4,jl) * zt3 + sca(5,jl) * zt4
 
                !    speed transfert : formulae of wanninkhof 1992
                zv2     = wndm(ji,jj) * wndm(ji,jj)
                zsch    = zsch / 660.
-               zak_cfc = ( 0.39 * xconv2 * zv2 / SQRT(zsch) ) * tmask(ji,jj,1)
+               ! AXY (25/04/17): OMIP protocol specifies lower Wanninkhof (2014) value
+               ! zak_cfc = ( 0.39 * xconv2 * zv2 / SQRT(zsch) ) * tmask(ji,jj,1)
+               zak_cfc = ( 0.251 * xconv2 * zv2 / SQRT(zsch) ) * tmask(ji,jj,1)
 
                ! Input function  : speed *( conc. at equil - concen at surface )
@@ -226,4 +228,6 @@
                elseif (jl.EQ.2) then
                    WRITE(NUMOUT,*) 'Traceur = CFC12: '
+               elseif (jl.EQ.3) then
+                   WRITE(NUMOUT,*) 'Traceur = SF6: '
                endif
              WRITE(NUMOUT,*) 'nyear    = ', nyear
@@ -256,8 +260,16 @@
          CALL iom_put( "qtrCFC11"  , qtr_cfc (:,:,1) )
          CALL iom_put( "qintCFC11" , qint_cfc(:,:,1) )
+         CALL iom_put( "qtrCFC12"  , qtr_cfc (:,:,2) )
+         CALL iom_put( "qintCFC12" , qint_cfc(:,:,2) )
+         CALL iom_put( "qtrSF6"    , qtr_cfc (:,:,3) )
+         CALL iom_put( "qintSF6"   , qint_cfc(:,:,4) )
       ELSE
          IF( ln_diatrc ) THEN
             trc2d(:,:,jp_cfc0_2d    ) = qtr_cfc (:,:,1)
             trc2d(:,:,jp_cfc0_2d + 1) = qint_cfc(:,:,1)
+            trc2d(:,:,jp_cfc0_2d + 2) = qtr_cfc (:,:,2)
+            trc2d(:,:,jp_cfc0_2d + 3) = qint_cfc(:,:,2)
+            trc2d(:,:,jp_cfc0_2d + 4) = qtr_cfc (:,:,3)
+            trc2d(:,:,jp_cfc0_2d + 5) = qint_cfc(:,:,4)
          END IF
       END IF
@@ -293,15 +305,16 @@
       soa(2,1) =  319.6552
       soa(3,1) =  119.4471
-      soa(4,1) =  -1.39165
-
-      sob(1,1) =  -0.142382
-      sob(2,1) =   0.091459
-      sob(3,1) =  -0.0157274
-
-      ! Schmidt number 
-      sca(1,1) = 3501.8
-      sca(2,1) = -210.31
-      sca(3,1) =  6.1851
-      sca(4,1) = -0.07513
+      soa(4,1) =   -1.39165
+
+      sob(1,1) = -0.142382
+      sob(2,1) =  0.091459
+      sob(3,1) = -0.0157274
+
+      ! Schmidt number          AXY (25/04/17)
+      sca(1,1) = 3579.2       ! = 3501.8
+      sca(2,1) = -222.63      ! = -210.31
+      sca(3,1) =    7.5749    ! =    6.1851
+      sca(4,1) =   -0.14595   ! =   -0.07513
+      sca(5,1) =    0.0011874 ! = absent
 
       ! coefficient for CFC12 
@@ -312,15 +325,36 @@
       soa(2,2) =  298.9702
       soa(3,2) =  113.8049
-      soa(4,2) =  -1.39165
-
-      sob(1,2) =  -0.143566
-      sob(2,2) =   0.091015
-      sob(3,2) =  -0.0153924
-
-      ! schmidt number 
-      sca(1,2) =  3845.4 
-      sca(2,2) =  -228.95
-      sca(3,2) =  6.1908 
-      sca(4,2) =  -0.067430
+      soa(4,2) =   -1.39165
+
+      sob(1,2) = -0.143566
+      sob(2,2) =  0.091015
+      sob(3,2) = -0.0153924
+
+      ! schmidt number         AXY (25/04/17)
+      sca(1,2) = 3828.1      ! = 3845.4 
+      sca(2,2) = -249.86     ! = -228.95
+      sca(3,2) =    8.7603   ! =    6.1908 
+      sca(4,2) =   -0.1716   ! =   -0.067430
+      sca(5,2) =    0.001408 ! = absent
+
+      ! coefficients for SF6   AXY (25/04/17)
+      !---------------------
+      
+      ! Solubility
+      soa(1,3) =  -80.0343
+      soa(2,3) =  117.232
+      soa(3,3) =   29.5817
+      soa(4,3) =    0.0
+
+      sob(1,3) =  0.0335183
+      sob(2,3) = -0.0373942
+      sob(3,3) =  0.00774862
+
+      ! Schmidt number
+      sca(1,3) = 3177.5
+      sca(2,3) = -200.57
+      sca(3,3) =    6.8865
+      sca(4,3) =   -0.13335
+      sca(5,3) =    0.0010877
 
       !!---------------------------------------------
