Opened 7 months ago

Closed 7 months ago

#1925 closed Enhancement (fixed)

Update TOP modules for CMIP6

Reported by:Tomas Lovato Component: TOP
Version: release-3.6 Severity:
Keywords: TOP, CFC, AGE Cc:
Owned by:nemo Milestone:
Priority: normal



In the framework of CMIP6 project, TOP modules for CFC and AGE need some update to cope with experiment requirements


The following changes are required to address lacking features for CMIP6:

  • Update CFC air-sea gas exchange formulations to CMIP6 standard (see Orr et al 2017
  • enable flexible selection of CFC compounds among CFC11, CFC12, SF6, by setting total number (jp_cfc) and activating corresponding logical keys (lp_cfc11,lp_cfc12,lp_sf6) in par_cfc.F90
  • include CMIP compliant CFCs hemispheric concentration file, named CFCs_CMIP6.dat (as in trunk)
  • refactor water AGE module to automatically set tracer name, units etc
  • reorder memory composition of jptra to have first pisces and my_trc, and then the other TOP modules (similarly to trunk)

Commit History (4)


trunk: fix bug in CFC fluxes indexing for output (#1925)


3.6_stable: fix bug in CFC fluxes indexing for output (#1925)


3.6_stable: update ORCA2_LIM_CFC_C14b configuration as demonstrator for CFC, C14b, AGE (#1925)


3.6 stable: update TOP modules and shared configuraton files for CMIP6 (#1925)

Change History (3)

comment:1 Changed 7 months ago by Tomas Lovato

  • Resolution set to fixed
  • Status changed from new to closed

The required updates of TOP modules in nemo_v3_6_STABLE were done according to the following:

  • r8353, update the modules in TOP_SRC and reference fields definitions in field_def.xml
  • r8354, update the content of ORCA2_LIM_CFC_C14b with new CFC input file and add water AGE tracer to setup a complete demonstrator for CFC, C14b, AGE

NOTE that C14b input file was not updated since the CMIP6 input is not yet available.

CFCs hemispheric inputs file come from the CMIP6 repository : input4MIPs_GHGConcentrations_CMIP_UoM-CMIP-1-1-0_gr3-GMNHSH_0000-2014

comment:2 Changed 7 months ago by Tomas Lovato

  • Resolution fixed deleted
  • Status changed from closed to reopened

The ticket was reopened to fix a bug in output of CFC fluxes when also pisces or my_trc modules are coupled.

In previous update, the following loop was copied back from the trunk

      IF( lk_iomput ) THEN
         DO jn = jp_cfc0, jp_cfc1
            CALL iom_put( 'qtr_'//ctrcnm(jn) , qtr_cfc (:,:,jn) )
            CALL iom_put( 'qint_'//ctrcnm(jn), qint_cfc(:,:,jn) )
      END IF

but jn varies with the global tracer indexing while qtr_cfc is local array (jp_cfc) and if CFC module is not the first one used output are non sense numbers that give an error when writing netcdf.

The code should be updated for both 3_6_stable and trunk as follow

         jl = 0
         DO jn = jp_cfc0, jp_cfc1
            jl = jl + 1
            CALL iom_put( 'qtr_'//TRIM(ctrcnm(jn)) , qtr_cfc (:,:,jl) )
            CALL iom_put( 'qint_'//TRIM(ctrcnm(jn)), qint_cfc(:,:,jl) )

In addition, the configuration GYRE_XIOS needs the inclusion of ln_useCT=.false. option in namelist_cfg to correctly work, as in the follwoing

 &nameos        !   ocean physical parameters
    nn_eos      =   0       !  type of equation of state and Brunt-Vaisala frequency
+   ln_useCT    = .false.  ! use of Conservative Temp. ==> surface CT converted in Pot. Temp. in sbcssm
Last edited 7 months ago by Nicolas MARTIN (previous) (diff)

comment:3 Changed 7 months ago by Tomas Lovato

  • Resolution set to fixed
  • Status changed from reopened to closed

The bugfix was applied to 3.6_stable at r8396 and in the trunk at r8397

Note: See TracTickets for help on using tickets.