diff --git a/ARCH/arch-XC_ARCHER_INTEL.fcm b/ARCH/arch-XC_ARCHER_INTEL.fcm
deleted file mode 100644
index 3b8a33b00acd24365999390eac14bafe3d0bf0b2..0000000000000000000000000000000000000000
--- a/ARCH/arch-XC_ARCHER_INTEL.fcm
+++ /dev/null
@@ -1,61 +0,0 @@
-# compiler options for Archer CRAY XC-30 (using intel compiler)
-#
-# NCDF_HOME   root directory containing lib and include subdirectories for netcdf4
-# HDF5_HOME   root directory containing lib and include subdirectories for HDF5
-# XIOS_HOME   root directory containing lib for XIOS
-# OASIS_HOME  root directory containing lib for OASIS
-#
-# NCDF_INC    netcdf4 include file
-# NCDF_LIB    netcdf4 library
-# XIOS_INC    xios include file    (taken into accound only if key_iomput is activated)
-# XIOS_LIB    xios library         (taken into accound only if key_iomput is activated)
-# OASIS_INC   oasis include file   (taken into accound only if key_oasis3 is activated)
-# OASIS_LIB   oasis library        (taken into accound only if key_oasis3 is activated)
-#
-# FC          Fortran compiler command
-# FCFLAGS     Fortran compiler flags
-# FFLAGS      Fortran 77 compiler flags
-# LD          linker
-# LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries
-# FPPFLAGS    pre-processing flags
-# AR          assembler
-# ARFLAGS     assembler flags
-# MK          make
-# USER_INC    complete list of include files
-# USER_LIB    complete list of libraries to pass to the linker
-# CC          C compiler used to compile conv for AGRIF
-# CFLAGS      compiler flags used with CC
-#
-# Note that:
-#  - unix variables "$..." are accpeted and will be evaluated before calling fcm.
-#  - fcm variables are starting with a % (and not a $)
-#
-%NCDF_HOME           $NETCDF_DIR
-%HDF5_HOME           $HDF5_DIR
-%XIOS_HOME           /work/n01/n01/jdha/2017/xios/trunk
-#OASIS_HOME          
-
-%NCDF_INC            -I%NCDF_HOME/include -I%HDF5_HOME/include
-%NCDF_LIB            -L%HDF5_HOME/lib -L%NCDF_HOME/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz
-%XIOS_INC            -I%XIOS_HOME/inc 
-%XIOS_LIB            -L%XIOS_HOME/lib -lxios
-#OASIS_INC           -I%OASIS_HOME/build/lib/mct -I%OASIS_HOME/build/lib/psmile.MPI1
-#OASIS_LIB           -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
-
-%CPP	             cpp
-%FC                  ftn
-%FCFLAGS             -integer-size 32 -real-size 64 -O3 -fp-model source -zero -fpp -warn all
-%FFLAGS              -integer-size 32 -real-size 64 -O3 -fp-model source -zero -fpp -warn all
-%LD                  CC -Wl,"--allow-multiple-definition"
-%FPPFLAGS            -P -C -traditional
-%LDFLAGS
-%AR                  ar 
-%ARFLAGS             -r
-%MK                  gmake
-%USER_INC            %XIOS_INC %NCDF_INC
-%USER_LIB            %XIOS_LIB %NCDF_LIB
-#USER_INC            %XIOS_INC %OASIS_INC %NCDF_INC
-#USER_LIB            %XIOS_LIB %OASIS_LIB %NCDF_LIB
-
-%CC                  cc
-%CFLAGS              -O0
diff --git a/BoBEAS_archer.rst b/BoBEAS_archer.rst
deleted file mode 100644
index ea3296ec5eb4f7e34af2343068a5633a78c26b24..0000000000000000000000000000000000000000
--- a/BoBEAS_archer.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-==============================================================================
-Setting up a Bay of Bengal and East Arabian Sea (BoBEAS) NEMO v4 configuration
-==============================================================================
-
-Machines: ARCHER
-
-archer$
-
-Set up and move into new config space::
-
-  cd /work/n01/n01/$USER
-  mkdir BoBEAS
-  cd BoBEAS
-
-Get Git Repo::
-
-  git clone https://github.com/NOC-MSM/BoBEAS.git
-
-Run master script::
-
-  cd BoBEAS/SCRIPTS
-  . main1.sh
-
-
-  **MAYBE TRY PUTTING THIS AS A REPO WiKI INSTEAD***
diff --git a/EXP00/1_namelist_cfg b/EXP00/1_namelist_cfg
deleted file mode 100755
index b49add1602451bba2c07a439720e8ea663b2de3f..0000000000000000000000000000000000000000
--- a/EXP00/1_namelist_cfg
+++ /dev/null
@@ -1,247 +0,0 @@
-!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-!! NEMO/OPA  :  Configuration namelist used to overwrite SHARED/1_namelist_ref
-!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-!-----------------------------------------------------------------------
-&namrun        !   parameters of the run
-!-----------------------------------------------------------------------
-   cn_exp      = "Agulhas" !  experience name 
-   nn_it000    =       1   !  first time step
-   nn_itend    =   10950   !  last  time step
-   nn_stock    =   10950   !  frequency of creation of a restart file (modulo referenced to 1)
-   nn_write    =   10950   !  frequency of write in the output file   (modulo referenced to nn_it000)
-   ln_clobber  = .true.    !  clobber (overwrite) an existing file
-/
-!-----------------------------------------------------------------------
-&namcfg        !   parameters of the configuration
-!-----------------------------------------------------------------------
-   ln_read_cfg = .true.    !  (=T) read the domain configuration file
-      !                    !  (=F) user defined configuration  ==>>>  see usrdef(_...) modules
-      cn_domcfg = "AGRIF_AGULHAS_domain_cfg"    ! domain configuration filename
-/
-!-----------------------------------------------------------------------
-&namdom        !   space and time domain (bathymetry, mesh, timestep)
-!-----------------------------------------------------------------------  
-   ln_linssh   = .true.   !  =T  linear free surface  ==>>  model level are fixed in time
-   nn_closea   =    0      !  remove (=0) or keep (=1) closed seas and lakes (ORCA)
-   !
-   rn_rdt      = 2880.     !  time step for the dynamics (and tracer if nn_acc=0)
-   !
-/
-!-----------------------------------------------------------------------
-&namcrs        !   Grid coarsening for dynamics output and/or
-!              !   passive tracer coarsened online simulations
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namtsd    !   data : Temperature  & Salinity
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namsbc        !   Surface Boundary Condition (surface module)
-!-----------------------------------------------------------------------
-   ln_blk      = .true.    !  CORE bulk formulation                     (T => fill namsbc_core)
-   nn_ice      = 3         !  =0 no ice boundary condition   ,
-                           !  =1 use observed ice-cover      ,
-                           !  =2 ice-model used                         ("key_lim3" or "key_lim2)
-   ln_rnf      = .false.   !  runoffs                                   (T => fill namsbc_rnf)
-   ln_ssr      = .false.   !  Sea Surface Restoring on T and/or S       (T => fill namsbc_ssr)
-   nn_fwb      = 0         !  FreshWater Budget: =0 unchecked 
-                           !     =1 global mean of e-p-r set to zero at each time step 
-                           !     =2 annual global mean of e-p-r set to zero
-                           !     =3 global emp set to zero and spread out over erp area
-/
-!-----------------------------------------------------------------------
-&namsbc_blk   !   namsbc_blk  generic Bulk formula                      (ln_blk = T)
-!-----------------------------------------------------------------------
-!              !  file name                   ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights                              ! rotation ! land/sea mask !
-!              !                              !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename                             ! pairing  ! filename      !
-   sn_wndi     = 'u_10.15JUNE2009_fill'       ,         6         , 'U_10_MOD',   .false.    , .true. , 'yearly'  , 'weights_core2_agrif_bicubic.nc'     , 'Uwnd'   , ''
-   sn_wndj     = 'v_10.15JUNE2009_fill'       ,         6         , 'V_10_MOD',   .false.    , .true. , 'yearly'  , 'weights_core2_agrif_bicubic.nc'     , 'Vwnd'   , ''
-   sn_qsr      = 'ncar_rad.15JUNE2009_fill'   ,        24         , 'SWDN_MOD',   .false.    , .true. , 'yearly'  , 'weights_core2_agrif_bilinear.nc'    , ''       , ''
-   sn_qlw      = 'ncar_rad.15JUNE2009_fill'   ,        24         , 'LWDN_MOD',   .false.    , .true. , 'yearly'  , 'weights_core2_agrif_bilinear.nc'    , ''       , ''
-   sn_tair     = 't_10.15JUNE2009_fill'       ,         6         , 'T_10_MOD',   .false.    , .true. , 'yearly'  , 'weights_core2_agrif_bilinear.nc'    , ''       , ''
-   sn_humi     = 'q_10.15JUNE2009_fill'       ,         6         , 'Q_10_MOD',   .false.    , .true. , 'yearly'  , 'weights_core2_agrif_bilinear.nc'    , ''       , ''
-   sn_prec     = 'ncar_precip.15JUNE2009_fill',        -1         , 'PRC_MOD1',   .false.    , .true. , 'yearly'  , 'weights_core2_agrif_bilinear.nc'    , ''       , ''
-   sn_snow     = 'ncar_precip.15JUNE2009_fill',        -1         , 'SNOW'    ,   .false.    , .true. , 'yearly'  , 'weights_core2_agrif_bilinear.nc'    , ''       , ''
-   sn_slp      = 'slp.15JUNE2009_fill'        ,         6         , 'SLP'     ,   .false.    , .true. , 'yearly'  , 'weights_core2_agrif_bilinear.nc'    , ''       , ''
-   sn_tdif     = 'taudif_core'                ,        24         , 'taudif'  ,   .false.    , .true. , 'yearly'  , 'weights_core2_agrif_bilinear.nc'    , ''       , ''
-   !
-   !                    !  bulk algorithm :
-   ln_NCAR     = .true.   ! "NCAR"      algorithm   (Large and Yeager 2008)
-   !
-/
-!-----------------------------------------------------------------------
-&namtra_qsr    !   penetrative solar radiation
-!-----------------------------------------------------------------------
-!              !  file name  ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation !
-!              !             !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  !
-   sn_chl      ='chlorophyll',        -1         , 'CHLA'    ,   .true.     , .true. , 'yearly'  , 'weights_bilin.nc'       , ''
-/
-!-----------------------------------------------------------------------
-&namlbc        !   lateral momentum boundary condition
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namagrif      !  AGRIF zoom                                            ("key_agrif")
-!-----------------------------------------------------------------------
-   nn_cln_update =    1    !  baroclinic update frequency
-/
-!-----------------------------------------------------------------------
-&nambfr        !   bottom friction
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&nambbc        !   bottom temperature boundary condition
-!-----------------------------------------------------------------------
-   ln_trabbc   = .true.    !  Apply a geothermal heating at the ocean bottom
-/
-!-----------------------------------------------------------------------
-&nambbl        !   bottom boundary layer scheme
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&nameos        !   ocean physical parameters
-!-----------------------------------------------------------------------
-  ln_teos10   = .true.         !  = Use TEOS-10 equation of state
-/
-!-----------------------------------------------------------------------
-&namtra_dmp    !   tracer: T & S newtonian damping
-!-----------------------------------------------------------------------
-   ln_tradmp   =  .false.   !  add a damping termn (T) or not (F)
-/
-!-----------------------------------------------------------------------
-&namtra_adv    !   advection scheme for tracer
-!-----------------------------------------------------------------------
-   ln_traadv_fct =  .true.    !  FCT scheme
-      nn_fct_h   =  2               !  =2/4, horizontal 2nd / 4th order 
-      nn_fct_v   =  2               !  =2/4, vertical   2nd / COMPACT 4th order 
-      nn_fct_zts =  0               !  >=1,  2nd order FCT scheme with vertical sub-timestepping
-      !                             !        (number of sub-timestep = nn_fct_zts)
-/
-!-----------------------------------------------------------------------
-&namtra_ldf    !   lateral diffusion scheme for tracers
-!----------------------------------------------------------------------------------
-   !                       !  Operator type:
-   ln_traldf_lap   =  .true.   !    laplacian operator
-   ln_traldf_blp   =  .false.  !  bilaplacian operator
-   !                       !  Direction of action:
-   ln_traldf_lev   =  .false.  !  iso-level
-   ln_traldf_hor   =  .false.  !  horizontal (geopotential)
-   ln_traldf_iso   =  .true.   !  iso-neutral (Standard operator)
-   ln_traldf_triad =  .false.  !  iso-neutral (Triads   operator)
-   !
-   !		       	         !  iso-neutral options:        
-   ln_traldf_msc   =  .true.   !  Method of Stabilizing Correction (both operators)
-   rn_slpmax       =   0.01    !  slope limit                      (both operators)
-   ln_triad_iso    =  .false.  !  pure horizontal mixing in ML              (triad only)
-   rn_sw_triad     =  1        !  =1 switching triad ; =0 all 4 triads used (triad only)
-   ln_botmix_triad =  .false.  !  lateral mixing on bottom                  (triad only)
-   !
-   !                       !  Coefficients:
-   nn_aht_ijk_t    = 20        !  space/time variation of eddy coef
-   !                                !   =-20 (=-30)    read in eddy_diffusivity_2D.nc (..._3D.nc) file
-   !                                !   =  0           constant 
-   !                                !   = 10 F(k)      =ldf_c1d 
-   !                                !   = 20 F(i,j)    =ldf_c2d 
-   !                                !   = 21 F(i,j,t)  =Treguier et al. JPO 1997 formulation
-   !                                !   = 30 F(i,j,k)  =ldf_c2d + ldf_c1d
-   !                                !   = 31 F(i,j,k,t)=F(local velocity)
-   rn_aht_0        = 1000.     !  lateral eddy diffusivity   (lap. operator) [m2/s]
-   rn_bht_0        = 1.e+12    !  lateral eddy diffusivity (bilap. operator) [m4/s]
-/
-!----------------------------------------------------------------------------------
-&namtra_ldfeiv !   eddy induced velocity param.
-!----------------------------------------------------------------------------------
-   ln_ldfeiv     =.false.   ! use eddy induced velocity parameterization
-/
-!-----------------------------------------------------------------------
-&namdyn_adv    !   formulation of the momentum advection
-!-----------------------------------------------------------------------
-/  
-!-----------------------------------------------------------------------
-&namdyn_vor    !   option of physics/algorithm (not control by CPP keys)
-!-----------------------------------------------------------------------
-   ln_dynvor_ene = .false. !  enstrophy conserving scheme
-   ln_dynvor_ens = .false. !  energy conserving scheme
-   ln_dynvor_mix = .false. !  mixed scheme
-   ln_dynvor_een = .true.  !  energy & enstrophy scheme
-      nn_een_e3f = 0             !  e3f = masked averaging of e3t divided by 4 (=0) or by the sum of mask (=1)
-/
-!-----------------------------------------------------------------------
-&namdyn_hpg    !   Hydrostatic pressure gradient option
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namdyn_spg    !   surface pressure gradient
-!-----------------------------------------------------------------------
-   ln_dynspg_ts  = .true.  !  split-explicit free surface
-/
-!-----------------------------------------------------------------------
-&namdyn_ldf    !   lateral diffusion on momentum
-!-----------------------------------------------------------------------
-   !                       !  Type of the operator :
-   !                           !  no diffusion: set ln_dynldf_lap=..._blp=F 
-   ln_dynldf_lap =  .false.    !    laplacian operator
-   ln_dynldf_blp =  .true.     !  bilaplacian operator
-   !                       !  Direction of action  :
-   ln_dynldf_lev =  .true.     !  iso-level
-   ln_dynldf_hor =  .false.    !  horizontal (geopotential)
-   ln_dynldf_iso =  .false.    !  iso-neutral
-   !                       !  Coefficient
-   nn_ahm_ijk_t  =  0          !  space/time variation of eddy coef
-   !                                !  =-30  read in eddy_viscosity_3D.nc file
-   !                                !  =-20  read in eddy_viscosity_2D.nc file
-   !                                !  =  0  constant 
-   !                                !  = 10  F(k)=c1d
-   !                                !  = 20  F(i,j)=F(grid spacing)=c2d
-   !                                !  = 30  F(i,j,k)=c2d*c1d
-   !                                !  = 31  F(i,j,k)=F(grid spacing and local velocity)
-   rn_ahm_0      =  40000.     !  horizontal laplacian eddy viscosity   [m2/s]
-   rn_ahm_b      =      0.     !  background eddy viscosity for ldf_iso [m2/s]
-   rn_bhm_0      = 8.5e+11     !  horizontal bilaplacian eddy viscosity [m4/s]
-/
-!-----------------------------------------------------------------------
-&namzdf        !   vertical physics
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namzdf_tke    !   turbulent eddy kinetic dependent vertical diffusion  ("key_zdftke")
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namzdf_ddm    !   double diffusive mixing parameterization             ("key_zdfddm")
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namzdf_tmx    !   tidal mixing parameterization                        ("key_zdftmx")
-!-----------------------------------------------------------------------
-   ln_tmx_itf  = .false.   !  ITF specific parameterisation
-/
-!-----------------------------------------------------------------------
-&nammpp        !   Massively Parallel Processing                        ("key_mpp_mpi)
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&nammpp_dyndist !   Massively Parallel Distribution for AGRIF zoom      ("key_agrif" && "key_mpp_dyndist")
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namctl        !   Control prints & Benchmark
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namptr       !   Poleward Transport Diagnostic
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namhsb       !  Heat and salt budgets 
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namobs       !  observation usage                                      ('key_diaobs')
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&nam_asminc   !   assimilation increments                               ('key_asminc')
-!-----------------------------------------------------------------------
-/
diff --git a/EXP00/domain_def_nemo.xml b/EXP00/domain_def_nemo.xml
deleted file mode 100755
index a8f71f897b9aeb83825acb937f58ed47099806ce..0000000000000000000000000000000000000000
--- a/EXP00/domain_def_nemo.xml
+++ /dev/null
@@ -1,258 +0,0 @@
-
-   <domain_definition>
-      <domain_group id="grid_T">
-         <domain id="grid_T" long_name="grid T"/>
-	 <!--   My zoom: example of hand defined zoom   -->
-
-         <domain id="moorT"   ibegin="39" jbegin="82" ni="1"  nj="1" />
-
-         <domain id="sec01T"  ibegin="33"  jbegin="62" ni="28" nj="1" />
-         <domain id="sec02T"  ibegin="34" jbegin="68" ni="27" nj="1" />
-         <domain id="sec03T"  ibegin="29"  jbegin="75" ni="18" nj="1" />
-         <domain id="sec04T"  ibegin="29"  jbegin="80" ni="16" nj="1" />
-         <domain id="sec05T"  ibegin="25"  jbegin="88" ni="12" nj="1" />
-         <domain id="sec06T"  ibegin="25"  jbegin="91" ni="7" nj="1" />
-         <domain id="sec07T"  ibegin="25"  jbegin="92" ni="3" nj="1" />
-         <domain id="sec08T"  ibegin="57" jbegin="77" ni="4" nj="1" />
-         <domain id="sec09T"  ibegin="61" jbegin="62" ni="1"  nj="15" />
-
-         <domain id="sec00ST" ibegin="2"   jbegin="2"   ni="115" nj="1"   />
-         <domain id="sec00NT" ibegin="2"   jbegin="104" ni="115" nj="1"   />
-         <domain id="sec00WT" ibegin="2"   jbegin="2"   ni="1"   nj="103" />
-         <domain id="sec00ET" ibegin="116" jbegin="2"   ni="1"   nj="103" />
-
-	 <domain id="1point" domain_ref="grid_T" >
-           <zoom_domain id="1point" ibegin="139" jbegin="119" ni="1" nj="1" />
-	 </domain>
-         <!--   Eq section -->
-	 <domain id="EqT" domain_ref="grid_T" >
-           <zoom_domain id="EqT" ibegin="0" jbegin="0000" ni="0000" nj="1" />
-         </domain>
-         <!--   TAO : see example above   -->
-         <!--   137e   -->
-         <!-- <domain id="2n137eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n137eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n137eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   147e   -\-> -->
-         <!-- <domain id="0n147eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2n147eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n147eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   156e   -\-> -->
-         <!-- <domain id="5s156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2s156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2n156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   165e   -\-> -->
-         <!-- <domain id="8s165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5s165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2s165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2n165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   180w   -\-> -->
-         <!-- <domain id="8s180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5s180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2s180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2n180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   170w   -\-> -->
-         <!-- <domain id="8s170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5s170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2s170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2n170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   155w   -\-> -->
-         <!-- <domain id="8s155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5s155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2s155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2n155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   140w   -\-> -->
-         <!-- <domain id="8s140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5s140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2s140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2n140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   125w   -\-> -->
-         <!-- <domain id="8s125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5s125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2s125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2n125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   110w   -\-> -->
-         <!-- <domain id="8s110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5s110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2s110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2n110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   95w   -\-> -->
-         <!-- <domain id="8s95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5s95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2s95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="2n95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5n95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   RAMA   -\-> -->
-         <!-- <\!--   55e   -\-> -->
-         <!-- <domain id="16s55eT"    domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="12s55eT"    domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8s55eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="4s55eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="1.5s55eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n55eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="1.5n55eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="4n55eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!--    <\!--   65e   -\-> -->
-         <!-- <domain id="15n65eT"    domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!--    <\!--   67e   -\-> -->
-         <!-- <domain id="16s67eT"    domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="12s67eT"    domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8s67eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="4s67eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="1.5s67eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n67eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="1.5n67eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="4n67eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n67eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   80.5e   -\-> -->
-         <!-- <domain id="16s80.5eT"  domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="12s80.5eT"  domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8s80.5eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="4s80.5eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="1.5s80.5eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n80.5eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="1.5n80.5eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="4n80.5eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   90e   -\-> -->
-         <!-- <domain id="1.5s90eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n90eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="1.5n90eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="4n90eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n90eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="12n90eT"    domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="15n90eT"    domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   95e   -\-> -->
-         <!-- <domain id="16s95eT"    domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="12s95eT"    domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8s95eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="5s95eT"     domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   PIRATA   -\-> -->
-         <!-- <\!--   38w-30w   -\-> -->
-         <!-- <domain id="19s34wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="14s32wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8s30wT"  domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n35wT"  domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="4n38wT"  domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="8n38wT"  domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="12n38wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="15n38wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="20n38wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   23w   -\-> -->
-         <!-- <domain id="0n23wT"  domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="4n23wT"  domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="12n23wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="21n23wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   10w   -\-> -->
-         <!-- <domain id="10s10wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="6s10wT"  domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <domain id="0n10wT"  domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-         <!-- <\!--   0e   -\-> -->
-         <!-- <domain id="0n0eT"   domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
-	 
-      </domain_group>
-
-      <domain_group id="grid_U">
-         <domain id="grid_U" long_name="grid U"/>
-	 <!--   My zoom: example of hand defined zoom   -->
-         <domain id="moorU"   ibegin="39" jbegin="82" ni="1"  nj="1" />
-         <domain id="sec01U"  ibegin="33"  jbegin="62" ni="28" nj="1" />
-         <domain id="sec02U"  ibegin="34" jbegin="68" ni="27" nj="1" />
-         <domain id="sec03U"  ibegin="29"  jbegin="75" ni="18" nj="1" />
-         <domain id="sec04U"  ibegin="29"  jbegin="80" ni="16" nj="1" />
-         <domain id="sec05U"  ibegin="25"  jbegin="88" ni="12" nj="1" />
-         <domain id="sec06U"  ibegin="25"  jbegin="91" ni="7" nj="1" />
-         <domain id="sec07U"  ibegin="25"  jbegin="92" ni="3" nj="1" />
-         <domain id="sec08U"  ibegin="57" jbegin="77" ni="4" nj="1" />
-         <domain id="sec09U"  ibegin="61" jbegin="62" ni="1"  nj="15" />
-
-         <domain id="sec00SU" ibegin="2"   jbegin="2"   ni="115" nj="1"   />
-         <domain id="sec00NU" ibegin="2"   jbegin="104" ni="115" nj="1"   />
-         <domain id="sec00WU" ibegin="2"   jbegin="2"   ni="1"   nj="103" />
-         <domain id="sec00EU" ibegin="116" jbegin="2"   ni="1"   nj="103" />
-         <!--   Eq section   -->
-         <domain id="EqU" ibegin="1" jbegin="0000" ni="0000" nj="1" />
-
-      </domain_group>
-      
-      <domain_group id="grid_V">
-  	 <domain id="grid_V" long_name="grid V"/>
- 	 <!--   My zoom: example of hand defined zoom   -->
-         <domain id="moorV"   ibegin="39" jbegin="82" ni="1"  nj="1" />
-         <domain id="sec01V"  ibegin="33"  jbegin="62" ni="28" nj="1" />
-         <domain id="sec02V"  ibegin="34" jbegin="68" ni="27" nj="1" />
-         <domain id="sec03V"  ibegin="29"  jbegin="75" ni="18" nj="1" />
-         <domain id="sec04V"  ibegin="29"  jbegin="80" ni="16" nj="1" />
-         <domain id="sec05V"  ibegin="25"  jbegin="88" ni="12" nj="1" />
-         <domain id="sec06V"  ibegin="25"  jbegin="91" ni="7" nj="1" />
-         <domain id="sec07V"  ibegin="25"  jbegin="92" ni="3" nj="1" />
-         <domain id="sec08V"  ibegin="57" jbegin="77" ni="4" nj="1" />
-         <domain id="sec09V"  ibegin="61" jbegin="62" ni="1"  nj="15" />
-
-         <domain id="sec00SV" ibegin="2"   jbegin="2"   ni="115" nj="1"   />
-         <domain id="sec00NV" ibegin="2"   jbegin="104" ni="115" nj="1"   />
-         <domain id="sec00WV" ibegin="2"   jbegin="2"   ni="1"   nj="103" />
-         <domain id="sec00EV" ibegin="116" jbegin="2"   ni="1"   nj="103" />
-      </domain_group>
-
-      <domain_group id="grid_W">
-         <domain id="grid_W" long_name="grid W"/>
-	 <!--   My zoom: example of hand defined zoom   -->
-         <domain id="moorW"   ibegin="39" jbegin="82" ni="1"  nj="1" />
-         <domain id="sec01W"  ibegin="33"  jbegin="62" ni="28" nj="1" />
-         <domain id="sec02W"  ibegin="34" jbegin="68" ni="27" nj="1" />
-         <domain id="sec03W"  ibegin="29"  jbegin="75" ni="18" nj="1" />
-         <domain id="sec04W"  ibegin="29"  jbegin="80" ni="16" nj="1" />
-         <domain id="sec05W"  ibegin="25"  jbegin="88" ni="12" nj="1" />
-         <domain id="sec06W"  ibegin="25"  jbegin="91" ni="7" nj="1" />
-         <domain id="sec07W"  ibegin="25"  jbegin="92" ni="3" nj="1" />
-         <domain id="sec08W"  ibegin="57" jbegin="77" ni="4" nj="1" />
-         <domain id="sec09W"  ibegin="61" jbegin="62" ni="1"  nj="15" />
-
-         <domain id="sec00SW" ibegin="2"   jbegin="2"   ni="115" nj="1"   />
-         <domain id="sec00NW" ibegin="2"   jbegin="104" ni="115" nj="1"   />
-         <domain id="sec00WW" ibegin="2"   jbegin="2"   ni="1"   nj="103" />
-         <domain id="sec00EW" ibegin="116" jbegin="2"   ni="1"   nj="103" />
-         <!--   Eq section   -->
-         <domain id="EqW" ibegin="1" jbegin="0000" ni="0000" nj="1" />
-      </domain_group>
-
-      <domain_group id="scalarpoint">
-         <domain id="scalarpoint" long_name="scalar"/>
-      </domain_group>
-
-      <domain_group id="gznl">
-        <domain id="gznl" long_name="gznl"/>
-        <domain id="ptr" domain_ref="gznl" >
-          <zoom_domain id="ptr" ibegin="0000" jbegin="0" ni="1" nj="0000" />
-        </domain>
-      </domain_group>
-      
-
-   </domain_definition>    
- 
diff --git a/EXP00/field_def_nemo-opa.xml b/EXP00/field_def_nemo-opa.xml
deleted file mode 100755
index 65a6e780c4ff417ff5b2ee3348971feaf80e18bb..0000000000000000000000000000000000000000
--- a/EXP00/field_def_nemo-opa.xml
+++ /dev/null
@@ -1,1107 +0,0 @@
-<?xml version="1.0"?> 
-    <!-- $id$ -->
-    
-    <!-- 
-============================================================================================================
-=                                  definition of all existing variables                                    =
-=                                            DO NOT CHANGE                                                 =
-============================================================================================================
-    -->
-   <field_definition level="1" prec="4" operation="average" enabled=".TRUE." default_value="1.e20" > <!-- time step automaticaly defined -->
-
-    <!-- 
-============================================================================================================
-                                  Physical ocean model variables
-============================================================================================================
-    -->
-
-      <!-- T grid -->
-      
-      <field_group id="grid_T" grid_ref="grid_T_2D" >
-         <field id="e3t"          long_name="T-cell thickness"   standard_name="cell_thickness"   unit="m"   grid_ref="grid_T_3D"/>
-         <field id="e3t_surf"     long_name="T-cell thickness"   field_ref="e3t"  standard_name="cell_thickness"   unit="m"   grid_ref="grid_T_SFC"/>
-         <field id="e3t_0"        long_name="Initial T-cell thickness"   standard_name="ref_cell_thickness"   unit="m"   grid_ref="grid_T_3D"/>
-
-         <field id="toce"         long_name="temperature"         standard_name="sea_water_potential_temperature"   unit="degC"     grid_ref="grid_T_3D"/>
-         <field id="toce_e3t"     long_name="temperature (thickness weighted)"                                      unit="degC"     grid_ref="grid_T_3D" > toce * e3t </field >
-         <field id="soce"         long_name="salinity"            standard_name="sea_water_practical_salinity"      unit="1e-3"     grid_ref="grid_T_3D"/>
-         <field id="soce_e3t"     long_name="salinity    (thickness weighted)"                                      unit="1e-3"     grid_ref="grid_T_3D" > soce * e3t </field >
-
-         <!-- t-eddy viscosity coefficients (ldfdyn) -->
-	 <field id="ahmt_2d"      long_name=" surface t-eddy viscosity coefficient"   unit="m2/s or m4/s" />
-	 <field id="ahmt_3d"      long_name=" 3D      t-eddy viscosity coefficient"   unit="m2/s or m4/s"                           grid_ref="grid_T_3D"/>
-
-         <field id="sst"          long_name="sea surface temperature"             standard_name="sea_surface_temperature"             unit="degC"     />
-         <field id="sst2"         long_name="square of sea surface temperature"   standard_name="square_of_sea_surface_temperature"   unit="degC2"     > sst * sst </field >
-         <field id="sstmax"       long_name="max of sea surface temperature"   field_ref="sst"   operation="maximum"                                  />
-         <field id="sstmin"       long_name="min of sea surface temperature"   field_ref="sst"   operation="minimum"                                  />
-         <field id="sstgrad"      long_name="module of sst gradient"                                                                  unit="degC/m"   />
-         <field id="sstgrad2"     long_name="square of module of sst gradient"                                                        unit="degC2/m2" />
-         <field id="sbt"          long_name="sea bottom temperature"                                                                  unit="degC"     />
-         <field id="tosmint"      long_name="vertical integral of temperature times density"   standard_name="integral_wrt_depth_of_product_of_density_and_potential_temperature"  unit="(kg m2) degree_C" />
-         <field id="sst_wl"       long_name="Delta SST of warm layer"                                                                 unit="degC"     />
-         <field id="sst_cs"       long_name="Delta SST of cool skin"                                                                  unit="degC"     />
-	 <field id="temp_3m"      long_name="temperature at 3m"                                                                       unit="degC"     />
-         
-         <field id="sss"          long_name="sea surface salinity"             standard_name="sea_surface_salinity"   unit="1e-3" />
-         <field id="sss2"         long_name="square of sea surface salinity"                                          unit="1e-6"  > sss * sss </field >
-         <field id="sssmax"       long_name="max of sea surface salinity"   field_ref="sss"   operation="maximum"                 />
-         <field id="sssmin"       long_name="min of sea surface salinity"   field_ref="sss"   operation="minimum"                 />
-         <field id="sbs"          long_name="sea bottom salinity"                                                     unit="0.001" />
-         <field id="somint"       long_name="vertical integral of salinity times density"   standard_name="integral_wrt_depth_of_product_of_density_and_salinity"  unit="(kg m2) x (1e-3)" /> 
-
-         <field id="taubot"       long_name="bottom stress module"                                                    unit="N/m2" /> 
-
-         <field id="ssh"          long_name="sea surface height"             standard_name="sea_surface_height_above_geoid"             unit="m" />
-         <field id="ssh2"         long_name="square of sea surface height"   standard_name="square_of_sea_surface_height_above_geoid"   unit="m2" > ssh * ssh </field >
-         <field id="wetdep"       long_name="wet depth"                      standard_name="wet_depth"                unit="m" />
-         <field id="sshmax"       long_name="max of sea surface height"   field_ref="ssh"   operation="maximum"                                  />
-
-         <field id="mldkz5"       long_name="Turbocline depth (Kz = 5e-4)"                       standard_name="ocean_mixed_layer_thickness_defined_by_vertical_tracer_diffusivity"                unit="m"          />
-         <field id="mldr10_1"     long_name="Mixed Layer Depth (dsigma = 0.01 wrt 10m)"          standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"          />
-         <field id="mldr10_1max"  long_name="Max of Mixed Layer Depth (dsigma = 0.01 wrt 10m)"   field_ref="mldr10_1"   operation="maximum"                                                                          />
-         <field id="mldr10_1min"  long_name="Min of Mixed Layer Depth (dsigma = 0.01 wrt 10m)"   field_ref="mldr10_1"   operation="minimum"                                                                          />
-         <field id="heatc"        long_name="Heat content vertically integrated"                 standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content"   unit="J/m2"       />
-         <field id="saltc"        long_name="Salt content vertically integrated"                                                                                                                   unit="1e-3*kg/m2" />
-
-         <!-- EOS -->
-         <field id="alpha"        long_name="thermal expansion"                                                         unit="degC-1" grid_ref="grid_T_3D" />
-         <field id="beta"         long_name="haline contraction"                                                        unit="1e3"    grid_ref="grid_T_3D" />
-         <field id="bn2"          long_name="squared Brunt-Vaisala frequency"                                           unit="s-1"    grid_ref="grid_T_3D" />
-         <field id="rhop"         long_name="potential density (sigma0)"        standard_name="sea_water_sigma_theta"   unit="kg/m3"  grid_ref="grid_T_3D" />
-
-         <!-- Energy - horizontal divergence -->
-         <field id="eken"         long_name="kinetic energy"          standard_name="specific_kinetic_energy_of_sea_water"   unit="m2/s2"  grid_ref="grid_T_3D" />
-         <field id="hdiv"         long_name="horizontal divergence"                                                          unit="s-1"    grid_ref="grid_T_3D" />
-
-         <!-- variables available with MLE -->
-         <field id="Lf_NHpf"      long_name="MLE: Lf = N H / f"   unit="m" />
-
-         <!-- next variables available with key_diahth -->
-         <field id="mlddzt"       long_name="Thermocline Depth (depth of max dT/dz)"         standard_name="depth_at_maximum_upward_derivative_of_sea_water_potential_temperature"             unit="m"                         />
-         <field id="mldr10_3"     long_name="Mixed Layer Depth (dsigma = 0.03 wrt 10m)"      standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         />
-         <field id="mldr0_1"      long_name="Mixed Layer Depth (dsigma = 0.01 wrt sfc)"      standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         />
-         <field id="mldr0_3"      long_name="Mixed Layer Depth (dsigma = 0.03 wrt sfc)"      standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         />
-         <field id="mld_dt02"     long_name="Mixed Layer Depth (|dT| = 0.2 wrt 10m)"         standard_name="ocean_mixed_layer_thickness_defined_by_temperature"                                unit="m"                         />
-         <field id="topthdep"     long_name="Top of Thermocline Depth (dT = -0.2 wrt 10m)"   standard_name="ocean_mixed_layer_thickness_defined_by_temperature"                                unit="m"                         />
-         <field id="pycndep"      long_name="Pycnocline Depth (dsigma[dT=-0.2] wrt 10m)"     standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta"                                unit="m"                         />
-         <field id="BLT"          long_name="Barrier Layer Thickness"                                                                                                                          unit="m"                          > topthdep - pycndep </field>
-         <field id="tinv"         long_name="Max of vertical invertion of temperature"                                                                                                         unit="degC"                      />
-         <field id="depti"        long_name="Depth of max. vert. inv. of temperature"                                                                                                          unit="m"                         />
-         <field id="20d"          long_name="Depth of 20C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"      axis_ref="iax_20C" />
-         <field id="28d"          long_name="Depth of 28C isotherm"                          standard_name="depth_of_isosurface_of_sea_water_potential_temperature"                            unit="m"      axis_ref="iax_28C" />
-         <field id="hc300"        long_name="Heat content 0-300m"                            standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content"   unit="J/m2"                      />
-
-         <!-- variables available with diaar5 -->
-         <field id="botpres"      long_name="Sea Water Pressure at Sea Floor"   standard_name="sea_water_pressure_at_sea_floor"   unit="dbar" />
-         <field id="sshdyn"       long_name="dynamic sea surface height"     standard_name="dynamic_sea_surface_height_above_geoid"     unit="m" />
-         <field id="sshdyn2"      long_name="square of dynamic sea surface height"     standard_name="dynamic_sea_surface_height_above_geoid_squared"     unit="m2" > sshdyn * sshdyn </field>
-         <field id="tnpeo"      long_name="Tendency of ocean potential energy content"          unit="W/m2"                           />
-
-         <!-- variables available ln_linssh=.FALSE. -->
-         <field id="tpt_dep"      long_name="T-point depth"                  standard_name="depth_below_geoid"   unit="m"   grid_ref="grid_T_3D" />
-         <field id="e3tdef"       long_name="T-cell thickness deformation"                                       unit="%"   grid_ref="grid_T_3D" />
-      </field_group>
-
-      <!-- Tides -->
-
-      <field_group id="Tides_T" grid_ref="grid_T_2D" operation="once" >
-         <!-- tidal composante -->
-         <field id="M2x"          long_name="M2 Elevation harmonic real part "                             unit="m"        />
-         <field id="M2y"          long_name="M2 Elevation harmonic imaginary part"                         unit="m"        />
-         <field id="S2x"          long_name="S2 Elevation harmonic real part "                             unit="m"        />
-         <field id="S2y"          long_name="S2 Elevation harmonic imaginary part"                         unit="m"        />
-         <field id="N2x"          long_name="N2 Elevation harmonic real part "                             unit="m"        />
-         <field id="N2y"          long_name="N2 Elevation harmonic imaginary part"                         unit="m"        />
-         <field id="K1x"          long_name="K1 Elevation harmonic real part "                             unit="m"        />
-         <field id="K1y"          long_name="K1 Elevation harmonic imaginary part"                         unit="m"        />
-         <field id="O1x"          long_name="O1 Elevation harmonic real part "                             unit="m"        />
-         <field id="O1y"          long_name="O1 Elevation harmonic imaginary part"                         unit="m"        />
-         <field id="Q1x"          long_name="Q1 Elevation harmonic real part "                             unit="m"        />
-         <field id="Q1y"          long_name="Q1 Elevation harmonic imaginary part"                         unit="m"        />
-         <field id="M4x"          long_name="M4 Elevation harmonic real part "                             unit="m"        />
-         <field id="M4y"          long_name="M4 Elevation harmonic imaginary part"                         unit="m"        />
-         <field id="K2x"          long_name="K2 Elevation harmonic real part "                             unit="m"        />
-         <field id="K2y"          long_name="K2 Elevation harmonic imaginary part"                         unit="m"        />
-         <field id="P1x"          long_name="P1 Elevation harmonic real part "                             unit="m"        />
-         <field id="P1y"          long_name="P1 Elevation harmonic imaginary part"                         unit="m"        />
-         <field id="Mfx"          long_name="Mf Elevation harmonic real part "                             unit="m"        />
-         <field id="Mfy"          long_name="Mf Elevation harmonic imaginary part"                         unit="m"        />
-         <field id="Mmx"          long_name="Mm Elevation harmonic real part "                             unit="m"        />
-         <field id="Mmy"          long_name="Mm Elevation harmonic imaginary part"                         unit="m"        />
-        
-	 <field id="M2amp"        long_name="M2 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="M2phase"      long_name="M2 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="S2amp"        long_name="S2 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="S2phase"      long_name="S2 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="N2amp"        long_name="N2 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="N2phase"      long_name="N2 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="K1amp"        long_name="K1 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="K1phase"      long_name="K1 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="O1amp"        long_name="O1 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="O1phase"      long_name="O1 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="Q1amp"        long_name="Q1 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="Q1phase"      long_name="Q1 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="M4amp"        long_name="M4 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="M4phase"      long_name="M4 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="MS4amp"        long_name="MS4 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="MS4phase"      long_name="MS4 Elevation harmonic Phase"                                  unit="degree"   />
-                                                                           
-         <field id="MN4amp"        long_name="MN4 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="MN4phase"      long_name="MN4 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="K2amp"        long_name="K2 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="K2phase"      long_name="K2 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="P1amp"        long_name="P1 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="P1phase"      long_name="P1 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="Mfamp"        long_name="Mf Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="Mfphase"      long_name="Mf Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="Mmamp"        long_name="Mm Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="Mmphase"      long_name="Mm Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="T2amp"        long_name="T2 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="T2phase"      long_name="T2 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="L2amp"        long_name="L2 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="L2phase"      long_name="L2 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="S1amp"        long_name="S1 Elevation harmonic Amplitude"                              unit="m"        />
-         <field id="S1phase"      long_name="S1 Elevation harmonic Phase"                                  unit="degree"   />
-
-         <field id="2N2amp"       long_name="2N2 Elevation harmonic Amplitude"                             unit="m"        />
-         <field id="2N2phase"     long_name="2N2 Elevation harmonic Phase"                                 unit="degree"   />
-
-         <field id="MU2amp"       long_name="MU2 Elevation harmonic Amplitude"                             unit="m"        />
-         <field id="MU2phase"     long_name="MU2 Elevation harmonic Phase"                                 unit="degree"   />
-
-         <field id="NU2amp"       long_name="NU2 Elevation harmonic Amplitude"                             unit="m"        />
-         <field id="NU2phase"     long_name="NU2 Elevation harmonic Phase"                                 unit="degree"   />
-                                                                                                   
-      </field_group>
-	 
-      <field_group id="Tides_U" grid_ref="grid_U_2D" operation="once" >
-         <field id="M2x_u"        long_name="M2 current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="M2y_u"        long_name="M2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="S2x_u"        long_name="S2 current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="S2y_u"        long_name="S2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="N2x_u"        long_name="N2 current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="N2y_u"        long_name="N2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="K1x_u"        long_name="K1 current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="K1y_u"        long_name="K1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="O1x_u"        long_name="O1 current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="O1y_u"        long_name="O1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="Q1x_u"        long_name="Q1 current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="Q1y_u"        long_name="Q1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="M4x_u"        long_name="M4 current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="M4y_u"        long_name="M4 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="K2x_u"        long_name="K2 current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="K2y_u"        long_name="K2 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="P1x_u"        long_name="P1 current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="P1y_u"        long_name="P1 current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="Mfx_u"        long_name="Mf current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="Mfy_u"        long_name="Mf current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="Mmx_u"        long_name="Mm current barotrope along i-axis harmonic real part "        unit="m/s"      />
-         <field id="Mmy_u"        long_name="Mm current barotrope along i-axis harmonic imaginary part "   unit="m/s"      />
-      
-         <field id="M2amp_u2D"      long_name="M2 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="M2phase_u2D"    long_name="M2 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="S2amp_u2D"      long_name="S2 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="S2phase_u2D"    long_name="S2 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="N2amp_u2D"      long_name="N2 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="N2phase_u2D"    long_name="N2 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="K1amp_u2D"      long_name="K1 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="K1phase_u2D"    long_name="K1 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="O1amp_u2D"      long_name="O1 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="O1phase_u2D"    long_name="O1 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="Q1amp_u2D"      long_name="Q1 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="Q1phase_u2D"    long_name="Q1 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="M4amp_u2D"      long_name="M4 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="M4phase_u2D"    long_name="M4 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="MS4amp_u2D"      long_name="MS4 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="MS4phase_u2D"    long_name="MS4 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="MN4amp_u2D"      long_name="MN4 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="MN4phase_u2D"    long_name="MN4 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="K2amp_u2D"      long_name="K2 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="K2phase_u2D"    long_name="K2 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="P1amp_u2D"      long_name="P1 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="P1phase_u2D"    long_name="P1 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="Mfamp_u2D"      long_name="Mf U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="Mfphase_u2D"    long_name="Mf U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="Mmamp_u2D"      long_name="Mm U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="Mmphase_u2D"    long_name="Mm U barotropic harmonic Phase"                               unit="degree"   />
-         <field id="T2amp_u2D"      long_name="T2 U barotropic harmonic Amplitude"                           unit="m/s"      />
-
-         <field id="T2phase_u2D"    long_name="T2 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="L2amp_u2D"      long_name="L2 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="L2phase_u2D"    long_name="L2 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="S1amp_u2D"      long_name="S1 U barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="S1phase_u2D"    long_name="S1 U barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="2N2amp_u2D"     long_name="2N2 U barotropic harmonic Amplitude"                          unit="m/s"      />
-         <field id="2N2phase_u2D"   long_name="2N2 U barotropic harmonic Phase"                              unit="degree"   />
-
-         <field id="MU2amp_u2D"     long_name="MU2 U barotropic harmonic Amplitude"                          unit="m/s"      />
-         <field id="MU2phase_u2D"   long_name="MU2 U barotropic harmonic Phase"                              unit="degree"   />
-
-         <field id="NU2amp_u2D"     long_name="NU2 U barotropic harmonic Amplitude"                          unit="m/s"      />
-         <field id="NU2phase_u2D"   long_name="NU2 U barotropic harmonic Phase"                              unit="degree"   />
-
-      </field_group>
-	 
-      <field_group id="Tides_V" grid_ref="grid_V_2D" operation="once" >
-         <field id="M2x_v"        long_name="M2 current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="M2y_v"        long_name="M2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="S2x_v"        long_name="S2 current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="S2y_v"        long_name="S2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="N2x_v"        long_name="N2 current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="N2y_v"        long_name="N2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="K1x_v"        long_name="K1 current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="K1y_v"        long_name="K1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="O1x_v"        long_name="O1 current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="O1y_v"        long_name="O1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="Q1x_v"        long_name="Q1 current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="Q1y_v"        long_name="Q1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="M4x_v"        long_name="M4 current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="M4y_v"        long_name="M4 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="K2x_v"        long_name="K2 current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="K2y_v"        long_name="K2 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="P1x_v"        long_name="P1 current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="P1y_v"        long_name="P1 current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="Mfx_v"        long_name="Mf current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="Mfy_v"        long_name="Mf current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />
-         <field id="Mmx_v"        long_name="Mm current barotrope along j-axis harmonic real part "        unit="m/s"      />
-         <field id="Mmy_v"        long_name="Mm current barotrope along j-axis harmonic imaginary part "   unit="m/s"      />	 
-
-         <field id="M2amp_v2D"      long_name="M2 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="M2phase_v2D"    long_name="M2 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="S2amp_v2D"      long_name="S2 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="S2phase_v2D"    long_name="S2 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="N2amp_v2D"      long_name="N2 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="N2phase_v2D"    long_name="N2 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="K1amp_v2D"      long_name="K1 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="K1phase_v2D"    long_name="K1 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="O1amp_v2D"      long_name="O1 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="O1phase_v2D"    long_name="O1 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="Q1amp_v2D"      long_name="Q1 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="Q1phase_v2D"    long_name="Q1 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="M4amp_v2D"      long_name="M4 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="M4phase_v2D"    long_name="M4 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="MS4amp_v2D"      long_name="MS4 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="MS4phase_v2D"    long_name="MS4 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="MN4amp_v2D"      long_name="MN4 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="MN4phase_v2D"    long_name="MN4 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="K2amp_v2D"      long_name="K2 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="K2phase_v2D"    long_name="K2 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="P1amp_v2D"      long_name="P1 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="P1phase_v2D"    long_name="P1 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="Mfamp_v2D"      long_name="Mf V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="Mfphase_v2D"    long_name="Mf V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="Mmamp_v2D"      long_name="Mm V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="Mmphase_v2D"    long_name="Mm V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="T2amp_v2D"      long_name="T2 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="T2phase_v2D"    long_name="T2 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="L2amp_v2D"      long_name="L2 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="L2phase_v2D"    long_name="L2 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="S1amp_v2D"      long_name="S1 V barotropic harmonic Amplitude"                           unit="m/s"      />
-         <field id="S1phase_v2D"    long_name="S1 V barotropic harmonic Phase"                               unit="degree"   />
-
-         <field id="2N2amp_v2D"     long_name="2N2 V barotropic harmonic Amplitude"                          unit="m/s"      />
-         <field id="2N2phase_v2D"   long_name="2N2 V barotropic harmonic Phase"                              unit="degree"   />
-
-         <field id="MU2amp_v2D"     long_name="MU2 V barotropic harmonic Amplitude"                          unit="m/s"      />
-         <field id="MU2phase_v2D"   long_name="MU2 V barotropic harmonic Phase"                              unit="degree"   />
-
-         <field id="NU2amp_v2D"     long_name="NU2 V barotropic harmonic Amplitude"                          unit="m/s"      />
-         <field id="NU2phase_v2D"   long_name="NU2 V barotropic harmonic Phase"                              unit="degree"   />
-
-      </field_group>
-
-      <!-- SBC -->
-      
-      <field_group id="SBC" grid_ref="grid_T_2D" > <!-- time step automaticaly defined based on nn_fsbc -->
-         <field id="empmr"        long_name="Net Upward Water Flux"                standard_name="water_flux_out_of_sea_ice_and_sea_water"                              unit="kg/m2/s"   />
-         <field id="empbmr"       long_name="Net Upward Water Flux at pre. tstep"  standard_name="water_flux_out_of_sea_ice_and_sea_water"                              unit="kg/m2/s"   />
-         <field id="emp_oce"      long_name="Evap minus Precip over ocean"         standard_name="evap_minus_precip_over_sea_water"                                     unit="kg/m2/s"   />
-         <field id="emp_ice"      long_name="Evap minus Precip over ice"           standard_name="evap_minus_precip_over_sea_ice"                                       unit="kg/m2/s"   />
-         <field id="saltflx"      long_name="Downward salt flux"                                                                                                        unit="1e-3/m2/s" />
-         <field id="fmmflx"       long_name="Water flux due to freezing/melting"                                                                                        unit="kg/m2/s"   />
-         <field id="snowpre"      long_name="Snow precipitation"                   standard_name="snowfall_flux"                                                        unit="kg/m2/s"   />
-         <field id="runoffs"      long_name="River Runoffs"                        standard_name="water_flux_into_sea_water_from_rivers"                                unit="kg/m2/s"   />
-         <field id="precip"       long_name="Total precipitation"                  standard_name="precipitation_flux"                                                   unit="kg/m2/s"   />
- 
-         <field id="qt"           long_name="Net Downward Heat Flux"                standard_name="surface_downward_heat_flux_in_sea_water"                              unit="W/m2"                           />
-         <field id="qns"          long_name="non solar Downward Heat Flux"                                                                                               unit="W/m2"                           />
-         <field id="qsr"          long_name="Shortwave Radiation"                   standard_name="net_downward_shortwave_flux_at_sea_water_surface"                     unit="W/m2"                           />
-         <field id="qsr3d"        long_name="Shortwave Radiation 3D distribution"   standard_name="downwelling_shortwave_flux_in_sea_water"                              unit="W/m2"      grid_ref="grid_T_3D" />
-         <field id="qrp"          long_name="Surface Heat Flux: Damping"            standard_name="heat_flux_into_sea_water_due_to_newtonian_relaxation"                 unit="W/m2"                           />
-         <field id="erp"          long_name="Surface Water Flux: Damping"           standard_name="water_flux_out_of_sea_water_due_to_newtonian_relaxation"              unit="kg/m2/s"                        />
-         <field id="taum"         long_name="wind stress module"                    standard_name="magnitude_of_surface_downward_stress"                                 unit="N/m2"                           />
-         <field id="wspd"         long_name="wind speed module"                     standard_name="wind_speed"                                                           unit="m/s"                            />
-         <field id="uwnd"         long_name="u component of wind"       unit="m/s"          grid_ref="grid_U_2D"     />
-         <field id="vwnd"         long_name="v component of wind"       unit="m/s"          grid_ref="grid_V_2D"    />
-         
-         <!-- * variable relative to atmospheric pressure forcing : available with ln_apr_dyn -->
-         <field id="ssh_ib"       long_name="Inverse barometer sea surface height"  standard_name="sea_surface_height_correction_due_to_air_pressure_at_low_frequency"   unit="m"        />
-
-         <!-- * variable related to ice shelf forcing * -->
-         <field id="fwfisf"       long_name="Ice shelf melting"                             unit="kg/m2/s"  />
-         <field id="fwfisf3d"     long_name="Ice shelf melting"                             unit="kg/m2/s"  grid_ref="grid_T_3D" />
-         <field id="qlatisf"      long_name="Ice shelf latent heat flux"                    unit="W/m2"     />
-         <field id="qlatisf3d"    long_name="Ice shelf latent heat flux"                    unit="W/m2"     grid_ref="grid_T_3D" />
-         <field id="qhcisf"       long_name="Ice shelf heat content flux"                   unit="W/m2"     />
-         <field id="qhcisf3d"     long_name="Ice shelf heat content flux"                   unit="W/m2"     grid_ref="grid_T_3D" />
-         <field id="isfgammat"    long_name="transfert coefficient for isf (temperature) "  unit="m/s"      />
-         <field id="isfgammas"    long_name="transfert coefficient for isf (salinity)    "  unit="m/s"      />
-         <field id="stbl"         long_name="salinity in the Losh tbl                    "  unit="PSU"      />
-         <field id="ttbl"         long_name="temperature in the Losh tbl                 "  unit="C"        />
-         <field id="utbl"         long_name="zonal current in the Losh tbl at T point    "  unit="m/s"      />
-         <field id="vtbl"         long_name="merid current in the Losh tbl at T point    "  unit="m/s"      />
-         <field id="thermald"     long_name="thermal driving of ice shelf melting        "  unit="C"        />
-         <field id="tfrz"         long_name="top freezing point (used to compute melt)   "  unit="C"        />
-         <field id="tinsitu"      long_name="top insitu temperature (used to cmpt melt)  "  unit="C"        />
-         <field id="ustar"        long_name="ustar at T point used in ice shelf melting  "  unit="m/s"      />
-
-         <!-- *_oce variables available with ln_blk_clio or ln_blk_core -->
-         <field id="qlw_oce"      long_name="Longwave Downward Heat Flux over open ocean"  standard_name="surface_net_downward_longwave_flux"   unit="W/m2"  />
-         <field id="qsb_oce"      long_name="Sensible Downward Heat Flux over open ocean"  standard_name="surface_downward_sensible_heat_flux"  unit="W/m2"  />
-         <field id="qla_oce"      long_name="Latent Downward Heat Flux over open ocean"    standard_name="surface_downward_latent_heat_flux"    unit="W/m2"  />
-         <field id="qemp_oce"     long_name="Downward Heat Flux from E-P over open ocean"                                                       unit="W/m2"  />
-         <field id="taum_oce"     long_name="wind stress module over open ocean"           standard_name="magnitude_of_surface_downward_stress" unit="N/m2"  />
-         <field id="qns_oce"      long_name="Downward non-solar heat flux"                                                                      unit="W/m2"  />
-         <field id="qsr_oce"      long_name="Downward solar heat flux"                                                                          unit="W/m2"  />
-         <field id="qt_oce"       long_name="total flux at ocean surface"    standard_name="surface_downward_heat_flux_in_sea_water"            unit="W/m2"  />  
-       <!-- available key_oasis3 -->
-         <field id="snow_ao_cea"  long_name="Snow over ice-free ocean (cell average)"   standard_name="snowfall_flux"                             unit="kg/m2/s"  />
-         <field id="snow_ai_cea"  long_name="Snow over sea-ice (cell average)"          standard_name="snowfall_flux"                             unit="kg/m2/s"  />
-         <field id="subl_ai_cea"  long_name="Sublimation over sea-ice (cell average)"   standard_name="surface_snow_and_ice_sublimation_flux"     unit="kg/m2/s"  />
-         <field id="icealb_cea"   long_name="Ice albedo (cell average)"                 standard_name="sea_ice_albedo"                            unit="1"        />
-         <field id="calving_cea"  long_name="Calving"                                   standard_name="water_flux_into_sea_water_from_icebergs"   unit="kg/m2/s"  />
-         <field id="iceberg_cea"  long_name="Iceberg"                                   standard_name="water_flux_into_sea_water_from_icebergs"   unit="kg/m2/s"  />
-         <field id="iceshelf_cea" long_name="Iceshelf"                                  standard_name="water_flux_into_sea_water_from_iceshelf"   unit="kg/m2/s"  />
-
-
-         <!-- available if key_oasis3 + conservative method -->
-         <field id="rain"          long_name="Liquid precipitation"                                     standard_name="rainfall_flux"                                                                 unit="kg/m2/s"  />
-         <field id="evap_ao_cea"   long_name="Evaporation over ice-free ocean (cell average)"           standard_name="water_evaporation_flux"                                                        unit="kg/m2/s"  />
-         <field id="isnwmlt_cea"   long_name="Snow over Ice melting (cell average)"                     standard_name="surface_snow_melt_flux"                                                        unit="kg/m2/s"  />
-         <field id="fsal_virt_cea" long_name="Virtual salt flux due to ice formation (cell average)"    standard_name="virtual_salt_flux_into_sea_water_due_to_sea_ice_thermodynamics"                unit="kg/m2/s"  />
-         <field id="fsal_real_cea" long_name="Real salt flux due to ice formation (cell average)"       standard_name="downward_sea_ice_basal_salt_flux"                                              unit="kg/m2/s"  />
-         <field id="hflx_rain_cea" long_name="heat flux due to rainfall"                                standard_name="temperature_flux_due_to_rainfall_expressed_as_heat_flux_into_sea_water"        unit="W/m2"     />
-         <field id="hflx_evap_cea" long_name="heat flux due to evaporation"                             standard_name="temperature_flux_due_to_evaporation_expressed_as_heat_flux_out_of_sea_water"   unit="W/m2"     />
-         <field id="hflx_snow_cea" long_name="heat flux due to snow falling"                            standard_name="heat_flux_onto_ocean_and_ice_due_to_snow_thermodynamics"                       unit="W/m2"     />
-         <field id="hflx_snow_ai_cea" long_name="heat flux due to snow falling over ice"                standard_name="heat_flux_onto_ice_due_to_snow_thermodynamics"                                 unit="W/m2"     />
-         <field id="hflx_snow_ao_cea" long_name="heat flux due to snow falling over ice-free ocean"     standard_name="heat_flux_onto_sea_water_due_to_snow_thermodynamics"                           unit="W/m2"     />
-         <field id="hflx_ice_cea"  long_name="heat flux due to ice thermodynamics"                      standard_name="heat_flux_into_sea_water_due_to_sea_ice_thermodynamics"                        unit="W/m2"     />
-         <field id="hflx_rnf_cea"  long_name="heat flux due to runoffs"                                 standard_name="temperature_flux_due_to_runoff_expressed_as_heat_flux_into_sea_water"          unit="W/m2"     />
-         <field id="hflx_cal_cea"  long_name="heat flux due to calving"                                 standard_name="heat_flux_into_sea_water_due_to_calving"                                       unit="W/m2"     />
-         <field id="hflx_icb_cea"  long_name="heat flux due to iceberg"                                 standard_name="heat_flux_into_sea_water_due_to_icebergs"                                      unit="W/m2"     />
-         <field id="hflx_isf_cea"  long_name="heat flux due to iceshelf"                                standard_name="heat_flux_into_sea_water_due_to_iceshelf"                                      unit="W/m2"     />
-         <field id="bicemel_cea"   long_name="Rate of Melt at Sea Ice Base (cell average)"              standard_name="tendency_of_sea_ice_amount_due_to_basal_melting"                               unit="kg/m2/s"  />
-         <field id="licepro_cea"   long_name="Lateral Sea Ice Growth Rate (cell average)"               standard_name="tendency_of_sea_ice_amount_due_to_lateral_growth_of_ice_floes"                 unit="kg/m2/s"  />
-         <field id="snowmel_cea"   long_name="Snow Melt Rate (cell average)"                            standard_name="surface_snow_melt_flux"                                                        unit="kg/m2/s"  />
-         <field id="sntoice_cea"   long_name="Snow-Ice Formation Rate (cell average)"                   standard_name="tendency_of_sea_ice_amount_due_to_snow_conversion"                             unit="kg/m2/s"  />
-         <field id="ticemel_cea"   long_name="Rate of Melt at Upper Surface of Sea Ice (cell average)"  standard_name="tendency_of_sea_ice_amount_due_to_surface_melting"                             unit="kg/m2/s"  />
-
-         <!-- ice field (nn_ice=1)  -->
-         <field id="ice_cover"    long_name="Ice fraction"                                                 standard_name="sea_ice_area_fraction"                              unit="1"            />
-         
-         <!-- dilution -->
-         <field id="emp_x_sst"    long_name="Concentration/Dilution term on SST"                                                                                              unit="kg*degC/m2/s" />
-         <field id="emp_x_sss"    long_name="Concentration/Dilution term on SSS"                                                                                              unit="kg*1e-3/m2/s" />        
-         <field id="rnf_x_sst"    long_name="Runoff term on SST"                                                                                                              unit="kg*degC/m2/s" />
-         <field id="rnf_x_sss"    long_name="Runoff term on SSS"                                                                                                              unit="kg*1e-3/m2/s" />
-       
-	 <!-- sbcssm variables -->
-         <field id="sst_m"    unit="degC" />
-         <field id="sss_m"    unit="psu"  />
-         <field id="ssu_m"    unit="m/s"  />
-         <field id="ssv_m"    unit="m/s"  />
-         <field id="ssh_m"    unit="m"    />
-         <field id="e3t_m"    unit="m"    />
-         <field id="frq_m"    unit="-"    />
-
-      </field_group>
-
-      <!-- U grid -->
-      
-      <field_group id="grid_U"   grid_ref="grid_U_2D">
-         <field id="e3u"          long_name="U-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_U_3D" />
-         <field id="e3u_0"        long_name="Initial U-cell thickness"                               standard_name="ref_cell_thickness"          unit="m"          grid_ref="grid_U_3D"/>
-         <field id="utau"         long_name="Wind Stress along i-axis"                               standard_name="surface_downward_x_stress"   unit="N/m2"                            />
-         <field id="uoce"         long_name="ocean current along i-axis"                             standard_name="sea_water_x_velocity"        unit="m/s"        grid_ref="grid_U_3D" />
-         <field id="uoce_e3u"     long_name="ocean current along i-axis  (thickness weighted)"                                                   unit="m/s"        grid_ref="grid_U_3D"  > uoce * e3u </field>
-         <field id="ssu"          long_name="ocean surface current along i-axis"                                                                 unit="m/s"                             />
-         <field id="sbu"          long_name="ocean bottom current along i-axis"                                                                  unit="m/s"                             />
-         <field id="ubar"         long_name="ocean barotropic current along i-axis"                                                              unit="m/s"                             />
-         <field id="uocetr_eff"   long_name="Effective ocean transport along i-axis"                 standard_name="ocean_volume_x_transport"    unit="m3/s"       grid_ref="grid_U_3D" />
-         <field id="uocet"        long_name="ocean transport along i-axis times temperature (CRS)"                                               unit="degC*m/s"   grid_ref="grid_U_3D" />
-         <field id="uoces"        long_name="ocean transport along i-axis times salinity (CRS)"                                                  unit="1e-3*m/s"   grid_ref="grid_U_3D" />
-
-         <!-- u-eddy coefficients (ldftra) -->
-         <field id="ahtu_2d"      long_name=" surface u-eddy diffusivity coefficient"   unit="m2/s or m4/s" />
-         <field id="ahtu_3d"      long_name=" 3D u-EIV coefficient"                     unit="m2/s or m4/s"      grid_ref="grid_U_3D"/>
-         <field id="aeiu_2d"      long_name=" surface u-EIV coefficient"                unit="m2/s" />
-         <field id="aeiu_3d"      long_name=" 3D u-EIV coefficient"                     unit="m2/s"              grid_ref="grid_U_3D"/>
-
-         <!-- variables available with MLE -->
-         <field id="psiu_mle"     long_name="MLE streamfunction along i-axis"   unit="m3/s"   grid_ref="grid_U_3D" />
-
-         <!-- uoce_eiv: available EIV -->
-         <field id="uoce_eiv"     long_name="EIV ocean current along i-axis"   standard_name="bolus_sea_water_x_velocity"   unit="m/s"   grid_ref="grid_U_3D" />
-
-         <!-- uoce_eiv: available with key_trabbl -->
-         <field id="uoce_bbl"     long_name="BBL ocean current along i-axis"    unit="m/s"  />
-         <field id="ahu_bbl"      long_name="BBL diffusive flux along i-axis"   unit="m3/s" />
-
-         <!-- variable for ice shelves -->
-         <field id="utbl"         long_name="zonal current in the Losh tbl"     unit="m/s" />
-
-         <field id="u_masstr"     long_name="Ocean Mass X Transport"    standard_name="ocean_mass_x_transport"                          unit="kg/s"        grid_ref="grid_U_3D" />
-         <field id="u_masstr_vint" long_name="vertical integral of ocean eulerian mass transport along i-axis"    standard_name="vertical_integral_of_ocean_mass_x_transport"  unit="kg/s" />
-         <field id="u_heattr"     long_name="ocean eulerian heat transport along i-axis"    standard_name="ocean_heat_x_transport"                          unit="W"                                />
-         <field id="u_salttr"     long_name="ocean eulerian salt transport along i-axis"    standard_name="ocean_salt_x_transport"                          unit="1e-3*kg/s"                        />
-         <field id="uadv_heattr"  long_name="ocean advective heat transport along i-axis"    standard_name="advectice_ocean_heat_x_transport"               unit="W"                                />
-         <field id="uadv_salttr"  long_name="ocean advective salt transport along i-axis"    standard_name="advectice_ocean_salt_x_transport"               unit="1e-3*kg/s"                      />
-         <field id="ueiv_heattr"  long_name="ocean bolus heat transport along i-axis"       standard_name="ocean_heat_x_transport_due_to_bolus_advection"   unit="W"                                />
-         <field id="ueiv_salttr"  long_name="ocean bolus salt transport along i-axis"       standard_name="ocean_salt_x_transport_due_to_bolus_advection"   unit="Kg"                                />
-         <field id="ueiv_heattr3d" long_name="ocean bolus heat transport along i-axis"    standard_name="ocean_heat_x_transport_due_to_bolus_advection"   unit="W"    grid_ref="grid_U_3D" />
-         <field id="ueiv_salttr3d" long_name="ocean bolus salt transport along i-axis"    standard_name="ocean_salt_x_transport_due_to_bolus_advection"   unit="kg"   grid_ref="grid_U_3D" />
-         <field id="udiff_heattr" long_name="ocean diffusion heat transport along i-axis"   standard_name="ocean_heat_x_transport_due_to_diffusion"         unit="W"                                />
-         <field id="udiff_salttr" long_name="ocean diffusion salt transport along i-axis"   standard_name="ocean_salt_x_transport_due_to_diffusion"         unit="1e-3*kg/s"                                />
-      </field_group>
-      
-      <!-- V grid -->
-      
-      <field_group id="grid_V"   grid_ref="grid_V_2D">
-         <field id="e3v"          long_name="V-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_V_3D" />
-         <field id="e3v_0"        long_name="Initial V-cell thickness"                               standard_name="ref_cell_thickness"          unit="m"          grid_ref="grid_V_3D"/>
-         <field id="vtau"         long_name="Wind Stress along j-axis"                               standard_name="surface_downward_y_stress"   unit="N/m2"                            />
-         <field id="voce"         long_name="ocean current along j-axis"                             standard_name="sea_water_y_velocity"        unit="m/s"        grid_ref="grid_V_3D" />
-         <field id="voce_e3v"     long_name="ocean current along j-axis  (thickness weighted)"                                                   unit="m/s"        grid_ref="grid_V_3D"  > voce * e3v </field>
-         <field id="ssv"          long_name="ocean surface current along j-axis"                                                                 unit="m/s"                             />
-         <field id="sbv"          long_name="ocean bottom current along j-axis"                                                                  unit="m/s"                             />
-         <field id="vbar"         long_name="ocean barotropic current along j-axis"                                                              unit="m/s"                             />
-         <field id="vocetr_eff"   long_name="Effective ocean transport along j-axis"                 standard_name="ocean_volume_y_transport"    unit="m3/s"       grid_ref="grid_V_3D" />
-         <field id="vocet"        long_name="ocean transport along j-axis times temperature (CRS)"                                               unit="degC*m/s"   grid_ref="grid_V_3D" />
-         <field id="voces"        long_name="ocean transport along j-axis times salinity (CRS)"                                                  unit="1e-3*m/s"   grid_ref="grid_V_3D" />
-
-         <!-- v-eddy coefficients (ldftra, ldfdyn) -->
-         <field id="ahtv_2d"      long_name=" surface v-eddy diffusivity coefficient"     unit="m2/s or (m4/s)^1/2" />
-         <field id="ahtv_3d"      long_name=" 3D v-eddy diffusivity coefficient"          unit="m2/s or (m4/s)^1/2"           grid_ref="grid_V_3D"/>
-         <field id="aeiv_2d"      long_name=" surface v-EIV coefficient"                  unit="m2/s" />
-         <field id="aeiv_3d"      long_name=" 3D v-EIV coefficient"                       unit="m2/s"                         grid_ref="grid_V_3D" />
-
-         <!-- variables available with MLE -->
-         <field id="psiv_mle"     long_name="MLE streamfunction along j-axis"   unit="m3/s"   grid_ref="grid_V_3D" />
-
-         <!-- voce_eiv: available with EIV -->
-         <field id="voce_eiv"     long_name="EIV ocean current along j-axis"   standard_name="bolus_sea_water_y_velocity"   unit="m/s"   grid_ref="grid_V_3D" />
-
-         <!-- voce_eiv: available with key_trabbl -->
-         <field id="voce_bbl"     long_name="BBL ocean current along j-axis"    unit="m/s"  />
-         <field id="ahv_bbl"      long_name="BBL diffusive flux along j-axis"   unit="m3/s" />
-
-         <!-- variable for ice shelves -->
-         <field id="vtbl"         long_name="meridional current in the Losh tbl"   unit="m/s" />
-
-         <!-- variables available with diaar5 -->
-         <field id="v_masstr"     long_name="ocean eulerian mass transport along j-axis"    standard_name="ocean_mass_y_transport"                          unit="kg/s"        grid_ref="grid_V_3D" />
-         <field id="v_heattr"     long_name="ocean eulerian heat transport along j-axis"    standard_name="ocean_heat_y_transport"                          unit="W"                                />
-         <field id="v_salttr"     long_name="ocean eulerian salt transport along i-axis"    standard_name="ocean_salt_y_transport"                          unit="1e-3*kg/s"                        />
-         <field id="vadv_heattr"  long_name="ocean advective heat transport along j-axis"   standard_name="advectice_ocean_heat_y_transport"                unit="W"                      />
-         <field id="vadv_salttr"  long_name="ocean advective salt transport along j-axis"   standard_name="advectice_ocean_salt_y_transport"                unit="1e-3*kg/s"              />
-         <field id="veiv_heattr"  long_name="ocean bolus heat transport along j-axis"       standard_name="ocean_heat_y_transport_due_to_bolus_advection"   unit="W"                                />
-         <field id="veiv_salttr"  long_name="ocean bolus salt transport along j-axis"       standard_name="ocean_salt_x_transport_due_to_bolus_advection"   unit="Kg"                                />
-         <field id="veiv_heattr3d" long_name="ocean bolus heat transport along j-axis"    standard_name="ocean_heat_y_transport_due_to_bolus_advection"   unit="W"    grid_ref="grid_V_3D" />
-         <field id="veiv_salttr3d" long_name="ocean bolus salt transport along j-axis"    standard_name="ocean_salt_y_transport_due_to_bolus_advection"   unit="kg"   grid_ref="grid_V_3D" />
-         <field id="vdiff_heattr" long_name="ocean diffusion heat transport along j-axis"   standard_name="ocean_heat_y_transport_due_to_diffusion"         unit="W"                                />
-         <field id="vdiff_salttr" long_name="ocean diffusion salt transport along j-axis"   standard_name="ocean_salt_y_transport_due_to_diffusion"         unit="1e-3*kg/s"                        />
-      </field_group>
-      
-      <!-- W grid -->
-      
-      <field_group id="grid_W" grid_ref="grid_W_3D">
-         <field id="e3w"          long_name="W-cell thickness"                     standard_name="cell_thickness"              unit="m"    />
-         <field id="woce"         long_name="ocean vertical velocity"              standard_name="upward_sea_water_velocity"   unit="m/s"  />
-         <field id="wocetr_eff"   long_name="effective ocean vertical transport"                                               unit="m3/s" />
-
-         <!-- woce_eiv: available with EIV -->
-         <field id="woce_eiv"     long_name="EIV ocean vertical velocity"   standard_name="bolus_upward_sea_water_velocity"   unit="m/s" />
-
-         <field id="avt"          long_name="vertical eddy diffusivity"   standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" />
-         <field id="logavt"       long_name="logarithm of vertical eddy diffusivity"   standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" />
-         <field id="avm"          long_name="vertical eddy viscosity"     standard_name="ocean_vertical_momentum_diffusivity"   unit="m2/s" />
-
-         <!-- avs: available with key_zdfddm -->
-         <field id="avs"          long_name="salt vertical eddy diffusivity"   standard_name="ocean_vertical_salt_diffusivity"   unit="m2/s" />
-         <field id="logavs"       long_name="logarithm of salt vertical eddy diffusivity"   standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" />
-
-         <!-- avt_evd and avm_evd: available with ln_zdfevd -->
-         <field id="avt_evd"      long_name="convective enhancement of vertical diffusivity"   standard_name="ocean_vertical_tracer_diffusivity_due_to_convection"     unit="m2/s" />
-         <field id="avm_evd"      long_name="convective enhancement of vertical viscosity"     standard_name="ocean_vertical_momentum_diffusivity_due_to_convection"   unit="m2/s" />
-
-         <!-- avt_tide: available with key_zdftmx -->
-         <field id="av_tide"      long_name="tidal vertical diffusivity"   standard_name="ocean_vertical_tracer_diffusivity_due_to_tides"   unit="m2/s" />
-
-         <!-- variables available with key_zdftmx_new -->
-         <field id="av_ratio"     long_name="S over T diffusivity ratio"            standard_name="salinity_over_temperature_diffusivity_ratio"                     unit="1"    />
-         <field id="av_wave"      long_name="wave-induced vertical diffusivity"     standard_name="ocean_vertical_tracer_diffusivity_due_to_internal_waves"         unit="m2/s" />
-         <field id="bflx_tmx"     long_name="wave-induced buoyancy flux"            standard_name="buoyancy_flux_due_to_internal_waves"                             unit="W/kg" />
-         <field id="pcmap_tmx"    long_name="power consumed by wave-driven mixing"  standard_name="vertically_integrated_power_consumption_by_wave_driven_mixing"   unit="W/m2"      grid_ref="grid_W_2D" />
-         <field id="emix_tmx"     long_name="power density available for mixing"    standard_name="power_available_for_mixing_from_breaking_internal_waves"         unit="W/kg" />
-
-         <!-- variables available with diaar5 -->   
-         <field id="w_masstr"     long_name="vertical mass transport"             standard_name="upward_ocean_mass_transport"             unit="kg/s"   />
-         <field id="w_masstr2"    long_name="square of vertical mass transport"   standard_name="square_of_upward_ocean_mass_transport"   unit="kg2/s2" />
-
-         <!-- aht2d and  aht2d_eiv -->
-         <field id="aht2d"        long_name="lateral eddy diffusivity"       standard_name="ocean_tracer_xy_laplacian_diffusivity"      unit="m2/s"   grid_ref="grid_W_2D" />
-         <field id="aht2d_eiv"    long_name="EIV lateral eddy diffusivity"   standard_name="ocean_tracer_bolus_laplacian_diffusivity"   unit="m2/s"   grid_ref="grid_W_2D" />
-
-      </field_group>
-        
-      <!-- F grid -->
-      <!-- f-eddy viscosity coefficients (ldfdyn) -->
-      <field id="ahmf_2d"      long_name=" surface f-eddy viscosity coefficient"   unit="m2/s or m4/s" />
-      <field id="ahmf_3d"      long_name=" 3D      f-eddy viscosity coefficient"   unit="m2/s or m4/s"                           grid_ref="grid_T_3D"/>
-
-      <field_group id="scalar"  grid_ref="grid_T_2D"  >
-         <field id="voltot"     long_name="global total volume"                          standard_name="sea_water_volume"                               unit="m3"   />
-         <field id="sshtot"     long_name="global mean ssh"                              standard_name="global_average_sea_level_change"                unit="m"    />
-         <field id="sshsteric"  long_name="global mean ssh steric"                       standard_name="global_average_steric_sea_level_change"         unit="m"    />
-         <field id="sshthster"  long_name="global mean ssh thermosteric"                 standard_name="global_average_thermosteric_sea_level_change"   unit="m"    />
-         <field id="masstot"    long_name="global total mass"                            standard_name="sea_water_mass"                                 unit="kg"   />
-         <field id="temptot"    long_name="global mean temperature"                      standard_name="sea_water_potential_temperature"                unit="degC" />
-         <field id="saltot"     long_name="global mean salinity"                         standard_name="sea_water_salinity"                             unit="1e-3" />
-         <field id="fram_trans" long_name="Sea Ice Mass Transport Through Fram Strait"   standard_name="sea_ice_transport_across_line"                  unit="kg/s" />
-
-      	 <!-- available with ln_diahsb -->
-         <field id="bgtemper"     long_name="drift in global mean temperature wrt timestep 1"                 standard_name="change_over_time_in_sea_water_potential_temperature"   unit="degC"     />
-         <field id="bgsaline"     long_name="drift in global mean salinity wrt timestep 1"                    standard_name="change_over_time_in_sea_water_practical_salinity"      unit="1e-3"     />
-         <field id="bgheatco"     long_name="drift in global mean heat content wrt timestep 1"                                                                                      unit="1.e20J"   />
-         <field id="bgheatfx"     long_name="drift in global mean heat flux    wrt timestep 1"                                                                                      unit="W/m2"     />
-         <field id="bgsaltco"     long_name="drift in global mean salt content wrt timestep 1"                                                                                      unit="1e-3*km3" />
-         <field id="bgvolssh"     long_name="drift in global mean ssh volume wrt timestep 1"                                                                                        unit="km3"      />
-         <field id="bgvole3t"     long_name="drift in global mean volume variation (e3t) wrt timestep 1"                                                                            unit="km3"      />
-         <field id="bgfrcvol"     long_name="global mean volume from forcing"                                                                                                       unit="km3"      />
-         <field id="bgfrctem"     long_name="global mean heat content from forcing"                                                                                                 unit="1.e20J"   />
-         <field id="bgfrchfx"     long_name="global mean heat flux from forcing"                                                                                                    unit="W/m2"     />
-         <field id="bgfrcsal"     long_name="global mean salt content from forcing"                                                                                                 unit="1e-3*km3" />
-         <field id="bgmistem"     long_name="global mean temperature error due to free surface (linssh true)"                                                                            unit="degC"     />
-         <field id="bgmissal"     long_name="global mean salinity error due to free surface (linssh true)"                                                                               unit="1e-3"     />
-      </field_group>
-  
-      <!-- variables available with key_float -->
-
-      <field_group id="floatvar" grid_ref="grid_T_nfloat"  operation="instant" >
-         <field id="traj_lon"      long_name="floats longitude"                                                           unit="degrees_east"  />
-         <field id="traj_lat"      long_name="floats latitude"                                                            unit="degrees_north" />
-         <field id="traj_dep"      long_name="floats depth"                                                               unit="m"             />
-         <field id="traj_temp"     long_name="floats temperature"       standard_name="sea_water_potential_temperature"   unit="degC"          />
-         <field id="traj_salt"     long_name="floats salinity"          standard_name="sea_water_practical_salinity"      unit="1e-3"          />
-         <field id="traj_dens"     long_name="floats in-situ density"   standard_name="sea_water_density"                 unit="kg/m3"         />
-         <field id="traj_group"    long_name="floats group"                                                               unit="1"             />
-      </field_group>
-
-      <!-- variables available with iceberg trajectories -->
-
-      <field_group id="icbvar" domain_ref="grid_T"  > 
-         <field id="berg_melt"          long_name="icb melt rate of icebergs"                       unit="kg/m2/s"                    />
-         <field id="berg_buoy_melt"     long_name="icb buoyancy component of iceberg melt rate"     unit="kg/m2/s"                    />
-         <field id="berg_eros_melt"     long_name="icb erosion component of iceberg melt rate"      unit="kg/m2/s"                    />
-         <field id="berg_conv_melt"     long_name="icb convective component of iceberg melt rate"   unit="kg/m2/s"                    />
-         <field id="berg_virtual_area"  long_name="icb virtual coverage by icebergs"                unit="m2"                         />
-         <field id="bits_src"           long_name="icb mass source of bergy bits"                   unit="kg/m2/s"                    />
-         <field id="bits_melt"          long_name="icb melt rate of bergy bits"                     unit="kg/m2/s"                    />
-         <field id="bits_mass"          long_name="icb bergy bit density field"                     unit="kg/m2"                      />
-         <field id="berg_mass"          long_name="icb iceberg density field"                       unit="kg/m2"                      />
-         <field id="calving"            long_name="icb calving mass input"                          unit="kg/s"                       />
-         <field id="berg_floating_melt" long_name="icb melt rate of icebergs + bits"                unit="kg/m2/s"                    />
-         <field id="berg_real_calving"  long_name="icb calving into iceberg class"                  unit="kg/s"     axis_ref="icbcla" />
-         <field id="berg_stored_ice"    long_name="icb accumulated ice mass by class"               unit="kg"       axis_ref="icbcla" />
-      </field_group>
-
-      <!-- Poleward transport : ptr -->     
-      <field_group id="diaptr" >  
-         <field id="zomsfglo"          long_name="Meridional Stream-Function: Global"           unit="Sv"       grid_ref="gznl_W_3D" />
-         <field id="zomsfatl"          long_name="Meridional Stream-Function: Atlantic"         unit="Sv"       grid_ref="gznl_W_3D" />
-         <field id="zomsfpac"          long_name="Meridional Stream-Function: Pacific"          unit="Sv"       grid_ref="gznl_W_3D" />
-         <field id="zomsfind"          long_name="Meridional Stream-Function: Indian"           unit="Sv"       grid_ref="gznl_W_3D" />
-         <field id="zomsfipc"          long_name="Meridional Stream-Function: Pacific+Indian"   unit="Sv"       grid_ref="gznl_W_3D" />
-         <field id="zotemglo"          long_name="Zonal Mean Temperature : Global"              unit="degree_C"     grid_ref="gznl_T_3D" />
-         <field id="zotematl"          long_name="Zonal Mean Temperature : Atlantic"            unit="degree_C"     grid_ref="gznl_T_3D" />
-         <field id="zotempac"          long_name="Zonal Mean Temperature : Pacific"             unit="degree_C"     grid_ref="gznl_T_3D" />
-         <field id="zotemind"          long_name="Zonal Mean Temperature : Indian"              unit="degree_C"     grid_ref="gznl_T_3D" />
-         <field id="zotemipc"          long_name="Zonal Mean Temperature : Pacific+Indian"      unit="degree_C"     grid_ref="gznl_T_3D" />
-         <field id="zosalglo"          long_name="Zonal Mean Salinity : Global"                 unit="0.001"     grid_ref="gznl_T_3D" />
-         <field id="zosalatl"          long_name="Zonal Mean Salinity : Atlantic"               unit="0.001"     grid_ref="gznl_T_3D" />
-         <field id="zosalpac"          long_name="Zonal Mean Salinity : Pacific"                unit="0.001"     grid_ref="gznl_T_3D" />
-         <field id="zosalind"          long_name="Zonal Mean Salinity : Indian"                 unit="0.001"     grid_ref="gznl_T_3D" />
-         <field id="zosalipc"          long_name="Zonal Mean Salinity : Pacific+Indian"         unit="0.001"     grid_ref="gznl_T_3D" />
-         <field id="zosrfglo"          long_name="Zonal Mean Surface"                           unit="m2"       grid_ref="gznl_T_3D" />
-         <field id="zosrfatl"          long_name="Zonal Mean Surface : Atlantic"                unit="m2"       grid_ref="gznl_T_3D" />
-         <field id="zosrfpac"          long_name="Zonal Mean Surface : Pacific"                 unit="m2"       grid_ref="gznl_T_3D" />
-         <field id="zosrfind"          long_name="Zonal Mean Surface : Indian"                  unit="m2"       grid_ref="gznl_T_3D" />
-         <field id="zosrfipc"          long_name="Zonal Mean Surface : Pacific+Indian"          unit="m2"       grid_ref="gznl_T_3D" />
-         <field id="sophtadv"          long_name="Advective Heat Transport"                     unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtadv_atl"      long_name="Advective Heat Transport: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtadv_pac"      long_name="Advective Heat Transport: Pacific"            unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtadv_ind"      long_name="Advective Heat Transport: Indian"             unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtadv_ipc"      long_name="Advective Heat Transport: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtldf"          long_name="Diffusive Heat Transport"                     unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtldf_atl"      long_name="Diffusive Heat Transport: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtldf_pac"      long_name="Diffusive Heat Transport: Pacific"            unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtldf_ind"      long_name="Diffusive Heat Transport: Indian"             unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtldf_ipc"      long_name="Diffusive Heat Transport: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtove"          long_name="Overturning Heat Transport"                     unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtove_atl"      long_name="Overturning Heat Transport: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtove_pac"      long_name="Overturning Heat Transport: Pacific"            unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtove_ind"      long_name="Overturning Heat Transport: Indian"             unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtove_ipc"      long_name="Overturning Heat Transport: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtbtr"          long_name="Barotropic Heat Transport"                     unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtbtr_atl"      long_name="Barotropic Heat Transport: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtbtr_pac"      long_name="Barotropic Heat Transport: Pacific"            unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtbtr_ind"      long_name="Barotropic Heat Transport: Indian"             unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophtbtr_ipc"      long_name="Barotropic Heat Transport: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophteiv"          long_name="Heat Transport from mesoscale eddy advection"                     unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophteiv_atl"      long_name="Heat Transport from mesoscale eddy advection: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophteiv_pac"      long_name="Heat Transport from mesoscale eddy advection: Pacific"            unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophteiv_ind"      long_name="Heat Transport from mesoscale eddy advection: Indian"             unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sophteiv_ipc"      long_name="Heat Transport from mesoscale eddy advection: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" />
-         <field id="sopstadv"          long_name="Advective Salt Transport"                     unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstadv_atl"      long_name="Advective Salt Transport: Atlantic"           unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstadv_pac"      long_name="Advective Salt Transport: Pacific"            unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstadv_ind"      long_name="Advective Salt Transport: Indian"             unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstadv_ipc"      long_name="Advective Salt Transport: Pacific+Indian"     unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstove"          long_name="Overturning Salt Transport"                     unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstove_atl"      long_name="Overturning Salt Transport: Atlantic"           unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstove_pac"      long_name="Overturning Salt Transport: Pacific"            unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstove_ind"      long_name="Overturning Salt Transport: Indian"             unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstove_ipc"      long_name="Overturning Salt Transport: Pacific+Indian"     unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstbtr"          long_name="Barotropic Salt Transport"                     unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstbtr_atl"      long_name="Barotropic Salt Transport: Atlantic"           unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstbtr_pac"      long_name="Barotropic Salt Transport: Pacific"            unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstbtr_ind"      long_name="Barotropic Salt Transport: Indian"             unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstbtr_ipc"      long_name="Barotropic Salt Transport: Pacific+Indian"     unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstldf"          long_name="Diffusive Salt Transport"                     unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstldf_atl"      long_name="Diffusive Salt Transport: Atlantic"           unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstldf_pac"      long_name="Diffusive Salt Transport: Pacific"            unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstldf_ind"      long_name="Diffusive Salt Transport: Indian"             unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopstldf_ipc"      long_name="Diffusive Salt Transport: Pacific+Indian"     unit="Giga g/s" grid_ref="gznl_T_2D" />
-         <field id="sopsteiv"          long_name="Salt Transport from mesoscale eddy advection"                     unit="Giga g/s"       grid_ref="gznl_T_2D" />
-          <field id="sopsteiv_atl"      long_name="Salt Transport from mesoscale eddy advection: Atlantic"           unit="Giga g/s"       grid_ref="gznl_T_2D" />
-         <field id="sopsteiv_pac"      long_name="Salt Transport from mesoscale eddy advection: Pacific"            unit="Giga g/s"       grid_ref="gznl_T_2D" />
-         <field id="sopsteiv_ind"      long_name="Salt Transport from mesoscale eddy advection: Indian"             unit="Giga g/s"       grid_ref="gznl_T_2D" />
-         <field id="sopsteiv_ipc"      long_name="Salt Transport from mesoscale eddy advection: Pacific+Indian"     unit="Giga g/s"       grid_ref="gznl_T_2D" />       
-      </field_group>
-
-    <!-- 
-============================================================================================================
-                  Physical ocean model trend diagnostics : temperature, KE, PE, momentum
-============================================================================================================
-    -->
-
-   <!-- variables available with ln_tra_trd -->
-   <!-- Asselin trends  calculated on odd time steps-->
-   <field_group id="trendT_odd"  grid_ref="grid_T_3D">
-      <field id="ttrd_atf"      long_name="temperature-trend: asselin time filter"       unit="degree_C/s" />
-      <field id="strd_atf"      long_name="salinity   -trend: asselin time filter"       unit="0.001/s" />
-      <!-- Thickness weighted versions: -->
-      <field id="ttrd_atf_e3t"      unit="degC/s * m"  >  ttrd_atf * e3t </field>
-      <field id="strd_atf_e3t"      unit="1e-3/s * m"  >  strd_atf * e3t </field>
-      <!-- OMIP  layer-integrated trends -->
-      <field id="ttrd_atf_li"      long_name="layer integrated heat-trend: asselin time filter "       unit="W/m^2" > ttrd_atf_e3t * 1026.0 * 3991.86795711963  </field>
-      <field id="strd_atf_li"      long_name="layer integrated salt   -trend: asselin time filter "       unit="kg/(m^2 s)" > strd_atf_e3t * 1026.0 * 0.001 </field>
-    </field_group>
-
-    <!-- Other trends  calculated on even time steps-->
-    <field_group id="trendT_even" grid_ref="grid_T_3D">
-       <field id="ttrd_xad"      long_name="temperature-trend: i-advection"                                                                                          unit="degC/s"                        />
-       <field id="strd_xad"      long_name="salinity   -trend: i-advection"                                                                                          unit="1e-3/s"                        />
-       <field id="ttrd_yad"      long_name="temperature-trend: j-advection"                                                                                          unit="degC/s"                        />
-       <field id="strd_yad"      long_name="salinity   -trend: j-advection"                                                                                          unit="1e-3/s"                        />
-       <field id="ttrd_zad"      long_name="temperature-trend: k-advection"                                                                                          unit="degC/s"                        />
-       <field id="strd_zad"      long_name="salinity   -trend: k-advection"                                                                                          unit="1e-3/s"                        />
-       <field id="ttrd_ad"       long_name="temperature-trend: advection"               standard_name="tendency_of_sea_water_temperature_due_to_advection"           unit="degC/s"                         > sqrt( ttrd_xad^2 + ttrd_yad^2 + ttrd_zad^2 ) </field>
-       <field id="strd_ad"       long_name="salinity   -trend: advection"               standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="1e-3/s"                         > sqrt( strd_xad^2 + strd_yad^2 + strd_zad^2 ) </field>
-       <field id="ttrd_totad"    long_name="temperature-trend: total advection"         standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="degC/s"                        />
-       <field id="strd_totad"    long_name="salinity   -trend: total advection"         standard_name="tendency_of_sea_water_salinity_due_to_advection"              unit="1e-3/s"                        />
-       <field id="ttrd_sad"      long_name="temperature-trend: surface adv. (linssh true)"                                                                                unit="degC/s"   grid_ref="grid_T_2D" />
-       <field id="strd_sad"      long_name="salinity   -trend: surface adv. (linssh true)"                                                                                unit="1e-3/s"   grid_ref="grid_T_2D" />
-       <field id="ttrd_ldf"      long_name="temperature-trend: lateral  diffusion"      standard_name="tendency_of_sea_water_temperature_due_to_horizontal_mixing"   unit="degC/s"                        />
-       <field id="strd_ldf"      long_name="salinity   -trend: lateral  diffusion"      standard_name="tendency_of_sea_water_salinity_due_to_horizontal_mixing"      unit="1e-3/s"                        />
-       <field id="ttrd_zdf"      long_name="temperature-trend: vertical diffusion"      standard_name="tendency_of_sea_water_temperature_due_to_vertical_mixing"     unit="degC/s"                        />
-       <field id="strd_zdf"      long_name="salinity   -trend: vertical diffusion"      standard_name="tendency_of_sea_water_salinity_due_to_vertical_mixing"        unit="1e-3/s"                        />
-       <field id="ttrd_evd"      long_name="temperature-trend: EVD convection"                                                                                       unit="degC/s"                        />
-       <field id="strd_evd"      long_name="salinity   -trend: EVD convection"                                                                                       unit="1e-3/s"                        />
-
-       <!-- ln_traldf_iso=T only (iso-neutral diffusion) -->
-       <field id="ttrd_iso"      long_name="temperature-trend: isopycnal diffusion"                             unit="degC/s" > ttrd_ldf + ttrd_zdf - ttrd_zdfp </field>
-       <field id="strd_iso"      long_name="salinity   -trend: isopycnal diffusion"                             unit="1e-3/s" > strd_ldf + strd_zdf - strd_zdfp </field>
-       <field id="ttrd_zdfp"     long_name="temperature-trend: pure vert. diffusion"   unit="degC/s" />
-       <field id="strd_zdfp"     long_name="salinity   -trend: pure vert. diffusion"   unit="1e-3/s" />
-
-       <!-- -->
-       <field id="ttrd_dmp"      long_name="temperature-trend: interior restoring"        unit="degC/s" />
-       <field id="strd_dmp"      long_name="salinity   -trend: interior restoring"        unit="1e-3/s" />
-       <field id="ttrd_bbl"      long_name="temperature-trend: bottom boundary layer"     unit="degC/s" />
-       <field id="strd_bbl"      long_name="salinity   -trend: bottom boundary layer"     unit="1e-3/s" />
-       <field id="ttrd_npc"      long_name="temperature-trend: non-penetrative conv."     unit="degC/s" />
-       <field id="strd_npc"      long_name="salinity   -trend: non-penetrative conv."     unit="1e-3/s" />
-       <field id="ttrd_qns"      long_name="temperature-trend: non-solar flux + runoff"   unit="degC/s" grid_ref="grid_T_2D" />
-       <field id="strd_cdt"      long_name="salinity   -trend: C/D term       + runoff"   unit="degC/s" grid_ref="grid_T_2D" />
-       <field id="ttrd_qsr"      long_name="temperature-trend: solar penetr. heating"     unit="degC/s" />
-       <field id="ttrd_bbc"      long_name="temperature-trend: geothermal heating"        unit="degC/s" />
-
-       <!-- Thickness weighted versions: -->
-       <field id="ttrd_xad_e3t"      unit="degC/s * m" >  ttrd_xad * e3t </field>
-       <field id="strd_xad_e3t"      unit="1e-3/s * m" >  strd_xad * e3t </field>
-       <field id="ttrd_yad_e3t"      unit="degC/s * m" >  ttrd_yad * e3t </field>
-       <field id="strd_yad_e3t"      unit="1e-3/s * m" >  strd_yad * e3t </field>
-       <field id="ttrd_zad_e3t"      unit="degC/s * m" >  ttrd_zad * e3t </field>
-       <field id="strd_zad_e3t"      unit="1e-3/s * m" >  strd_zad * e3t </field>
-       <field id="ttrd_ad_e3t"       unit="degC/s * m" >  ttrd_ad  * e3t </field>
-       <field id="strd_ad_e3t"       unit="1e-3/s * m" >  strd_ad  * e3t </field>
-       <field id="ttrd_totad_e3t"    unit="degC/s * m" >  ttrd_totad  * e3t </field>
-       <field id="strd_totad_e3t"    unit="1e-3/s * m" >  strd_totad  * e3t </field>
-       <field id="ttrd_ldf_e3t"      unit="degC/s * m" >  ttrd_ldf * e3t </field>
-       <field id="strd_ldf_e3t"      unit="1e-3/s * m" >  strd_ldf * e3t </field>
-       <field id="ttrd_zdf_e3t"      unit="degC/s * m" >  ttrd_zdf * e3t </field>
-       <field id="strd_zdf_e3t"      unit="1e-3/s * m" >  strd_zdf * e3t </field>
-       <field id="ttrd_evd_e3t"      unit="degC/s * m" >  ttrd_evd * e3t </field>
-       <field id="strd_evd_e3t"      unit="1e-3/s * m" >  strd_evd * e3t </field>
-
-       <!-- ln_traldf_iso=T only (iso-neutral diffusion) -->
-       <field id="ttrd_iso_e3t"      unit="degC/s * m"  >  ttrd_iso * e3t </field>
-       <field id="strd_iso_e3t"      unit="1e-3/s * m"  >  strd_iso * e3t </field>
-       <field id="ttrd_zdfp_e3t"     unit="degC/s * m"  >  ttrd_zdfp * e3t </field>
-       <field id="strd_zdfp_e3t"     unit="1e-3/s * m"  >  strd_zdfp * e3t </field>
-
-       <!-- -->
-       <field id="ttrd_dmp_e3t"      unit="degC/s * m"  >  ttrd_dmp * e3t </field>
-       <field id="strd_dmp_e3t"      unit="1e-3/s * m"  >  strd_dmp * e3t </field>
-       <field id="ttrd_bbl_e3t"      unit="degC/s * m"  >  ttrd_bbl * e3t </field>
-       <field id="strd_bbl_e3t"      unit="1e-3/s * m"  >  strd_bbl * e3t </field>
-       <field id="ttrd_npc_e3t"      unit="degC/s * m"  >  ttrd_npc * e3t </field>
-       <field id="strd_npc_e3t"      unit="1e-3/s * m"  >  strd_npc * e3t </field>
-       <field id="ttrd_qns_e3t"      unit="degC/s * m"  >  ttrd_qns * e3t_surf </field>
-       <field id="strd_cdt_e3t"      unit="degC/s * m"  >  strd_cdt * e3t_surf </field>
-       <field id="ttrd_qsr_e3t"      unit="degC/s * m"  >  ttrd_qsr * e3t </field>
-       <field id="ttrd_bbc_e3t"      unit="degC/s * m"  >  ttrd_bbc * e3t </field>
-
-       <!-- OMIP  layer-integrated trends -->
-       <field id="ttrd_totad_li"    long_name="layer integrated heat-trend : total advection"       unit="W/m^2"     > ttrd_totad_e3t * 1026.0 * 3991.86795711963 </field>
-       <field id="strd_totad_li"    long_name="layer integrated salt   -trend : total advection"      unit="kg/(m^2 s)"    > strd_totad_e3t * 1026.0 * 0.001  </field>
-       <field id="ttrd_evd_li"      long_name="layer integrated heat-trend : EVD convection"         unit="W/m^2"    > ttrd_evd_e3t * 1026.0 * 3991.86795711963 </field>
-       <field id="strd_evd_li"      long_name="layer integrated salt   -trend : EVD convection"      unit="kg/(m^2 s)"  > strd_evd_e3t * 1026.0 * 0.001  </field>
-       <field id="ttrd_iso_li"      long_name="layer integrated heat-trend : isopycnal diffusion"    unit="W/m^2" > ttrd_iso_e3t * 1026.0 * 3991.86795711963 </field>
-       <field id="strd_iso_li"      long_name="layer integrated salt   -trend : isopycnal diffusion"   unit="kg/(m^2 s)" > strd_iso_e3t * 1026.0 * 0.001  </field>
-       <field id="ttrd_zdfp_li"     long_name="layer integrated heat-trend : pure vert. diffusion"   unit="W/m^2" > ttrd_zdfp_e3t * 1026.0 * 3991.86795711963 </field>
-       <field id="strd_zdfp_li"     long_name="layer integrated salt   -trend : pure vert. diffusion"   unit="kg/(m^2 s)" > strd_zdfp_e3t * 1026.0 * 0.001  </field>
-       <field id="ttrd_qns_li"      long_name="layer integrated heat-trend : non-solar flux + runoff"   unit="W/m^2" grid_ref="grid_T_2D"> ttrd_qns_e3t * 1026.0 * 3991.86795711963 </field>
-       <field id="ttrd_qsr_li"      long_name="layer integrated heat-trend : solar flux"   unit="W/m^2"  grid_ref="grid_T_3D"> ttrd_qsr_e3t * 1026.0 * 3991.86795711963 </field>
-       <field id="ttrd_bbl_li"      long_name="layer integrated heat-trend: bottom boundary layer "     unit="W/m^2" > ttrd_bbl_e3t * 1026.0 * 3991.86795711963 </field>
-       <field id="strd_bbl_li"      long_name="layer integrated salt   -trend: bottom boundary layer "     unit="kg/(m^2 s)" > strd_bbl_e3t * 1026.0 * 0.001  </field>
-       <field id="ttrd_evd_li"      long_name="layer integrated heat -trend: evd convection "       unit="W/m^2" >ttrd_evd_e3t * 1026.0 * 3991.86795711963  </field>
-       <field id="strd_evd_li"      long_name="layer integrated salt -trend: evd convection "       unit="kg/(m^2 s)" > strd_evd_e3t * 1026.0 * 0.001  </field>
-
-    </field_group>
-
-    <!--  Total trends calculated every time step-->
-    <field_group id="trendT" grid_ref="grid_T_3D">
-       <field id="ttrd_tot"      long_name="temperature-trend: total model trend"         unit="degC/s" />
-       <field id="strd_tot"      long_name="salinity   -trend: total model trend"         unit="1e-3/s" />
-       <!-- Thickness weighted versions: -->
-       <field id="ttrd_tot_e3t"      unit="degC/s * m"  >  ttrd_tot * e3t </field>
-       <field id="strd_tot_e3t"      unit="1e-3/s * m"  >  strd_tot * e3t </field>
-       <!-- OMIP  layer-integrated total trends -->
-       <field id="ttrd_tot_li"      long_name="layer integrated heat-trend: total model trend :"         unit="W/m^2" > ttrd_tot_e3t * 1026.0 * 3991.86795711963 </field>
-       <field id="strd_tot_li"      long_name="layer integrated salt   -trend: total model trend :"         unit="kg/(m^2 s)" > strd_tot_e3t * 1026.0 * 0.001  </field>
-
-       <!-- **** these trends have not been apportioned to all/even/odd ts yet **** -->
-       <!-- variables available with ln_KE_trd -->
-       <field id="ketrd_hpg"     long_name="ke-trend: hydrostatic pressure gradient"          unit="W/s^3"                        />
-       <field id="ketrd_spg"     long_name="ke-trend: surface     pressure gradient"          unit="W/s^3"                        />
-       <field id="ketrd_spgexp"  long_name="ke-trend: surface pressure gradient (explicit)"   unit="W/s^3"                        />
-       <field id="ketrd_spgflt"  long_name="ke-trend: surface pressure gradient (filter)"     unit="W/s^3"                        />
-       <field id="ssh_flt"       long_name="filtered contribution to ssh (dynspg_flt)"        unit="m"       grid_ref="grid_T_2D" />
-       <field id="w0"            long_name="surface vertical velocity"                        unit="m/s"     grid_ref="grid_T_2D" />
-       <field id="pw0_exp"       long_name="surface pressure flux due to ssh"                 unit="W/s^2"   grid_ref="grid_T_2D" />
-       <field id="pw0_flt"       long_name="surface pressure flux due to filtered ssh"        unit="W/s^2"   grid_ref="grid_T_2D" />
-       <field id="ketrd_keg"     long_name="ke-trend: KE gradient         or hor. adv."       unit="W/s^3"                        />
-       <field id="ketrd_rvo"     long_name="ke-trend: relative  vorticity or metric term"     unit="W/s^3"                        />
-       <field id="ketrd_pvo"     long_name="ke-trend: planetary vorticity"                    unit="W/s^3"                        />
-       <field id="ketrd_zad"     long_name="ke-trend: vertical  advection"                    unit="W/s^3"                        />
-       <field id="ketrd_udx"     long_name="ke-trend: U.dx[U]"                                unit="W/s^3"                        />
-       <field id="ketrd_ldf"     long_name="ke-trend: lateral   diffusion"                    unit="W/s^3"                        />
-       <field id="ketrd_zdf"     long_name="ke-trend: vertical  diffusion"                    unit="W/s^3"                        />
-       <field id="ketrd_tau"     long_name="ke-trend: wind stress "                           unit="W/s^3"   grid_ref="grid_T_2D" />
-       <field id="ketrd_bfr"     long_name="ke-trend: bottom friction (explicit)"             unit="W/s^3"                        />   
-       <field id="ketrd_bfri"    long_name="ke-trend: bottom friction (implicit)"             unit="W/s^3"                        />   
-       <field id="ketrd_atf"     long_name="ke-trend: asselin time filter trend"              unit="W/s^3"                        />  
-       <field id="ketrd_convP2K" long_name="ke-trend: conversion (potential to kinetic)"      unit="W/s^3"                        />
-       <field id="KE"            long_name="kinetic energy: u(n)*u(n+1)/2"                    unit="W/s^2"                        />   
-
-       <!-- variables available with ln_PE_trd -->
-       <field id="petrd_xad"     long_name="pe-trend: i-advection"                unit="W/m^3"                        />
-       <field id="petrd_yad"     long_name="pe-trend: j-advection"                unit="W/m^3"                        />
-       <field id="petrd_zad"     long_name="pe-trend: k-advection"                unit="W/m^3"                        />
-       <field id="petrd_sad"     long_name="pe-trend: surface adv. (linssh true)"      unit="W/m^3"   grid_ref="grid_T_2D" />
-       <field id="petrd_ldf"     long_name="pe-trend: lateral  diffusion"         unit="W/m^3"                        />
-       <field id="petrd_zdf"     long_name="pe-trend: vertical diffusion"         unit="W/m^3"                        />
-       <field id="petrd_zdfp"    long_name="pe-trend: pure vert. diffusion"       unit="W/m^3"                        />
-       <field id="petrd_dmp"     long_name="pe-trend: interior restoring"         unit="W/m^3"                        />
-       <field id="petrd_bbl"     long_name="pe-trend: bottom boundary layer"      unit="W/m^3"                        />
-       <field id="petrd_npc"     long_name="pe-trend: non-penetrative conv."      unit="W/m^3"                        />
-       <field id="petrd_nsr"     long_name="pe-trend: surface forcing + runoff"   unit="W/m^3"                        />
-       <field id="petrd_qsr"     long_name="pe-trend: solar penetr. heating"      unit="W/m^3"                        />
-       <field id="petrd_bbc"     long_name="pe-trend: geothermal heating"         unit="W/m^3"                        />
-       <field id="petrd_atf"     long_name="pe-trend: asselin time filter"        unit="W/m^3"                        />
-       <field id="PEanom"        long_name="potential energy anomaly"             unit="1"                            />   
-       <field id="alphaPE"       long_name="partial deriv. of PEanom wrt T"       unit="degC-1"                       />   
-       <field id="betaPE"        long_name="partial deriv. of PEanom wrt S"       unit="1e3"                          />   
-    </field_group>
-
-    <field_group id="trendU" grid_ref="grid_U_3D">
-       <!-- variables available with ln_dyn_trd -->
-       <field id="utrd_hpg"       long_name="i-trend: hydrostatic pressure gradient"          unit="m/s^2"                        />
-       <field id="utrd_spg"       long_name="i-trend: surface     pressure gradient"          unit="m/s^2"                        />
-       <field id="utrd_spgexp"    long_name="i-trend: surface pressure gradient (explicit)"   unit="m/s^2"                        />
-       <field id="utrd_spgflt"    long_name="i-trend: surface pressure gradient (filtered)"   unit="m/s^2"                        />
-       <field id="utrd_keg"       long_name="i-trend: KE gradient         or hor. adv."       unit="m/s^2"                        />
-       <field id="utrd_rvo"       long_name="i-trend: relative  vorticity or metric term"     unit="m/s^2"                        />
-       <field id="utrd_pvo"       long_name="i-trend: planetary vorticity"                    unit="m/s^2"                        />
-       <field id="utrd_zad"       long_name="i-trend: vertical  advection"                    unit="m/s^2"                        />
-       <field id="utrd_udx"       long_name="i-trend: U.dx[U]"                                unit="m/s^2"                        />
-       <field id="utrd_ldf"       long_name="i-trend: lateral   diffusion"                    unit="m/s^2"                        />
-       <field id="utrd_zdf"       long_name="i-trend: vertical  diffusion"                    unit="m/s^2"                        />
-       <field id="utrd_tau"       long_name="i-trend: wind stress "                           unit="m/s^2"   grid_ref="grid_U_2D" />
-       <field id="utrd_bfr"       long_name="i-trend: bottom friction (explicit)"             unit="m/s^2"                        />   
-       <field id="utrd_bfri"      long_name="i-trend: bottom friction (implicit)"             unit="m/s^2"                        />   
-       <field id="utrd_tot"       long_name="i-trend: total momentum trend before atf"        unit="m/s^2"                        />   
-       <field id="utrd_atf"       long_name="i-trend: asselin time filter trend"              unit="m/s^2"                        />   
-    </field_group>
-
-    <field_group id="trendV" grid_ref="grid_V_3D">
-       <!-- variables available with ln_dyn_trd -->
-       <field id="vtrd_hpg"       long_name="j-trend: hydrostatic pressure gradient"          unit="m/s^2"                        />
-       <field id="vtrd_spg"       long_name="j-trend: surface     pressure gradient"          unit="m/s^2"                        />
-       <field id="vtrd_spgexp"    long_name="j-trend: surface pressure gradient (explicit)"   unit="m/s^2"                        />
-       <field id="vtrd_spgflt"    long_name="j-trend: surface pressure gradient (filtered)"   unit="m/s^2"                        />
-       <field id="vtrd_keg"       long_name="j-trend: KE gradient         or hor. adv."       unit="m/s^2"                        />
-       <field id="vtrd_rvo"       long_name="j-trend: relative  vorticity or metric term"     unit="m/s^2"                        />
-       <field id="vtrd_pvo"       long_name="j-trend: planetary vorticity"                    unit="m/s^2"                        />
-       <field id="vtrd_zad"       long_name="j-trend: vertical  advection"                    unit="m/s^2"                        />
-       <field id="vtrd_vdy"       long_name="i-trend: V.dx[V]"                                unit="m/s^2"                        />
-       <field id="vtrd_ldf"       long_name="j-trend: lateral   diffusion"                    unit="m/s^2"                        />
-       <field id="vtrd_zdf"       long_name="j-trend: vertical  diffusion"                    unit="m/s^2"                        />
-       <field id="vtrd_tau"       long_name="j-trend: wind stress "                           unit="m/s^2"   grid_ref="grid_V_2D" />
-       <field id="vtrd_bfr"       long_name="j-trend: bottom friction (explicit)"             unit="m/s^2"                        />   
-       <field id="vtrd_bfri"      long_name="j-trend: bottom friction (implicit)"             unit="m/s^2"                        />   
-       <field id="vtrd_tot"       long_name="j-trend: total momentum trend before atf"        unit="m/s^2"                        />   
-       <field id="vtrd_atf"       long_name="j-trend: asselin time filter trend"              unit="m/s^2"                        />   
-    </field_group>
-
-
-    <!-- 
-============================================================================================================
-                                        Definitions for iodef_demo.xml
-============================================================================================================
-    -->
-
-     <field_group id="TRD" >
-          <field field_ref="ttrd_totad_li"   name="opottempadvect"  />
-          <field field_ref="ttrd_iso_li"     name="opottemppmdiff"  />
-          <field field_ref="ttrd_zdfp_li"    name="opottempdiff"  />
-          <field field_ref="ttrd_evd_li"     name="opottempevd" />
-          <field field_ref="strd_evd_li"     name="osaltevd" />
-          <field field_ref="ttrd_qns_li"     name="opottempqns"  />
-          <field field_ref="ttrd_qsr_li"     name="rsdoabsorb" operation="accumulate" />
-          <field field_ref="strd_totad_li"   name="osaltadvect" />
-          <field field_ref="strd_iso_li"     name="osaltpmdiff"  />
-          <field field_ref="strd_zdfp_li"    name="osaltdiff" />
-    </field_group>
-    
-    <field_group id="mooring" >
-       <field field_ref="toce"         name="thetao"   long_name="sea_water_potential_temperature"      />
-       <field field_ref="soce"         name="so"       long_name="sea_water_salinity"                   />
-       <field field_ref="uoce"         name="uo"       long_name="sea_water_x_velocity"                 />
-       <field field_ref="voce"         name="vo"       long_name="sea_water_y_velocity"                 />
-       <field field_ref="woce"         name="wo"       long_name="sea_water_z_velocity"                 />
-       <field field_ref="avt"          name="difvho"   long_name="ocean_vertical_heat_diffusivity"      />
-       <field field_ref="avm"          name="difvmo"   long_name="ocean_vertical_momentum_diffusivity"  />
-   
-       <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"                       />
-       <field field_ref="sst2"         name="tossq"    long_name="square_of_sea_surface_temperature"             />
-       <field field_ref="sstgrad"      name="tosgrad"  long_name="module_of_sea_surface_temperature_gradient"    />
-       <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"                          />
-       <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"                />
-       <field field_ref="empmr"        name="wfo"      long_name="water_flux_into_sea_water"                     />
-       <field field_ref="qsr"          name="rsntds"   long_name="surface_net_downward_shortwave_flux"           />
-       <field field_ref="qt"           name="tohfls"   long_name="surface_net_downward_total_heat_flux"          />
-       <field field_ref="taum"                                                                                   />
-       <field field_ref="20d"                                                                                    />
-       <field field_ref="mldkz5"                                                                                 />
-       <field field_ref="mldr10_1"                                                                               />
-       <field field_ref="mldr10_3"                                                                               />
-       <field field_ref="mldr0_1"                                                                                />
-       <field field_ref="mldr0_3"                                                                                />
-       <field field_ref="mld_dt02"                                                                               />
-       <field field_ref="topthdep"                                                                               />
-       <field field_ref="pycndep"                                                                                />
-       <field field_ref="tinv"                                                                                   />
-       <field field_ref="depti"                                                                                  />
-       <field field_ref="BLT"          name="blt"      long_name="barrier_layer_thickness"                       />
-       <field field_ref="utau"         name="tauuo"    long_name="surface_downward_x_stress"                     />
-       <field field_ref="vtau"         name="tauvo"    long_name="surface_downward_y_stress"                     />
-    </field_group>
-
-    <field_group id="groupT" >
-       <field field_ref="toce"         name="thetao"   long_name="sea_water_potential_temperature"               />
-       <field field_ref="soce"         name="so"       long_name="sea_water_salinity"                            />
-       <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"                       />
-       <field field_ref="sst2"         name="tossq"    long_name="square_of_sea_surface_temperature"             />
-       <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"                          />
-       <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"                />
-       <field field_ref="empmr"        name="wfo"      long_name="water_flux_into_sea_water"                     />
-       <field field_ref="qsr"          name="rsntds"   long_name="surface_net_downward_shortwave_flux"           />
-       <field field_ref="qt"           name="tohfls"   long_name="surface_net_downward_total_heat_flux"          />
-       <field field_ref="taum"                                                                                   />
-       <field field_ref="20d"                                                                                    />
-       <field field_ref="mldkz5"                                                                                 />
-       <field field_ref="mldr10_1"                                                                               />
-       <field field_ref="mldr10_3"                                                                               />
-       <field field_ref="mld_dt02"                                                                               />
-       <field field_ref="topthdep"                                                                               />
-       <field field_ref="pycndep"                                                                                />
-       <field field_ref="tinv"                                                                                   />
-       <field field_ref="depti"                                                                                  />
-       <field field_ref="BLT"          name="blt"      long_name="Barrier Layer Thickness"                       />
-    </field_group>
-    
-    <field_group id="groupU" >
-       <field field_ref="uoce"         name="uo"      long_name="sea_water_x_velocity"      />
-       <field field_ref="ssu"          name="uos"     long_name="sea_surface_x_velocity"    />
-       <field field_ref="utau"         name="tauuo"   long_name="surface_downward_x_stress" />
-    </field_group>
-    
-    <field_group id="groupV" >
-       <field field_ref="voce"         name="vo"      long_name="sea_water_y_velocity"      />
-       <field field_ref="ssv"          name="vos"     long_name="sea_surface_y_velocity"    />
-       <field field_ref="vtau"         name="tauvo"   long_name="surface_downward_y_stress" />
-    </field_group>
-    
-    <field_group id="groupW" >
-       <field field_ref="woce"         name="wo"       long_name="ocean vertical velocity"  />
-    </field_group>
-
-    <!-- TMB diagnostic output -->
-    <field_group  id="1h_grid_T_tmb" grid_ref="grid_T_2D" operation="instant">
-       <field id="top_temp"           name="votemper_top"  unit="degC"  />
-       <field id="mid_temp"           name="votemper_mid"  unit="degC"  />
-       <field id="bot_temp"           name="votemper_bot"  unit="degC"  />
-       <field id="top_sal"            name="vosaline_top"  unit="psu"   />
-       <field id="mid_sal"            name="vosaline_mid"  unit="psu"   />
-       <field id="bot_sal"            name="vosaline_bot"  unit="psu"   />
-       <field id="sshnmasked"         name="sossheig"      unit="m"     /> 
-    </field_group>
-
-    <field_group  id="1h_grid_U_tmb" grid_ref="grid_U_2D" operation="instant">
-       <field id="top_u"           name="vozocrtx_top"  unit="m/s"  />
-       <field id="mid_u"           name="vozocrtx_mid"  unit="m/s"  />
-       <field id="bot_u"           name="vozocrtx_bot"  unit="m/s"  />
-       <field id="baro_u"          name="vobtcrtx"      unit="m/s"  />
-    </field_group>
-
-    <field_group  id="1h_grid_V_tmb" grid_ref="grid_V_2D" operation="instant">
-       <field id="top_v"           name="vomecrty_top"  unit="m/s"  />
-       <field id="mid_v"           name="vomecrty_mid"  unit="m/s"  />
-       <field id="bot_v"           name="vomecrty_bot"  unit="m/s"  />
-       <field id="baro_v"          name="vobtcrty"      unit="m/s"  />
-    </field_group>
-
-    <!-- 25h diagnostic output -->
-    <field_group id="25h_grid_T" grid_ref="grid_T_3D" operation="instant">
-       <field id="temper25h"         name="potential temperature 25h mean"    unit="degC" />
-       <field id="tempis25h"         name="insitu temperature 25h mean"    unit="degC" />
-       <field id="salin25h"          name="salinity 25h mean"                 unit="psu"  />
-       <field id="ssh25h"            name="sea surface height 25h mean"  grid_ref="grid_T_2D"      unit="m"    />
-    </field_group>
-
-    <field_group id="25h_grid_U" grid_ref="grid_U_3D" operation="instant" >
-       <field id="vozocrtx25h"         name="i current 25h mean"    unit="m/s"   />
-    </field_group>
-
-    <field_group id="25h_grid_V" grid_ref="grid_V_3D" operation="instant">
-       <field id="vomecrty25h"         name="j current 25h mean"    unit="m/s"    />
-    </field_group>
-
-    <field_group id="25h_grid_W" grid_ref="grid_W_3D" operation="instant">
-       <field id="vomecrtz25h"         name="k current 25h mean"                 unit="m/s"      />
-       <field id="avt25h"             name="vertical diffusivity25h mean"       unit="m2/s" />
-       <field id="avm25h"              name="vertical viscosity 25h mean"        unit="m2/s" />
-       <field id="tke25h"              name="turbulent kinetic energy 25h mean" />
-       <field id="mxln25h"             name="mixing length 25h mean"             unit="m" />
-    </field_group>
-
-     <!-- 
-============================================================================================================
-       -->
-     <!-- output variables for my configuration (example) --> 
- 
-    <field_group id="myvarOCE" >
-       <!-- grid T --> 
-       <field field_ref="e3t"          name="e3t"      long_name="vertical scale factor"           />
-       <field field_ref="sst"          name="tos"      long_name="sea_surface_temperature"         />
-       <field field_ref="sss"          name="sos"      long_name="sea_surface_salinity"            />
-       <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"  />
-      
-       <!-- grid U --> 
-       <field field_ref="e3u"          name="e3u"     long_name="vertical scale factor"            />
-       <field field_ref="ssu"          name="uos"     long_name="sea_surface_x_velocity"           />
-      
-       <!-- grid V --> 
-       <field field_ref="e3v"          name="e3v"     long_name="vertical scale factor"            />
-       <field field_ref="ssv"          name="vos"     long_name="sea_surface_y_velocity"           />     
-    </field_group>    
-
-   </field_definition>
diff --git a/EXP00/file_def_nemo-opa.xml b/EXP00/file_def_nemo-opa.xml
deleted file mode 100755
index 0c764355f476753dab24fcc1735e284fc5564ac8..0000000000000000000000000000000000000000
--- a/EXP00/file_def_nemo-opa.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0"?>
-
-    <!-- 
-============================================================================================================
-=                                           output files definition                                        =
-=                                            Define your own files                                         =
-=                                         put the variables you want...                                    =
-============================================================================================================
-    -->
-    
-    <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="10d" min_digits="4">
-    
-      <file_group id="15mi" output_freq="15mi"  output_level="10" enabled=".TRUE." > <!-- 1 time step files -->
-         <file id="file1" name_suffix="_grid_T" description="ocean T grid variables" >
-          <field field_ref="ssh"          name="zos"      long_name="sea_surface_height_above_geoid"            operation="instant"      />
-        </file>
-       
-        <file id="file2" name_suffix="_grid_U" description="ocean U grid variables" >
-          <field field_ref="ssu"          name="uos"     long_name="sea_water_surface_x_velocity"  operation="instant" />
-          <field field_ref="uwnd"         name="uwnd"    long_name="u_component_of_wind"           operation="instant" />
-        </file>
-
-        <file id="file3" name_suffix="_grid_V" description="ocean V grid variables" >
-          <field field_ref="ssv"          name="vos"     long_name="sea_water_surface_y_velocity"  operation="instant" />
-          <field field_ref="vwnd"         name="vwnd"    long_name="v_component_of_wind"           operation="instant" />
-        </file>
-
-      </file_group>
-
-
-
-      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE." />                      
-      <file_group id="2h" output_freq="2h"  output_level="10" enabled=".TRUE."/> <!-- 2h files -->
-      <file_group id="3h" output_freq="3h"  output_level="10" enabled=".TRUE."/> <!-- 3h files -->     
-      <file_group id="4h" output_freq="4h"  output_level="10" enabled=".TRUE."/> <!-- 4h files -->
-      <file_group id="6h" output_freq="6h"  output_level="10" enabled=".TRUE."/> <!-- 6h files -->
-      <file_group id="25h_mean" output_freq="1d" output_level="10" enabled=".TRUE."/>
-      <file_group id="1d" output_freq="1d"  output_level="10" enabled=".TRUE."/> <!-- 1d files -->
-      <file_group id="3d" output_freq="3d"  output_level="10" enabled=".TRUE."/> <!-- 3d files -->    
-      <file_group id="5d" output_freq="5d"  output_level="10" enabled=".TRUE."/>  <!-- 5d files -->   
-      <file_group id="1m" output_freq="1mo" output_level="10" enabled=".TRUE."/> <!-- real monthly files -->
-      <file_group id="2m" output_freq="2mo" output_level="10" enabled=".TRUE."/> <!-- real 2m files -->
-      <file_group id="3m" output_freq="3mo" output_level="10" enabled=".TRUE."/> <!-- real 3m files -->
-      <file_group id="4m" output_freq="4mo" output_level="10" enabled=".TRUE."/> <!-- real 4m files -->
-      <file_group id="6m" output_freq="6mo" output_level="10" enabled=".TRUE."/> <!-- real 6m files -->
-
-      <file_group id="1y"  output_freq="1y" output_level="10" enabled=".TRUE."/> <!-- real yearly files -->
-      <file_group id="2y"  output_freq="2y" output_level="10" enabled=".TRUE."/> <!-- real 2y files -->
-      <file_group id="5y"  output_freq="5y" output_level="10" enabled=".TRUE."/> <!-- real 5y files -->
-      <file_group id="10y" output_freq="10y" output_level="10" enabled=".TRUE."/> <!-- real 10y files -->
-
-
-   </file_definition>
-    
-
diff --git a/EXP00/file_def_nemo.xml b/EXP00/file_def_nemo.xml
deleted file mode 100755
index cf06a038a66766810b2f6d44155c0793525ed55f..0000000000000000000000000000000000000000
--- a/EXP00/file_def_nemo.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0"?>
-
-    <!-- 
-============================================================================================================
-=                                           output files definition                                        =
-=                                            Define your own files                                         =
-=                                         put the variables you want...                                    =
-============================================================================================================
-    -->
-    
-    <file_definition type="one_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="10d" min_digits="4">
-    
-      <file_group id="1ts" output_freq="1ts"  output_level="10" enabled=".TRUE."/> <!-- 1 time step files -->
-
-      <file_group id="1h" output_freq="1h"  output_level="10" enabled=".TRUE."> <!-- 1h files -->
-  	<file id="file19" name_suffix="_SSH" description="ocean T grid variables" >
-    	 <field field_ref="ssh"          name="zos"   />
-         <field field_ref="sst"          name="tos"   />
-  	</file>
-      </file_group>
-
-      <file_group id="2h" output_freq="2h"  output_level="10" enabled=".TRUE."/> <!-- 2h files -->
-      <file_group id="3h" output_freq="3h"  output_level="10" enabled=".TRUE."/> <!-- 3h files -->     
-      <file_group id="4h" output_freq="4h"  output_level="10" enabled=".TRUE."/> <!-- 4h files -->
-      <file_group id="6h" output_freq="6h"  output_level="10" enabled=".TRUE."/> <!-- 6h files -->     
-      <file_group id="1d" output_freq="1d"  output_level="10" enabled=".TRUE."/> <!-- 1d files -->
-      <file_group id="3d" output_freq="3d"  output_level="10" enabled=".TRUE."/> <!-- 3d files -->
-      <file_group id="5d" output_freq="5d"  output_level="10" enabled=".TRUE.">  <!-- 5d files -->   
-
-	<file id="file20" name_suffix="_Tides" description="tidal harmonics" >
-	  <field field_ref="M2x"          name="M2x"      long_name="M2 Elevation harmonic real part"                       />
-	  <field field_ref="M2y"          name="M2y"      long_name="M2 Elevation harmonic imaginary part"                  />
-	  <field field_ref="M2x_u"        name="M2x_u"    long_name="M2 current barotrope along i-axis harmonic real part "       />
-	  <field field_ref="M2y_u"        name="M2y_u"    long_name="M2 current barotrope along i-axis harmonic imaginary part "  />
-	  <field field_ref="M2x_v"        name="M2x_v"    long_name="M2 current barotrope along j-axis harmonic real part "       />
-	  <field field_ref="M2y_v"        name="M2y_v"    long_name="M2 current barotrope along j-axis harmonic imaginary part "  />
-	</file>
-<!--
-        <file id="file11" name_suffix="_Tides_T" >
-          <field field_ref="M2x"     name="M2_x_elev"  />
-          <field field_ref="M2y"     name="M2_y_elev"  />
-          <field field_ref="S2x"     name="S2_x_elev"  />
-          <field field_ref="S2y"     name="S2_y_elev"  />
-          <field field_ref="N2x"     name="N2_x_elev"  />
-          <field field_ref="N2y"     name="N2_y_elev"  />
-          <field field_ref="K2x"     name="K2_x_elev"  />
-          <field field_ref="K2y"     name="K2_y_elev"  />
-          <field field_ref="K1x"     name="K1_x_elev"  />
-          <field field_ref="K1y"     name="K1_y_elev"  />
-          <field field_ref="M4x"     name="M4_x_elev"  />
-          <field field_ref="M4y"     name="M4_y_elev"  />
-          <field field_ref="Q1x"     name="Q1_x_elev"  />
-          <field field_ref="Q1y"     name="Q1_y_elev"  />
-          <field field_ref="O1x"     name="O1_x_elev"  />
-          <field field_ref="O1y"     name="O1_y_elev"  />
-          <field field_ref="P1x"     name="P1_x_elev"  />
-          <field field_ref="P1y"     name="P1_y_elev"  />
-          <field field_ref="S1x"     name="S1_x_elev"  />
-          <field field_ref="S1y"     name="S1_y_elev"  />
-          <field field_ref="2N2x"    name="a2N2_x_elev"  />
-          <field field_ref="2N2y"    name="a2N2_y_elev"  />
-          <field field_ref="MU2x"    name="MU2_x_elev"  />
-          <field field_ref="MU2y"    name="MU2_y_elev"  />
-          <field field_ref="NU2x"    name="NU2_x_elev"  />
-          <field field_ref="NU2y"    name="NU2_y_elev"  />
-          <field field_ref="L2x"     name="L2_x_elev"  />
-          <field field_ref="L2y"     name="L2_y_elev"  />
-          <field field_ref="T2x"     name="T2_x_elev"  />
-          <field field_ref="T2y"     name="T2_y_elev"  />
-        </file>
-
-        <file id="file12" name_suffix="_Tides_U" >
-          <field field_ref="M2x_u"     name="M2_x_u"  />
-          <field field_ref="M2y_u"     name="M2_y_u"  />
-          <field field_ref="S2x_u"     name="S2_x_u"  />
-          <field field_ref="S2y_u"     name="S2_y_u"  />
-          <field field_ref="N2x_u"     name="N2_x_u"  />
-          <field field_ref="N2y_u"     name="N2_y_u"  />
-          <field field_ref="K2x_u"     name="K2_x_u"  />
-          <field field_ref="K2y_u"     name="K2_y_u"  />
-          <field field_ref="K1x_u"     name="K1_x_u"  />
-          <field field_ref="K1y_u"     name="K1_y_u"  />
-          <field field_ref="M4x_u"     name="M4_x_u"  />
-          <field field_ref="M4y_u"     name="M4_y_u"  />
-          <field field_ref="Q1x_u"     name="Q1_x_u"  />
-          <field field_ref="Q1y_u"     name="Q1_y_u"  />
-          <field field_ref="O1x_u"     name="O1_x_u"  />
-          <field field_ref="O1y_u"     name="O1_y_u"  />
-          <field field_ref="P1x_u"     name="P1_x_u"  />
-          <field field_ref="P1y_u"     name="P1_y_u"  />
-          <field field_ref="S1x_u"     name="S1_x_u" />
-          <field field_ref="S1y_u"     name="S1_y_u" />
-          <field field_ref="2N2x_u"    name="a2N2_x_u" />
-          <field field_ref="2N2y_u"    name="a2N2_y_u" />
-          <field field_ref="MU2x_u"    name="MU2_x_u" />
-          <field field_ref="MU2y_u"    name="MU2_y_u" />
-          <field field_ref="NU2x_u"    name="NU2_x_u" />
-          <field field_ref="NU2y_u"    name="NU2_y_u" />
-          <field field_ref="L2x_u"     name="L2_x_u" />
-          <field field_ref="L2y_u"     name="L2_y_u" />
-          <field field_ref="T2x_u"     name="T2_x_u" />
-          <field field_ref="T2y_u"     name="T2_y_u" />
-        </file>
-
-        <file id="file13" name_suffix="_Tides_V" >
-          <field field_ref="M2x_v"     name="M2_x_v"  />
-          <field field_ref="M2y_v"     name="M2_y_v"  />
-          <field field_ref="S2x_v"     name="S2_x_v"  />
-          <field field_ref="S2y_v"     name="S2_y_v"  />
-          <field field_ref="N2x_v"     name="N2_x_v"  />
-          <field field_ref="N2y_v"     name="N2_y_v"  />
-          <field field_ref="K2x_v"     name="K2_x_v"  />
-          <field field_ref="K2y_v"     name="K2_y_v"  />
-          <field field_ref="K1x_v"     name="K1_x_v"  />
-          <field field_ref="K1y_v"     name="K1_y_v"  />
-          <field field_ref="M4x_v"     name="M4_x_v"  />
-          <field field_ref="M4y_v"     name="M4_y_v"  />
-          <field field_ref="Q1x_v"     name="Q1_x_v"  />
-          <field field_ref="Q1y_v"     name="Q1_y_v"  />
-          <field field_ref="O1x_v"     name="O1_x_v"  />
-          <field field_ref="O1y_v"     name="O1_y_v"  />
-          <field field_ref="P1x_v"     name="P1_x_v"  />
-          <field field_ref="P1y_v"     name="P1_y_v"  />
-          <field field_ref="S1x_v"     name="S1_x_v" />
-          <field field_ref="S1y_v"     name="S1_y_v" />
-          <field field_ref="2N2x_v"    name="a2N2_x_v" />
-          <field field_ref="2N2y_v"    name="a2N2_y_v" />
-          <field field_ref="MU2x_v"    name="MU2_x_v" />
-          <field field_ref="MU2y_v"    name="MU2_y_v" />
-          <field field_ref="NU2x_v"    name="NU2_x_v" />
-          <field field_ref="NU2y_v"    name="NU2_y_v" />
-          <field field_ref="L2x_v"     name="L2_x_v" />
-          <field field_ref="L2y_v"     name="L2_y_v" />
-          <field field_ref="T2x_v"     name="T2_x_v" />
-          <field field_ref="T2y_v"     name="T2_y_v" />
-        </file>
--->
-      </file_group>
-
-      <file_group id="1m" output_freq="1mo" output_level="10" enabled=".TRUE."/> <!-- real monthly files -->
-      <file_group id="2m" output_freq="2mo" output_level="10" enabled=".TRUE."/> <!-- real 2m files -->
-      <file_group id="3m" output_freq="3mo" output_level="10" enabled=".TRUE."/> <!-- real 3m files -->
-      <file_group id="4m" output_freq="4mo" output_level="10" enabled=".TRUE."/> <!-- real 4m files -->
-      <file_group id="6m" output_freq="6mo" output_level="10" enabled=".TRUE."/> <!-- real 6m files -->
-      <file_group id="1y"  output_freq="1y" output_level="10" enabled=".TRUE."/> <!-- real yearly files -->
-      <file_group id="2y"  output_freq="2y" output_level="10" enabled=".TRUE."/> <!-- real 2y files -->
-      <file_group id="5y"  output_freq="5y" output_level="10" enabled=".TRUE."/> <!-- real 5y files -->
-      <file_group id="10y" output_freq="10y" output_level="10" enabled=".TRUE."/> <!-- real 10y files -->
-
-   </file_definition>
-    
diff --git a/EXP00/iodef.xml b/EXP00/iodef.xml
deleted file mode 100755
index 9a1f846b72da76dd0491bf9947325406d84f4798..0000000000000000000000000000000000000000
--- a/EXP00/iodef.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<simulation> 
-
-<!-- ============================================================================================ -->
-<!-- XIOS context                                                                                 -->
-<!-- ============================================================================================ -->
-
-  <context id="xios">
-
-      <variable_definition>
-	
-	  <variable id="info_level"                type="int">0</variable>
-	  <variable id="using_server"              type="bool">true</variable>
-	  <variable id="using_oasis"               type="bool">false</variable>
-	  <variable id="oasis_codes_id"            type="string" >oceanx</variable>
-	
-      </variable_definition>
-               
-  </context>
-
-<!-- ============================================================================================ -->
-<!-- NEMO  CONTEXT add and suppress the components you need                                       -->
-<!-- ============================================================================================ -->
-
-  <context id="nemo" src="./context_nemo.xml"/>       <!--  NEMO       -->
-  
-</simulation>
diff --git a/EXP00/namelist_cfg b/EXP00/namelist_cfg
deleted file mode 100755
index 1f5ad6608c0db9b13501be2fbdcf629b1e9cd87b..0000000000000000000000000000000000000000
--- a/EXP00/namelist_cfg
+++ /dev/null
@@ -1,381 +0,0 @@
-!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-!! NEMO/OPA  : AMM12 configuration namelist used to overwrite defaults values defined in SHARED/namelist_ref
-!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-!-----------------------------------------------------------------------
-&namrun        !   parameters of the run
-!-----------------------------------------------------------------------
-   cn_exp      =  "INDIAN"  !  experience name
-   nn_it000    =  1  !43201 !  first time step
-   nn_itend    =  3000 !2881 !43679 !86400   !  last  time step (std 1 day = 144) (for dt = 6 min, so 240*dt = 1 day)
-   nn_date0    =  20160101  !20110717 !  date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1)
-   nn_time0    =       0   !  initial time of day in hhmm
-   nn_leapy    =       1   !  Leap year calendar (1) or not (0)
-   ln_rstart   =  .false.  !  start from rest (F) or from a restart file (T)
-      nn_euler    =    1            !  = 0 : start with forward time step if ln_rstart=T
-      nn_rstctl   =    2            !  restart control ==> activated only if ln_rstart=T
-      !                             !    = 0 nn_date0 read in namelist ; nn_it000 : read in namelist
-      !                             !    = 1 nn_date0 read in namelist ; nn_it000 : check consistancy between namelist and restart
-      !                             !    = 2 nn_date0 read in restart  ; nn_it000 : check consistancy between namelist and restart
-      cn_ocerst_in    = "AMMSURGE_00043679_restart"   !  suffix of ocean restart name (input)
-      cn_ocerst_indir = "./restart_file_nonCyclone_season"         !  directory from which to read input ocean restarts
-      cn_ocerst_out   = "restart"   !  suffix of ocean restart name (output)
-      cn_ocerst_outdir= "./restarts"         !  directory in which to write output ocean restarts
-!   nn_euler    =       1   !  = 0 : start with forward time step if ln_rstart=.true.
-!   cn_ocerst_in   = "ammsurge_restart_oce"   !  suffix of ocean restart name (input)
-!   cn_ocerst_out  = "restart_oce_out"   !  suffix of ocean restart name (input)
-   nn_istate   =       0   !  output the initial state (1) or not (0)
-   nn_stock    =  44160 ! 86400    !  frequency of creation of a restart file (modulo referenced to 1)
-   nn_write    =  10 ! 86400    !  frequency of write in the output file   (modulo referenced to nit000) 
-/
-!-----------------------------------------------------------------------
-&namcfg        !   parameters of the configuration
-!-----------------------------------------------------------------------
-   ln_read_cfg = .true.   !  (=T) read the domain configuration file
-                          !  (=F) user defined configuration  ==>>>  see usrdef(_...) modules
-   cn_domcfg = "domain_cfg.nc"         ! domain configuration filename
-/
-!-----------------------------------------------------------------------
-!&namzgr        !   vertical coordinate
-!-----------------------------------------------------------------------
-!   ln_zps      = .false.   !  z-coordinate - partial steps   (T/F)
-!   ln_sco      = .true.    !  s- or hybrid z-s-coordinate    (T/F)
-!/
-!-----------------------------------------------------------------------
-!&namzgr_sco    !   s-coordinate or hybrid z-s-coordinate
-!-----------------------------------------------------------------------
-!   rn_sbot_min =    6.0    !  minimum depth of s-bottom surface (>0) (m)
-!   rn_hc       =    0.0    !  critical depth for transition to stretched coordinates
-!   rn_rmax     =    1.0    !  maximum cut-off r-value allowed (0<r_max<1)
-!   rn_theta    =    0.0    !  surface control parameter (0<=theta<=20)
-!/
-!-----------------------------------------------------------------------
-&namdom        !   space and time domain (bathymetry, mesh, timestep)
-!-----------------------------------------------------------------------
-!   ln_2d        = .false.  !  (=T) run in 2D barotropic mode (no tracer processes or vertical diffusion)
-   rn_rdt      =   60.    !  time step for the dynamics (and tracer if nn_acc=0)
-/
-
-!-----------------------------------------------------------------------
-&namtsd    !   data : Temperature  & Salinity
-!-----------------------------------------------------------------------
-   ln_tsd_init   = .true.   !  Initialisation of ocean T & S with T &S input data (T) or not (F)
-   ln_tsd_tradmp = .false.   !  damping of ocean T & S toward T &S input data (T) or not (F)
-/
-!-----------------------------------------------------------------------
-&namsbc        !   Surface Boundary Condition (surface module)
-!-----------------------------------------------------------------------
-   nn_fsbc     = 1         !  frequency of surface boundary condition computation
-                           !     (also = the frequency of sea-ice model call)
-   ln_usr =  .false.
-   ln_blk =  .true.
-   ln_apr_dyn  = .false.    !  Patm gradient added in ocean & ice Eqs.   (T => fill namsbc_apr )
-   nn_ice      = 0         !  =0 no ice boundary condition   ,
-   ln_rnf      = .false.   !  Runoffs                                   (T => fill namsbc_rnf) 
-   ln_ssr      = .false.   !  Sea Surface Restoring on T and/or S       (T => fill namsbc_ssr)
-   ln_traqsr   = .false.   !  Light penetration in the ocean            (T => fill namtra_qsr)
-   nn_fwb      = 0         !  FreshWater Budget: =0 unchecked
-/
-
-
-!-----------------------------------------------------------------------
-&namsbc_usr  !   namsbc_surge   surge model fluxes
-!-----------------------------------------------------------------------
-   ln_use_sbc  = .false.    ! (T) to turn on surge fluxes (wind and pressure only)
-                            ! (F) for no fluxes (ie tide only case)
-
-!
-!              !  file name                    ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation !
-!              !                               !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  !
-!   sn_wndi     = 'CARIB_u10_weights_bicubic_atmos.nc'              ,       1           ,'x_wind',   .true.     , .false. , 'daily'  ,'weights_era5_INDIAN_bicubic.nc' , ''
-!   sn_wndj     = 'CARIB_v10_weights_bicubic_atmos.nc'              ,       1           ,'y_wind',   .true.     , .false. , 'daily'  ,'weights_era5_INDIAN_bicubic.nc' , ''
-   cn_dir      = './FORCING/'          !  root directory for the location of the bulk files
-   rn_vfac     = 1.                   !  multiplicative factor for ocean/ice velocity
-                                      !  in the calculation of the wind stress (0.=absolute winds or 1.=relative winds)
-   rn_charn_const = 0.0275
-/
-
-!-----------------------------------------------------------------------
-&namtra_qsr    !   penetrative solar radiation
-!-----------------------------------------------------------------------
-/
-
-!-----------------------------------------------------------------------
-&namsbc_apr    !   Atmospheric pressure used as ocean forcing or in bulk
-!-----------------------------------------------------------------------
-!          !  file name  ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!          !             !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_apr= 'ERA5_MSL',        1         ,   'air_pressure_at_sea_level' ,    .true.    , .false., 'daily'   ,  'weights_era5_INDIAN_bicubic.nc'      ,   ''     ,  'ERA5_LSM'
-   cn_dir      = './FORCING/'!  root directory for the location of the bulk files
-   rn_pref     = 101200.    !  reference atmospheric pressure   [N/m2]/
-   ln_ref_apr  = .false.    !  ref. pressure: global mean Patm (T) or a constant (F)
-   ln_apr_obc  = .true.     !  inverse barometer added to OBC ssh data
-/
-!-----------------------------------------------------------------------
-&namberg       !   iceberg parameters                                   (default: No iceberg)
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namlbc        !   lateral momentum boundary condition
-!-----------------------------------------------------------------------
-   rn_shlat    =     0     !  shlat = 0  !  0 < shlat < 2  !  shlat = 2  !  2 < shlat
-                           !  free slip  !   partial slip  !   no slip   ! strong slip
-/
-
-!-----------------------------------------------------------------------
-&nam_tide      !   tide parameters
-!-----------------------------------------------------------------------
-   ln_tide     = .true.
-   rdttideramp =    0
-   clname(1)     =   'M2'   !  name of constituent
-   clname(2)     =   'K2'
-   clname(3)     =   'S2'
-   clname(4)     =   'N2'
-   clname(5)     =   'Q1'   !  name of constituent
-   clname(6)     =   'O1'
-   clname(7)     =   'P1'
-   clname(8)     =   'K1'
-!   clname(5)     =   '2N2'
-!   clname(6)     =   'MU2'
-!   clname(7)     =   'N2'
-!   clname(8)     =   'NU2'
-!   clname(9)     =   'M2'
-!   clname(10)    =   'L2'
-!   clname(11)    =   'T2'
-!   clname(12)    =   'S2'
-!   clname(13)    =   'K2'
-!   clname(14)    =   'M4'
-!   clname(15)    =   '2MK6'
-!   clname(16)    =   '2MS6'
-!   clname(17)    =   '2SM2'
-!   clname(18)    =   '3M2S2'
-!   clname(19)    =   'Lam2'
-!   clname(20)    =   'M6'
-!   clname(21)    =   'MK3'
-!   clname(22)    =   'MN4'
-!   clname(23)    =   'MNS2'
-!   clname(24)    =   'MO3'
-!   clname(25)    =   'MS4'
-!   clname(26)    =   'MSN2'
-/
-!-----------------------------------------------------------------------
-&nambdy        !  unstructured open boundaries
-!-----------------------------------------------------------------------
-   ln_bdy     = .true.
-   nb_bdy         = 1                    !  number of open boundary sets
-   cn_coords_file = 'coordinates.bdy.nc' !  bdy coordinates files
-   cn_dyn2d       = 'flather'            !
-   nn_dyn2d_dta   =  2                   !  = 0, bdy data are equal to the initial state
-                                         !  = 1, bdy data are read in 'bdydata   .nc' files
-                                         !  = 2, use tidal harmonic forcing data from files
-                                         !  = 3, use external data AND tidal harmonic forcing
-   cn_tra        =  'frs'                ! 
-   nn_tra_dta    =  0                    !  = 0, bdy data are equal to the initial state
-                                         !  = 1, bdy data are read in 'bdydata   .nc' files
-   nn_rimwidth   = 1                    !  width of the relaxation zone
-/
-!-----------------------------------------------------------------------
-&nambdy_dta      !  open boundaries - external data
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&nambdy_tide     ! tidal forcing at open boundaries
-!-----------------------------------------------------------------------
-   filtide      = 'bdydta/ACCORD_bdytide_rotT_'         !  file name root of tidal forcing files
-   ln_bdytide_2ddta = .false. 
-   ln_bdytide_conj  = .false.                   !
-/
-!-----------------------------------------------------------------------
-&nambfr        !   bottom friction
-!-----------------------------------------------------------------------
-   nn_bfr      =    2      !  type of bottom friction :   = 0 : free slip,  = 1 : linear friction
-                           !                              = 2 : nonlinear friction
-   rn_bfri2    =    2.4e-3 !  bottom drag coefficient (non linear case)
-   rn_bfeb2    =    0.0e0  !  bottom turbulent kinetic energy background  (m2/s2)
-   ln_loglayer =   .false. !  loglayer bottom friction (only effect when nn_bfr = 2)
-   rn_bfrz0    =    0.003  !  bottom roughness (only effect when ln_loglayer = .true.)
-/
-!-----------------------------------------------------------------------
-&nambbc        !   bottom temperature boundary condition
-!-----------------------------------------------------------------------
-   ln_trabbc   = .false.   !  Apply a geothermal heating at the ocean bottom
-/
-!-----------------------------------------------------------------------
-&nambbl        !   bottom boundary layer scheme
-!-----------------------------------------------------------------------
-   nn_bbl_ldf  =  0      !  diffusive bbl (=1)   or not (=0)
-/
-!-----------------------------------------------------------------------
-&nameos        !   ocean physical parameters
-!-----------------------------------------------------------------------
-   ln_teos10   = .true.         !  = Use TEOS-10 equation of state
-/
-!-----------------------------------------------------------------------
-&namtra_adv    !   advection scheme for tracer
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namtra_adv_mle !  mixed layer eddy parametrisation (Fox-Kemper param)
-!-----------------------------------------------------------------------
-/
-!----------------------------------------------------------------------------------
-&namtra_ldf    !   lateral diffusion scheme for tracers
-!----------------------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namtra_ldfeiv !   eddy induced velocity param.                         (default: NO)
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namtra_dmp    !   tracer: T & S newtonian damping
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namdyn_adv    !   formulation of the momentum advection
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namdyn_vor    !   option of physics/algorithm (not control by CPP keys)
-!-----------------------------------------------------------------------
-   ln_dynvor_een = .true.  !  energy & enstrophy scheme
-/
-!-----------------------------------------------------------------------
-&namdyn_hpg    !   Hydrostatic pressure gradient option
-!-----------------------------------------------------------------------
-   ln_hpg_zps  = .false.   !  z-coordinate - partial steps (interpolation)
-   ln_hpg_sco  = .true.    !  s-coordinate (Standard Jacobian scheme)
-/
-!-----------------------------------------------------------------------
-&namdyn_spg    !   surface pressure gradient   (CPP key only)
-!-----------------------------------------------------------------------
-   ln_dynspg_ts = .true.    ! split-explicit free surface
-   ln_bt_auto =    .true.           !  Set nn_baro automatically to be just below
-                                       !  a user defined maximum courant number (rn_bt_cmax)
-/
-!-----------------------------------------------------------------------
-&namdyn_ldf    !   lateral diffusion on momentum
-!-----------------------------------------------------------------------
-   !                       !  Type of the operator :
-   ln_dynldf_blp  =  .true.   !  bilaplacian operator
-   ln_dynldf_lap    =  .false.  !  bilaplacian operator
-   !                       !  Direction of action  :
-   ln_dynldf_lev  =  .true.   !  iso-level
-                           !  Coefficient
-   rn_ahm_0     = 60.0      !  horizontal laplacian eddy viscosity   [m2/s]
-   rn_bhm_0     = -1.0e+9   !  horizontal bilaplacian eddy viscosity [m4/s]
-/
-!-----------------------------------------------------------------------
-&namzdf        !   vertical physics
-!-----------------------------------------------------------------------
-   rn_avm0     =   0.1e-6  !  vertical eddy viscosity   [m2/s]          (background Kz if not "key_zdfcst")
-   rn_avt0     =   0.1e-6  !  vertical eddy diffusivity [m2/s]          (background Kz if not "key_zdfcst")
-   ln_zdfevd   = .false.   !  enhanced vertical diffusion (evd) (T) or not (F)
-   nn_evdm     =    1      !  evd apply on tracer (=0) or on tracer and momentum (=1)
-/
-!-----------------------------------------------------------------------
-&namzdf_ric    !   richardson number dependent vertical diffusion       ("key_zdfric" )
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namzdf_tke    !   turbulent eddy kinetic dependent vertical diffusion  ("key_zdftke")
-!-----------------------------------------------------------------------
-/
-!------------------------------------------------------------------------
-&namzdf_kpp    !   K-Profile Parameterization dependent vertical mixing  ("key_zdfkpp", and optionally:
-!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb")
-/
-!-----------------------------------------------------------------------
-&namzdf_gls                !   GLS vertical diffusion                   ("key_zdfgls")
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namzdf_ddm    !   double diffusive mixing parameterization             ("key_zdfddm")
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namzdf_tmx    !   tidal mixing parameterization                        ("key_zdftmx")
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namsol        !   elliptic solver / island / free surface
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&nammpp        !   Massively Parallel Processing                        ("key_mpp_mpi)
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namctl        !   Control prints & Benchmark
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namnc4        !   netcdf4 chunking and compression settings            ("key_netcdf4")
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namtrd        !   diagnostics on dynamics and/or tracer trends         ("key_trddyn" and/or "key_trdtra")
-!              !       or mixed-layer trends or barotropic vorticity    ("key_trdmld" or     "key_trdvor")
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namflo       !   float parameters                                      ("key_float")
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namptr       !   Poleward Transport Diagnostic
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namhsb       !  Heat and salt budgets
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namdiu        !   Cool skin and warm layer models                       (default F)
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&nam_diaharm   !   Harmonic analysis of tidal constituents ('key_diaharm')
-!-----------------------------------------------------------------------
-    nit000_han = 1 !43201     ! First time step used for harmonic analysis
-    nitend_han = 43680 !86400      ! Last time step used for harmonic analysis
-    nstep_han  = 5         ! Time step frequency for harmonic analysis
-    tname(1)   = 'M2'      ! Name of tidal constituents
-    tname(2)   = 'K2'
-    tname(3)   = 'S2'
-/
-!-----------------------------------------------------------------------
-&namdct        ! transports through sections
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&nam_diatmb    !  Top Middle Bottom Output                               (default F)
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&nam_dia25h    !  25h Mean Output                                        (default F)
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namobs       !  observation usage switch                               ('key_diaobs')
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&nam_asminc   !   assimilation increments                               ('key_asminc')
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namsbc_wave   ! External fields from wave model
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed)
-!-----------------------------------------------------------------------
-/
-!-----------------------------------------------------------------------
-&namwad       !   Wetting and Drying namelist
-!-----------------------------------------------------------------------
-   ln_wd = .false.   !: key to turn on/off wetting/drying (T: on, F: off) 
-   rn_wdmin1=0.1     !: minimum water depth on dried cells 
-   rn_wdmin2 = 0.01  !: tolerrance of minimum water depth on dried cells
-   rn_wdld   = 20.0  !: land elevation below which wetting/drying will be considered
-   nn_wdit   =   10  !: maximum number of iteration for W/D limiter
-/
diff --git a/EXP00/namelist_ref b/EXP00/namelist_ref
deleted file mode 100755
index 7c0613d07820571e305e6e976481d09574b3307a..0000000000000000000000000000000000000000
--- a/EXP00/namelist_ref
+++ /dev/null
@@ -1,1201 +0,0 @@
-!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-!!                            namelist_ref
-!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-!! NEMO/OPA  :  1 - run manager      (namrun)
-!! namelists    2 - Domain           (namcfg, namzgr, namdom, namtsd, namcrs, namc1d, namc1d_uvd)
-!!              3 - Surface boundary (namsbc, namsbc_flx, namsbc_blk, namsbc_sas)
-!!                                    namsbc_cpl, namtra_qsr, namsbc_rnf,
-!!                                    namsbc_apr, namsbc_ssr, namsbc_alb, namsbc_wave)
-!!              4 - lateral boundary (namlbc, namagrif, nambdy, nambdy_tide)
-!!              5 - bottom  boundary (nambfr, nambbc, nambbl)
-!!              6 - Tracer           (nameos, namtra_adv, namtra_ldf, namtra_ldfeiv, namtra_dmp)
-!!              7 - dynamics         (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf)
-!!              8 - Verical physics  (namzdf, namzdf_ric, namzdf_tke, namzdf_ddm, namzdf_tmx, namzdf_tmx_new)
-!!              9 - diagnostics      (namnc4, namtrd, namspr, namflo, namhsb, namsto)
-!!             10 - miscellaneous    (nammpp, namctl)
-!!             11 - Obs & Assim      (namobs, nam_asminc)
-!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
-!!======================================================================
-!!                   ***  Run management namelists  ***
-!!======================================================================
-!!   namrun       parameters of the run
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&namrun        !   parameters of the run
-!-----------------------------------------------------------------------
-   nn_no       =       0   !  job number (no more used...)
-   cn_exp      =  "ORCA2"  !  experience name
-   nn_it000    =       1   !  first time step
-   nn_itend    =    5475   !  last  time step (std 5475)
-   nn_date0    =  010101   !  date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1)
-   nn_time0    =       0   !  initial time of day in hhmm
-   nn_leapy    =       0   !  Leap year calendar (1) or not (0)
-   ln_rstart   = .false.   !  start from rest (F) or from a restart file (T)
-      nn_euler    =    1            !  = 0 : start with forward time step if ln_rstart=T
-      nn_rstctl   =    0            !  restart control ==> activated only if ln_rstart=T
-      !                             !    = 0 nn_date0 read in namelist ; nn_it000 : read in namelist
-      !                             !    = 1 nn_date0 read in namelist ; nn_it000 : check consistancy between namelist and restart
-      !                             !    = 2 nn_date0 read in restart  ; nn_it000 : check consistancy between namelist and restart
-      cn_ocerst_in    = "restart"   !  suffix of ocean restart name (input)
-      cn_ocerst_indir = "."         !  directory from which to read input ocean restarts
-      cn_ocerst_out   = "restart"   !  suffix of ocean restart name (output)
-      cn_ocerst_outdir= "."         !  directory in which to write output ocean restarts
-   ln_iscpl    = .false.   !  cavity evolution forcing or coupling to ice sheet model
-   nn_istate   =       0   !  output the initial state (1) or not (0)
-   ln_rst_list = .false.   !  output restarts at list of times using nn_stocklist (T) or at set frequency with nn_stock (F)
-   nn_stock    =    5475   !  frequency of creation of a restart file (modulo referenced to 1)
-   nn_stocklist = 0,0,0,0,0,0,0,0,0,0 ! List of timesteps when a restart file is to be written
-   nn_write    =    5475   !  frequency of write in the output file   (modulo referenced to nn_it000)
-   ln_mskland  = .false.   !  mask land points in NetCDF outputs (costly: + ~15%)
-   ln_cfmeta   = .false.   !  output additional data to netCDF files required for compliance with the CF metadata standard
-   ln_clobber  = .true.    !  clobber (overwrite) an existing file
-   nn_chunksz  =       0   !  chunksize (bytes) for NetCDF file (works only with iom_nf90 routines)
-/
-!
-!!======================================================================
-!!                      ***  Domain namelists  ***
-!!======================================================================
-!!   namcfg       parameters of the configuration
-!!   namdom       space and time domain (bathymetry, mesh, timestep)
-!!   namwad       Wetting and drying                                    (default F)
-!!   namtsd       data: temperature & salinity
-!!   namcrs       coarsened grid (for outputs and/or TOP)               ("key_crs")
-!!   namc1d       1D configuration options                              ("key_c1d")
-!!   namc1d_dyndmp 1D newtonian damping applied on currents             ("key_c1d")
-!!   namc1d_uvd   1D data (currents)                                    ("key_c1d")
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&namcfg        !   parameters of the configuration
-!-----------------------------------------------------------------------
-   ln_read_cfg = .false.   !  (=T) read the domain configuration file
-      !                    !  (=F) user defined configuration  ==>>>  see usrdef(_...) modules
-      cn_domcfg = "domain_cfg"         ! domain configuration filename
-      !
-   ln_write_cfg= .false.   !  (=T) create the domain configuration file
-      cn_domcfg_out = "domain_cfg_out" ! newly created domain configuration filename
-      !
-   ln_use_jattr = .false.  !  use (T) the file attribute: open_ocean_jstart, if present
-   !                       !  in netcdf input files, as the start j-row for reading
-/
-!-----------------------------------------------------------------------
-&namdom        !   space and time domain (bathymetry, mesh, timestep)
-!-----------------------------------------------------------------------
-   ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
-   nn_closea   =    0      !  remove (=0) or keep (=1) closed seas and lakes (ORCA)
-   !
-   nn_msh      =    0      !  create (>0) a mesh file or not (=0)
-   rn_isfhmin  =    1.00   !  treshold (m) to discriminate grounding ice to floating ice
-   !
-   rn_rdt      = 5760.     !  time step for the dynamics (and tracer if nn_acc=0)
-   rn_atfp     =    0.1    !  asselin time filter parameter
-   !
-   ln_crs      = .false.   !  Logical switch for coarsening module
-/
-!-----------------------------------------------------------------------
-&namtsd        !   data : Temperature  & Salinity
-!-----------------------------------------------------------------------
-!              !  file name                 ! frequency (hours) ! variable ! time interp.!  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !                            !  (if <0  months)  !   name   !  (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_tem = 'initcd_votemper.nc',      -1      ,'votemper',   .false.    , .true. , 'yearly'  ,    ''    ,    ''    ,    ''
-   sn_sal = 'initcd_vosaline.nc',      -1      ,'vosaline',   .false.    , .true. , 'yearly'  ,    ''    ,    ''    ,    ''
-
-
-   !
-   cn_dir      = './'      !  root directory for the location of the runoff files
-   ln_tsd_init = .true.    !  Initialisation of ocean T & S with T & S input data (T) or not (F)
-   ln_tsd_tradmp = .true.  !  damping of ocean T & S toward T & S input data (T) or not (F)
-/
-!-----------------------------------------------------------------------
-&namwad        !   Wetting and drying                                   (default F)
-!-----------------------------------------------------------------------
-   ln_wd       = .false.   !  T/F activation of wetting and drying
-   rn_wdmin1   =  0.1      !  Minimum wet depth on dried cells
-   rn_wdmin2   =  0.01     !  Tolerance of min wet depth on dried cells
-   rn_wdld     =  20.0     !  Land elevation below which wetting/drying is allowed
-   nn_wdit     =  10       !  Max iterations for W/D limiter
-/
-!-----------------------------------------------------------------------
-&namcrs        !   coarsened grid (for outputs and/or TOP)              ("key_crs")
-!-----------------------------------------------------------------------
-   nn_factx    = 3         !  Reduction factor of x-direction
-   nn_facty    = 3         !  Reduction factor of y-direction
-   nn_binref   = 0         !  Bin centering preference: NORTH or EQUAT
-                           !  0, coarse grid is binned with preferential treatment of the north fold
-                           !  1, coarse grid is binned with centering at the equator
-                           !    Symmetry with nn_facty being odd-numbered. Asymmetry with even-numbered nn_facty.
-   nn_msh_crs  = 1         !  create (=1) a mesh file or not (=0)
-   nn_crs_kz   = 0         ! 0, MEAN of volume boxes
-                           ! 1, MAX of boxes
-                           ! 2, MIN of boxes
-   ln_crs_wn   = .true.    ! wn coarsened (T) or computed using horizontal divergence ( F )
-/
-!-----------------------------------------------------------------------
-&namc1d        !   1D configuration options                             ("key_c1d")
-!-----------------------------------------------------------------------
-   rn_lat1d    =      50   !  Column latitude (default at PAPA station)
-   rn_lon1d    =    -145   !  Column longitude (default at PAPA station)
-   ln_c1d_locpt=  .true.   ! Localization of 1D config in a grid (T) or independant point (F)
-/
-!-----------------------------------------------------------------------
-&namc1d_dyndmp !   U & V newtonian damping                              ("key_c1d")
-!-----------------------------------------------------------------------
-   ln_dyndmp   =  .false.  !  add a damping term (T) or not (F)
-/
-!-----------------------------------------------------------------------
-&namc1d_uvd    !   data: U & V currents                                 ("key_c1d")
-!-----------------------------------------------------------------------
-!              !  file name  ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !             !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_ucur     = 'ucurrent'  ,         -1        ,'u_current',   .false.    , .true. , 'monthly' ,  ''      ,  'Ume'   , ''
-   sn_vcur     = 'vcurrent'  ,         -1        ,'v_current',   .false.    , .true. , 'monthly' ,  ''      ,  'Vme'   , ''
-!
-   cn_dir        = './'    !  root directory for the location of the files
-   ln_uvd_init   = .false. !  Initialisation of ocean U & V with U & V input data (T) or not (F)
-   ln_uvd_dyndmp = .false. !  damping of ocean U & V toward U & V input data (T) or not (F)
-/
-
-!!======================================================================
-!!            ***  Surface Boundary Condition namelists  ***
-!!======================================================================
-!!   namsbc          surface boundary condition
-!!   namsbc_flx      flux               formulation                     (ln_flx     =T)
-!!   namsbc_blk      Bulk formulae formulation                          (ln_blk     =T)
-!!   namsbc_cpl      CouPLed            formulation                     ("key_oasis3" )
-!!   namsbc_sas      Stand-Alone Surface module
-!!   namtra_qsr      penetrative solar radiation                        (ln_traqsr  =T)
-!!   namsbc_rnf      river runoffs                                      (ln_rnf     =T)
-!!   namsbc_isf      ice shelf melting/freezing                         (nn_isf     >0)
-!!   namsbc_iscpl    coupling option between land ice model and ocean
-!!   namsbc_apr      Atmospheric Pressure                               (ln_apr_dyn =T)
-!!   namsbc_ssr      sea surface restoring term (for T and/or S)        (ln_ssr     =T)
-!!   namsbc_alb      albedo parameters
-!!   namsbc_wave     external fields from wave model                    (ln_wave    =T)
-!!   namberg         iceberg floats                                     (ln_icebergs=T)
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&namsbc        !   Surface Boundary Condition (surface module)
-!-----------------------------------------------------------------------
-   nn_fsbc     = 5         !  frequency of surface boundary condition computation
-                           !     (also = the frequency of sea-ice & iceberg model call)
-                     ! Type of air-sea fluxes 
-   ln_usr      = .false.   !  user defined formulation                  (T => check usrdef_sbc)
-   ln_flx      = .false.   !  flux formulation                          (T => fill namsbc_flx )
-   ln_blk      = .true.    !  Bulk formulation                          (T => fill namsbc_blk )
-                     ! Type of coupling (Ocean/Ice/Atmosphere) :
-   ln_cpl      = .false.   !  atmosphere coupled   formulation          ( requires key_oasis3 )
-   ln_mixcpl   = .false.   !  forced-coupled mixed formulation          ( requires key_oasis3 )
-   nn_components = 0       !  configuration of the opa-sas OASIS coupling
-                           !  =0 no opa-sas OASIS coupling: default single executable configuration
-                           !  =1 opa-sas OASIS coupling: multi executable configuration, OPA component
-                           !  =2 opa-sas OASIS coupling: multi executable configuration, SAS component 
-   nn_limflx = -1          !  LIM3 Multi-category heat flux formulation (use -1 if LIM3 is not used)
-                           !  =-1  Use per-category fluxes, bypass redistributor, forced mode only, not yet implemented coupled
-                           !  = 0  Average per-category fluxes (forced and coupled mode)
-                           !  = 1  Average and redistribute per-category fluxes, forced mode only, not yet implemented coupled
-                           !  = 2  Redistribute a single flux over categories (coupled mode only)
-                     ! Sea-ice :
-   nn_ice      = 3         !  =0 no ice boundary condition   ,
-                           !  =1 use observed ice-cover      ,
-                           !  =2 to 4 :  ice-model used (LIM2, LIM3 or CICE)                         ("key_lim3", "key_lim2", or "key_cice")
-   nn_ice_embd = 1         !  =0 levitating ice (no mass exchange, concentration/dilution effect)
-                           !  =1 levitating ice with mass and salt exchange but no presure effect
-                           !  =2 embedded sea-ice (full salt and mass exchanges and pressure)
-                     ! Misc. options of sbc : 
-   ln_traqsr   = .false.    !  Light penetration in the ocean            (T => fill namtra_qsr)
-   ln_dm2dc    = .false.   !  daily mean to diurnal cycle on short wave
-   ln_rnf      = .true.    !  runoffs                                   (T => fill namsbc_rnf)
-   ln_ssr      = .true.    !  Sea Surface Restoring on T and/or S       (T => fill namsbc_ssr)
-   nn_fwb      = 2         !  FreshWater Budget: =0 unchecked
-                           !     =1 global mean of e-p-r set to zero at each time step
-                           !     =2 annual global mean of e-p-r set to zero
-   ln_apr_dyn  = .false.   !  Patm gradient added in ocean & ice Eqs.   (T => fill namsbc_apr )
-   ln_isf      = .false.   !  ice shelf                                 (T   => fill namsbc_isf)
-   ln_wave     = .false.   !  Activate coupling with wave  (T => fill namsbc_wave)
-   ln_cdgw     = .false.   !  Neutral drag coefficient read from wave model (T => ln_wave=.true. & fill namsbc_wave)
-   ln_sdw      = .false.   !  Read 2D Surf Stokes Drift & Computation of 3D stokes drift (T => ln_wave=.true. & fill namsbc_wave) 
-   ln_tauoc    = .false.   !  Activate ocean stress modified by external wave induced stress (T => ln_wave=.true. & fill namsbc_wave)
-   ln_stcor    = .false.   !  Activate Stokes Coriolis term (T => ln_wave=.true. & ln_sdw=.true. & fill namsbc_wave)
-   nn_lsm      = 1         !  =0 land/sea mask for input fields is not applied (keep empty land/sea mask filename field) ,
-                           !  =1:n number of iterations of land/sea mask application for input fields (fill land/sea mask filename field)
-/
-!-----------------------------------------------------------------------
-&namsbc_flx    !   surface boundary condition : flux formulation
-!-----------------------------------------------------------------------
-!              !  file name  ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !             !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_utau     = 'utau'      ,        24         , 'utau'    , .false.      , .false., 'yearly'  , ''       , ''       , ''
-   sn_vtau     = 'vtau'      ,        24         , 'vtau'    , .false.      , .false., 'yearly'  , ''       , ''       , ''
-   sn_qtot     = 'qtot'      ,        24         , 'qtot'    , .false.      , .false., 'yearly'  , ''       , ''       , ''
-   sn_qsr      = 'qsr'       ,        24         , 'qsr'     , .false.      , .false., 'yearly'  , ''       , ''       , ''
-   sn_emp      = 'emp'       ,        24         , 'emp'     , .false.      , .false., 'yearly'  , ''       , ''       , ''
-
-   cn_dir      = './'      !  root directory for the location of the flux files
-/
-!-----------------------------------------------------------------------
-&namsbc_blk   !   namsbc_blk  generic Bulk formula                      (ln_blk = T)
-!-----------------------------------------------------------------------
-!              !  file name                   ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights                              ! rotation ! land/sea mask !
-!              !                              !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename                             ! pairing  ! filename      !
-   sn_humi=          'ERA5_SPH',                        1,            'SPH',       .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    '',       'ERA5_LSM' 
-   sn_prec=          'ERA5_TP',                         1,            'TP',        .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    '',       'ERA5_LSM'
-   sn_qlw =          'ERA5_STRD',                       1,            'STRD',      .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    '',       'ERA5_LSM'
-   sn_qsr=           'ERA5_SSRD',                       1,            'SSRD',      .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    '',       'ERA5_LSM'
-   sn_qsr=           'ERA5_SF',                       1,            'SF',      .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    '',       'ERA5_LSM' 
-   sn_snow=          'ERA5_SF',                          1,            'SF',        .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    '',       'ERA5_LSM'
-   sn_tair=          'ERA5_T2M',                         1,            'T2M',       .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    '',       'ERA5_LSM'
-   sn_wndi=          'ERA5_U10',                        1,            'U10',       .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    'Uwnd',       'ERA5_LSM'
-   sn_wndj=          'ERA5_V10',                        1,            'V10',       .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    'Vwnd',       'ERA5_LSM'
-   sn_slp=           'SPH_ERA5_SP',                     1,            'SP',        .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    '',       'ERA5_LSM'
-!   sn_tdif=          'SPH_ERA5_D2M',                    1,            'D2M',       .true.,    .false.,   'yearly',    'weights_era5_INDIAN_bicubic.nc',    '',       'ERA5_LSM'
-   !                    !  bulk algorithm :
-   ln_NCAR     = .false.   ! "NCAR"      algorithm   (Large and Yeager 2008)
-   ln_COARE_3p0= .false.   ! "COARE 3.0" algorithm   (Fairall et al. 2003)
-   ln_COARE_3p5= .false.   ! "COARE 3.5" algorithm   (Edson et al. 2013)
-   ln_ECMWF    = .true.   ! "ECMWF"     algorithm   (IFS cycle 31)
-   !
-   cn_dir      = './FORCING/'      !  root directory for the location of the bulk files
-   ln_taudif   = .false.   !  HF tau contribution: use "mean of stress module - module of the mean stress" data
-   rn_zqt      = 2.       !  Air temperature and humidity reference height (m)
-   rn_zu       = 10.       !  Wind vector reference height (m)
-   rn_pfac     = 1.     !  multiplicative factor for precipitation (total & snow)
-   rn_efac     = 1.        !  multiplicative factor for evaporation (0. or 1.)
-   rn_vfac     = 1.        !  multiplicative factor for ocean/ice velocity
-                           !  in the calculation of the wind stress (0.=absolute winds or 1.=relative winds)
-   ln_Cd_L12   = .false.   !  Modify the drag ice-atm and oce-atm depending on ice concentration
-                           !  This parameterization is from Lupkes et al. (JGR 2012)
-/
-!-----------------------------------------------------------------------
-&namsbc_cpl    !   coupled ocean/atmosphere model                       ("key_oasis3")
-!-----------------------------------------------------------------------
-!                    !     description      !  multiple  !    vector   !      vector          ! vector !
-!                    !                      ! categories !  reference  !    orientation       ! grids  !
-! send
-   sn_snd_temp   =   'weighted oce and ice' ,    'no'    ,     ''      ,         ''           ,   ''
-   sn_snd_alb    =   'weighted ice'         ,    'no'    ,     ''      ,         ''           ,   ''
-   sn_snd_thick  =   'none'                 ,    'no'    ,     ''      ,         ''           ,   ''
-   sn_snd_crt    =   'none'                 ,    'no'    , 'spherical' , 'eastward-northward' ,  'T'
-   sn_snd_co2    =   'coupled'              ,    'no'    ,     ''      ,         ''           ,   ''
-   sn_snd_crtw   =       'none'                 ,    'no'    ,     ''      ,         ''           , 'U,V'
-   sn_snd_ifrac  =       'none'                 ,    'no'    ,     ''      ,         ''           ,   ''
-   sn_snd_wlev   =       'coupled'              ,    'no'    ,     ''      ,         ''           ,   ''
-! receive
-   sn_rcv_w10m   =   'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_taumod =   'coupled'              ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_tau    =   'oce only'             ,    'no'    , 'cartesian' , 'eastward-northward',  'U,V'
-   sn_rcv_dqnsdt =   'coupled'              ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_qsr    =   'oce and ice'          ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_qns    =   'oce and ice'          ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_emp    =   'conservative'         ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_rnf    =   'coupled'              ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_cal    =   'coupled'              ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_co2    =   'coupled'              ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_hsig   =       'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_iceflx =       'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_mslp   =       'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_phioc  =       'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_sdrfx  =       'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_sdrfy  =       'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_wper   =       'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_wnum   =       'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_wstrf  =       'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-   sn_rcv_wdrag  =       'none'                 ,    'no'    ,     ''      ,         ''          ,   ''
-!
-   nn_cplmodel   =     1   !  Maximum number of models to/from which NEMO is potentialy sending/receiving data
-   ln_usecplmask = .false. !  use a coupling mask file to merge data received from several models
-   !                       !   -> file cplmask.nc with the float variable called cplmask (jpi,jpj,nn_cplmodel)
-/
-!-----------------------------------------------------------------------
-&namsbc_sas    !   Stand Alone Surface boundary condition
-!-----------------------------------------------------------------------
-!              !  file name  ! frequency (hours) ! variable  ! time interp.!  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !             !  (if <0  months)  !   name    !  (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
-   l_sasread   = .TRUE.   ! Read fields in a file if .TRUE. , or initialize to 0. in sbcssm.F90 if .FALSE.
-   sn_usp      = 'sas_grid_U',     120           , 'vozocrtx',   .true.    , .true. , 'yearly'  ,    ''    ,    ''    ,    ''
-   sn_vsp      = 'sas_grid_V',     120           , 'vomecrty',   .true.    , .true. , 'yearly'  ,    ''    ,    ''    ,    ''
-   sn_tem      = 'sas_grid_T',     120           , 'sosstsst',   .true.    , .true. , 'yearly'  ,    ''    ,    ''    ,    ''
-   sn_sal      = 'sas_grid_T',     120           , 'sosaline',   .true.    , .true. , 'yearly'  ,    ''    ,    ''    ,    ''
-   sn_ssh      = 'sas_grid_T',     120           , 'sossheig',   .true.    , .true. , 'yearly'  ,    ''    ,    ''    ,    ''
-   sn_e3t      = 'sas_grid_T',     120           , 'e3t_m'   ,   .true.    , .true. , 'yearly'  ,    ''    ,    ''    ,    ''
-   sn_frq      = 'sas_grid_T',     120           , 'frq_m'   ,   .true.    , .true. , 'yearly'  ,    ''    ,    ''    ,    ''
-
-   ln_3d_uve   = .true.    !  specify whether we are supplying a 3D u,v and e3 field
-   ln_read_frq = .false.   !  specify whether we must read frq or not
-   cn_dir      = './'      !  root directory for the location of the bulk files are
-/
-!-----------------------------------------------------------------------
-&namtra_qsr    !   penetrative solar radiation                          (ln_traqsr=T)
-!-----------------------------------------------------------------------
-!              !  file name  ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !             !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_chl      ='chlorophyll',        -1         , 'CHLA'    ,   .true.     , .true. , 'yearly'  , ''       , ''       , ''
-
-   cn_dir      = './'      !  root directory for the location of the runoff files
-   ln_qsr_rgb  = .true.    !  RGB (Red-Green-Blue) light penetration
-   ln_qsr_2bd  = .false.   !  2 bands              light penetration
-   ln_qsr_bio  = .false.   !  bio-model light penetration
-   nn_chldta   =      1    !  RGB : Chl data (=1) or cst value (=0)
-   rn_abs      =   0.58    !  RGB & 2 bands: fraction of light (rn_si1)
-   rn_si0      =   0.35    !  RGB & 2 bands: shortess depth of extinction
-   rn_si1      =   23.0    !  2 bands: longest depth of extinction
-   ln_qsr_ice  = .false.    !  light penetration for ice-model LIM3
-/
-!-----------------------------------------------------------------------
-&namsbc_rnf    !   runoffs namelist surface boundary condition          (ln_rnf=T)
-!-----------------------------------------------------------------------
-!              !  file name           ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !                      !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_rnf      = 'runoff_core_monthly',        -1         , 'sorunoff',   .true.     , .true. , 'yearly'  , ''       , ''       , ''
-   sn_cnf      = 'runoff_core_monthly',         0         , 'socoefr0',   .false.    , .true. , 'yearly'  , ''       , ''       , ''
-   sn_s_rnf    = 'runoffs'            ,        24         , 'rosaline',   .true.     , .true. , 'yearly'  , ''       , ''       , ''
-   sn_t_rnf    = 'runoffs'            ,        24         , 'rotemper',   .true.     , .true. , 'yearly'  , ''       , ''       , ''
-   sn_dep_rnf  = 'runoffs'            ,         0         , 'rodepth' ,   .false.    , .true. , 'yearly'  , ''       , ''       , ''
-
-   cn_dir      = './'      !  root directory for the location of the runoff files
-   ln_rnf_mouth= .true.    !  specific treatment at rivers mouths
-      rn_hrnf     =  15.e0    !  depth over which enhanced vertical mixing is used    (ln_rnf_mouth=T)
-      rn_avt_rnf  =   1.e-3   !  value of the additional vertical mixing coef. [m2/s] (ln_rnf_mouth=T)
-   rn_rfact    =   1.e0    !  multiplicative factor for runoff
-   ln_rnf_depth= .false.   !  read in depth information for runoff
-   ln_rnf_tem  = .false.   !  read in temperature information for runoff
-   ln_rnf_sal  = .false.   !  read in salinity information for runoff
-   ln_rnf_depth_ini = .false. ! compute depth at initialisation from runoff file
-      rn_rnf_max  = 5.735e-4  !  max value of the runoff climatologie over global domain ( ln_rnf_depth_ini = .true )
-      rn_dep_max  = 150.      !  depth over which runoffs is spread ( ln_rnf_depth_ini = .true )
-      nn_rnf_depth_file = 0   !  create (=1) a runoff depth file or not (=0)
-/
-!-----------------------------------------------------------------------
-&namsbc_isf    !  Top boundary layer (ISF)                              (nn_isf >0)
-!-----------------------------------------------------------------------
-!              ! file name ! frequency (hours) ! variable ! time interp.!  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !           !  (if <0  months)  !   name   !  (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
-! nn_isf == 4
-   sn_fwfisf   = 'rnfisf'  ,         -12       ,'sowflisf',   .false.   , .true. , 'yearly'  ,    ''    ,   ''     ,    ''
-! nn_isf == 3
-   sn_rnfisf   = 'rnfisf'  ,         -12       ,'sofwfisf',   .false.   , .true. , 'yearly'  ,    ''    ,   ''     ,    ''
-! nn_isf == 2 and 3
-   sn_depmax_isf='rnfisf'  ,         -12       ,'sozisfmax',  .false.   , .true. , 'yearly'  ,    ''    ,   ''     ,    ''
-   sn_depmin_isf='rnfisf'  ,         -12       ,'sozisfmin',  .false.   , .true. , 'yearly'  ,    ''    ,   ''     ,    ''
-! nn_isf == 2
-   sn_Leff_isf = 'rnfisf'  ,         -12       ,'Leff'    ,   .false.   , .true. , 'yearly'  ,    ''    ,   ''     ,    ''
-!
-! for all case
-   nn_isf      = 1         !  ice shelf melting/freezing
-                           !  1 = presence of ISF    2 = bg03 parametrisation 
-                           !  3 = rnf file for isf   4 = ISF fwf specified
-                           !  option 1 and 4 need ln_isfcav = .true. (domzgr)
-! only for nn_isf = 1 or 2
-   rn_gammat0  = 1.e-4     ! gammat coefficient used in blk formula
-   rn_gammas0  = 1.e-4     ! gammas coefficient used in blk formula
-! only for nn_isf = 1 or 4
-   rn_hisf_tbl =  30.      ! thickness of the top boundary layer    (Losh et al. 2008)
-   !                       ! 0 => thickness of the tbl = thickness of the first wet cell
-! only for nn_isf = 1
-   nn_isfblk   = 1         ! 1 ISOMIP  like: 2 equations formulation (Hunter et al., 2006)
-   !                       ! 2 ISOMIP+ like: 3 equations formulation (Asay-Davis et al., 2015)
-   nn_gammablk = 1         ! 0 = cst Gammat (= gammat/s)
-   !                       ! 1 = velocity dependend Gamma (u* * gammat/s)  (Jenkins et al. 2010)
-   !                       ! 2 = velocity and stability dependent Gamma    (Holland et al. 1999)
-/
-!-----------------------------------------------------------------------
-&namsbc_iscpl  !   land ice / ocean coupling option                     
-!-----------------------------------------------------------------------
-   nn_drown    = 10        ! number of iteration of the extrapolation loop (fill the new wet cells)
-   ln_hsb      = .false.   ! activate conservation module (conservation exact after a time of rn_fiscpl)
-   nn_fiscpl   = 43800     ! (number of time step) conservation period (maybe should be fix to the coupling frequencey of restart frequency)
-/
-!-----------------------------------------------------------------------
-&namsbc_apr    !   Atmospheric pressure used as ocean forcing           (ln_apr_dyn =T)
-!-----------------------------------------------------------------------
-!              ! file name ! frequency (hours) ! variable ! time interp.!  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !           !  (if <0  months)  !   name   !  (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_apr      = 'patm'    ,         -1        ,'somslpre',   .true.    , .true. , 'yearly'  ,    ''    ,    ''    ,      ''
-
-   cn_dir      = './'      !  root directory for the location of the bulk files
-   rn_pref     = 101000.   !  reference atmospheric pressure   [N/m2]/
-   ln_ref_apr  = .false.   !  ref. pressure: global mean Patm (T) or a constant (F)
-   ln_apr_obc  = .false.   !  inverse barometer added to OBC ssh data
-/
-!-----------------------------------------------------------------------
-&namsbc_ssr    !   surface boundary condition : sea surface restoring   (ln_ssr=T)
-!-----------------------------------------------------------------------
-!              ! file name ! frequency (hours) ! variable ! time interp.!  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !           !  (if <0  months)  !   name   !   (logical) !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_sst      = 'sst_data',        24         ,  'sst'   ,    .false.  , .false., 'yearly'  ,    ''    ,    ''    ,     ''
-   sn_sss      = 'sss_data',        -1         ,  'sss'   ,    .true.   , .true. , 'yearly'  ,    ''    ,    ''    ,     ''
-
-   cn_dir      = './'      !  root directory for the location of the runoff files
-   nn_sstr     =     0     !  add a retroaction term in the surface heat       flux (=1) or not (=0)
-   nn_sssr     =     2     !  add a damping     term in the surface freshwater flux (=2)
-                           !  or to SSS only (=1) or no damping term (=0)
-   rn_dqdt     =   -40.    !  magnitude of the retroaction on temperature   [W/m2/K]
-   rn_deds     =  -166.67  !  magnitude of the damping on salinity   [mm/day]
-   ln_sssr_bnd =  .true.   !  flag to bound erp term (associated with nn_sssr=2)
-   rn_sssr_bnd =   4.e0    !  ABS(Max/Min) value of the damping erp term [mm/day]
-/
-!-----------------------------------------------------------------------
-&namsbc_alb    !   albedo parameters
-!-----------------------------------------------------------------------
-   nn_ice_alb   =    1   !  parameterization of ice/snow albedo
-                         !     0: Shine & Henderson-Sellers (JGR 1985), giving clear-sky albedo
-                         !     1: "home made" based on Brandt et al. (JClim 2005) and Grenfell & Perovich (JGR 2004),
-                         !        giving cloud-sky albedo
-   rn_alb_sdry  =  0.85  !  dry snow albedo         : 0.80 (nn_ice_alb = 0); 0.85 (nn_ice_alb = 1); obs 0.85-0.87 (cloud-sky)
-   rn_alb_smlt  =  0.75  !  melting snow albedo     : 0.65 ( '' )          ; 0.75 ( '' )          ; obs 0.72-0.82 ( '' )
-   rn_alb_idry  =  0.60  !  dry ice albedo          : 0.72 ( '' )          ; 0.60 ( '' )          ; obs 0.54-0.65 ( '' )
-   rn_alb_imlt  =  0.50  !  bare puddled ice albedo : 0.53 ( '' )          ; 0.50 ( '' )          ; obs 0.49-0.58 ( '' )
-/
-!-----------------------------------------------------------------------
-&namsbc_wave   ! External fields from wave model                        (ln_wave=T)
-!-----------------------------------------------------------------------
-!              !  file name  ! frequency (hours) ! variable     ! time interp. !  clim   ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !             !  (if <0  months)  !   name       !   (logical)  !  (T/F)  ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_cdg      =  'sdw_wave' ,        1          , 'drag_coeff' ,     .true.   , .false. , 'daily'   ,  ''      , ''       , ''
-   sn_usd      =  'sdw_wave' ,        1          , 'u_sd2d'     ,     .true.   , .false. , 'daily'   ,  ''      , ''       , ''
-   sn_vsd      =  'sdw_wave' ,        1          , 'v_sd2d'     ,     .true.   , .false. , 'daily'   ,  ''      , ''       , ''
-   sn_hsw      =  'sdw_wave' ,        1          , 'hs'         ,     .true.   , .false. , 'daily'   ,  ''      , ''       , ''
-   sn_wmp      =  'sdw_wave' ,        1          , 'wmp'        ,     .true.   , .false. , 'daily'   ,  ''      , ''       , ''
-   sn_wnum     =  'sdw_wave' ,        1          , 'wave_num'   ,     .true.   , .false. , 'daily'   ,  ''      , ''       , ''
-   sn_tauoc    =  'sdw_wave' ,        1          , 'wave_stress',     .true.   , .false. , 'daily'   ,  ''      , ''       , ''
-!
-   cn_dir  = './'  !  root directory for the location of drag coefficient files
-/
-!-----------------------------------------------------------------------
-&namberg       !   iceberg parameters                                   (default: No iceberg)
-!-----------------------------------------------------------------------
-   ln_icebergs              = .false.              ! iceberg floats or not
-   ln_bergdia               = .true.               ! Calculate budgets
-   nn_verbose_level         = 1                    ! Turn on more verbose output if level > 0
-   nn_verbose_write         = 15                   ! Timesteps between verbose messages
-   nn_sample_rate           = 1                    ! Timesteps between sampling for trajectory storage
-                                                   ! Initial mass required for an iceberg of each class
-   rn_initial_mass          = 8.8e7, 4.1e8, 3.3e9, 1.8e10, 3.8e10, 7.5e10, 1.2e11, 2.2e11, 3.9e11, 7.4e11
-                                                   ! Proportion of calving mass to apportion to each class
-   rn_distribution          = 0.24, 0.12, 0.15, 0.18, 0.12, 0.07, 0.03, 0.03, 0.03, 0.02
-                                                   ! Ratio between effective and real iceberg mass (non-dim)
-                                                   ! i.e. number of icebergs represented at a point
-   rn_mass_scaling          = 2000, 200, 50, 20, 10, 5, 2, 1, 1, 1
-                                                   ! thickness of newly calved bergs (m)
-   rn_initial_thickness     = 40., 67., 133., 175., 250., 250., 250., 250., 250., 250.
-   rn_rho_bergs             = 850.                 ! Density of icebergs
-   rn_LoW_ratio             = 1.5                  ! Initial ratio L/W for newly calved icebergs
-   ln_operator_splitting    = .true.               ! Use first order operator splitting for thermodynamics
-   rn_bits_erosion_fraction = 0.                   ! Fraction of erosion melt flux to divert to bergy bits
-   rn_sicn_shift            = 0.                   ! Shift of sea-ice concn in erosion flux (0<sicn_shift<1)
-   ln_passive_mode          = .false.              ! iceberg - ocean decoupling
-   nn_test_icebergs         =  10                  ! Create test icebergs of this class (-1 = no)
-                                                   ! Put a test iceberg at each gridpoint in box (lon1,lon2,lat1,lat2)
-   rn_test_box              = 108.0,  116.0, -66.0, -58.0
-   rn_speed_limit           = 0.                   ! CFL speed limit for a berg
-
-!         ! file name ! frequency (hours) !   variable   ! time interp. !  clim   ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!         !           !  (if <0  months)  !     name     !   (logical)  !  (T/F ) ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_icb =  'calving',       -1          , 'calvingmask',  .true.      , .true.  , 'yearly'  , ''       , ''       , ''
-
-   cn_dir = './'
-/
-
-!!======================================================================
-!!               ***  Lateral boundary condition  ***
-!!======================================================================
-!!   namlbc        lateral momentum boundary condition
-!!   namagrif      agrif nested grid ( read by child model only )       ("key_agrif")
-!!   nam_tide      Tidal forcing 
-!!   nambdy        Unstructured open boundaries                         
-!!   nambdy_dta    Unstructured open boundaries - external data         
-!!   nambdy_tide   tidal forcing at open boundaries                     
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&namlbc        !   lateral momentum boundary condition
-!-----------------------------------------------------------------------
-   !                       !  free slip  !   partial slip  !   no slip   ! strong slip
-   rn_shlat    =    2.     !  shlat = 0  !  0 < shlat < 2  !  shlat = 2  !  2 < shlat
-   ln_vorlat   = .false.   !  consistency of vorticity boundary condition with analytical Eqs.
-/
-!-----------------------------------------------------------------------
-&namagrif      !  AGRIF zoom                                            ("key_agrif")
-!-----------------------------------------------------------------------
-   nn_cln_update =    3    !  baroclinic update frequency
-   ln_spc_dyn    = .true.  !  use 0 as special value for dynamics
-   rn_sponge_tra = 2880.   !  coefficient for tracer   sponge layer [m2/s]
-   rn_sponge_dyn = 2880.   !  coefficient for dynamics sponge layer [m2/s]
-   ln_chk_bathy  = .FALSE. !
-/
-!-----------------------------------------------------------------------
-&nam_tide      !   tide parameters
-!-----------------------------------------------------------------------
-   ln_tide     = .false.
-   ln_tide_pot = .true.    !  use tidal potential forcing
-   ln_tide_ramp= .false.   !
-   rdttideramp =    0.     !
-   clname(1)   = 'DUMMY'   !  name of constituent - all tidal components must be set in namelist_cfg
-/
-!-----------------------------------------------------------------------
-&nambdy        !  unstructured open boundaries                          
-!-----------------------------------------------------------------------
-    ln_bdy         = .false.              !  Use unstructured open boundaries
-    nb_bdy         = 0                    !  number of open boundary sets
-    ln_coords_file = .true.               !  =T : read bdy coordinates from file
-    cn_coords_file = 'coordinates.bdy.nc' !  bdy coordinates files
-    ln_mask_file   = .false.              !  =T : read mask from file
-    cn_mask_file   = ''                   !  name of mask file (if ln_mask_file=.TRUE.)
-    cn_dyn2d       = 'none'               !
-    nn_dyn2d_dta   =  0                   !  = 0, bdy data are equal to the initial state
-                                          !  = 1, bdy data are read in 'bdydata   .nc' files
-                                          !  = 2, use tidal harmonic forcing data from files
-                                          !  = 3, use external data AND tidal harmonic forcing
-    cn_dyn3d      =  'none'               !
-    nn_dyn3d_dta  =  0                    !  = 0, bdy data are equal to the initial state
-                                          !  = 1, bdy data are read in 'bdydata   .nc' files
-    cn_tra        =  'none'               !
-    nn_tra_dta    =  0                    !  = 0, bdy data are equal to the initial state
-                                          !  = 1, bdy data are read in 'bdydata   .nc' files
-    cn_ice_lim      =  'none'             !
-    nn_ice_lim_dta  =  0                  !  = 0, bdy data are equal to the initial state
-                                          !  = 1, bdy data are read in 'bdydata   .nc' files
-    rn_ice_tem      = 270.                !  lim3 only: arbitrary temperature of incoming sea ice
-    rn_ice_sal      = 10.                 !  lim3 only:      --   salinity           --
-    rn_ice_age      = 30.                 !  lim3 only:      --   age                --
-
-    ln_tra_dmp    =.false.                !  open boudaries conditions for tracers
-    ln_dyn3d_dmp  =.false.                !  open boundary condition for baroclinic velocities
-    rn_time_dmp   =  1.                   ! Damping time scale in days
-    rn_time_dmp_out =  1.                 ! Outflow damping time scale
-    nn_rimwidth   = 10                    !  width of the relaxation zone
-    ln_vol        = .false.               !  total volume correction (see nn_volctl parameter)
-    nn_volctl     = 1                     !  = 0, the total water flux across open boundaries is zero
-    nb_jpk_bdy    = -1                    ! number of levels in the bdy data (set < 0 if consistent with planned run)
-/
-!-----------------------------------------------------------------------
-&nambdy_dta    !  open boundaries - external data                       
-!-----------------------------------------------------------------------
-!              !  file name      ! frequency (hours) ! variable  ! time interp.!  clim   ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !                 !  (if <0  months)  !   name    !  (logical)  !  (T/F ) ! 'monthly' ! filename ! pairing  ! filename      !
-   bn_ssh      = 'amm12_bdyT_u2d',         24        , 'sossheig',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-   bn_u2d      = 'amm12_bdyU_u2d',         24        , 'vobtcrtx',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-   bn_v2d      = 'amm12_bdyV_u2d',         24        , 'vobtcrty',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-   bn_u3d      = 'amm12_bdyU_u3d',         24        , 'vozocrtx',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-   bn_v3d      = 'amm12_bdyV_u3d',         24        , 'vomecrty',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-   bn_tem      = 'amm12_bdyT_tra',         24        , 'votemper',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-   bn_sal      = 'amm12_bdyT_tra',         24        , 'vosaline',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-! for lim2
-!   bn_frld    = 'amm12_bdyT_ice',         24        , 'ileadfra',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-!   bn_hicif   = 'amm12_bdyT_ice',         24        , 'iicethic',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-!   bn_hsnif   = 'amm12_bdyT_ice',         24        , 'isnowthi',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-! for lim3
-!   bn_a_i     = 'amm12_bdyT_ice',         24        , 'ileadfra',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-!   bn_ht_i    = 'amm12_bdyT_ice',         24        , 'iicethic',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-!   bn_ht_s    = 'amm12_bdyT_ice',         24        , 'isnowthi',    .true.   , .false. ,  'daily'  ,    ''    ,   ''     ,     ''
-
-   cn_dir      = 'bdydta/' !  root directory for the location of the bulk files
-   ln_full_vel = .false.   !  
-/
-!-----------------------------------------------------------------------
-&nambdy_tide   !  tidal forcing at open boundaries
-!-----------------------------------------------------------------------
-   filtide          = 'bdydta/amm12_bdytide_'   !  file name root of tidal forcing files
-   ln_bdytide_2ddta = .false.                   !
-   ln_bdytide_conj  = .false.                   ! 
-/
-
-!!======================================================================
-!!                 ***  Bottom boundary condition  ***
-!!======================================================================
-!!   nambfr        bottom friction
-!!   nambbc        bottom temperature boundary condition
-!!   nambbl        bottom boundary layer scheme                         ("key_trabbl")
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&nambfr        !   bottom friction                                      (default: linear)
-!-----------------------------------------------------------------------
-   nn_bfr      =    1      !  type of bottom friction :   = 0 : free slip,  = 1 : linear friction
-                           !                              = 2 : nonlinear friction
-   rn_bfri1    =    4.e-4  !  bottom drag coefficient (linear case)
-   rn_bfri2    =    1.e-3  !  bottom drag coefficient (non linear case). Minimum coeft if ln_loglayer=T
-   rn_bfri2_max=    1.e-1  !  max. bottom drag coefficient (non linear case and ln_loglayer=T)
-   rn_bfeb2    =    2.5e-3 !  bottom turbulent kinetic energy background  (m2/s2)
-   rn_bfrz0    =    3.e-3  !  bottom roughness [m] if ln_loglayer=T
-   ln_bfr2d    = .false.   !  horizontal variation of the bottom friction coef (read a 2D mask file )
-   rn_bfrien   =    50.    !  local multiplying factor of bfr (ln_bfr2d=T)
-   rn_tfri1    =    4.e-4  !  top drag coefficient (linear case)
-   rn_tfri2    =    2.5e-3 !  top drag coefficient (non linear case). Minimum coeft if ln_loglayer=T
-   rn_tfri2_max=    1.e-1  !  max. top drag coefficient (non linear case and ln_loglayer=T)
-   rn_tfeb2    =    0.0    !  top turbulent kinetic energy background  (m2/s2)
-   rn_tfrz0    =    3.e-3  !  top roughness [m] if ln_loglayer=T
-   ln_tfr2d    = .false.   !  horizontal variation of the top friction coef (read a 2D mask file )
-   rn_tfrien   =   50.     !  local multiplying factor of tfr (ln_tfr2d=T)
-
-   ln_bfrimp   = .true.    !  implicit bottom friction (requires ln_zdfexp = .false. if true)
-   ln_loglayer = .false.   !  logarithmic formulation (non linear case)
-/
-!-----------------------------------------------------------------------
-&nambbc        !   bottom temperature boundary condition                (default: NO)
-!-----------------------------------------------------------------------
-!              !  file name      ! frequency (hours) ! variable  ! time interp.!  clim   ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
-!              !                 !  (if <0  months)  !   name    !  (logical)  !  (T/F ) ! 'monthly' ! filename ! pairing  ! filename      !
-   sn_qgh      ='geothermal_heating.nc',  -12.       , 'heatflow',   .false.   , .true.  , 'yearly'  ,   ''     ,   ''     ,   ''
-   !
-   ln_trabbc   = .false.   !  Apply a geothermal heating at the ocean bottom
-   nn_geoflx   =    2      !  geothermal heat flux: = 0 no flux
-                           !     = 1 constant flux
-                           !     = 2 variable flux (read in geothermal_heating.nc in mW/m2)
-   rn_geoflx_cst = 86.4e-3 !  Constant value of geothermal heat flux [W/m2]
-   cn_dir      = './'      !  root directory for the location of the runoff files 
-/
-!-----------------------------------------------------------------------
-&nambbl        !   bottom boundary layer scheme                         ("key_trabbl")
-!-----------------------------------------------------------------------
-   nn_bbl_ldf  =  1        !  diffusive bbl (=1)   or not (=0)
-   nn_bbl_adv  =  0        !  advective bbl (=1/2) or not (=0)
-   rn_ahtbbl   =  1000.    !  lateral mixing coefficient in the bbl  [m2/s]
-   rn_gambbl   =  10.      !  advective bbl coefficient                 [s]
-/
-
-!!======================================================================
-!!                        Tracer (T & S ) namelists
-!!======================================================================
-!!   nameos           equation of state
-!!   namtra_adv       advection scheme
-!!   namtra_adv_mle   mixed layer eddy param. (Fox-Kemper param.)
-!!   namtra_ldf       lateral diffusion scheme
-!!   namtra_ldfeiv    eddy induced velocity param.
-!!   namtra_dmp       T & S newtonian damping
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&nameos        !   ocean physical parameters
-!-----------------------------------------------------------------------
-   ln_teos10   = .false.         !  = Use TEOS-10 equation of state
-   ln_eos80    = .false.         !  = Use EOS80 equation of state
-   ln_seos     = .false.         !  = Use simplified equation of state (S-EOS)
-                                 !
-   !                     ! S-EOS coefficients (ln_seos=T):
-   !                             !  rd(T,S,Z)*rau0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS
-   rn_a0       =  1.6550e-1      !  thermal expension coefficient
-   rn_b0       =  7.6554e-1      !  saline  expension coefficient
-   rn_lambda1  =  5.9520e-2      !  cabbeling coeff in T^2  (=0 for linear eos)
-   rn_lambda2  =  7.4914e-4      !  cabbeling coeff in S^2  (=0 for linear eos)
-   rn_mu1      =  1.4970e-4      !  thermobaric coeff. in T (=0 for linear eos)
-   rn_mu2      =  1.1090e-5      !  thermobaric coeff. in S (=0 for linear eos)
-   rn_nu       =  2.4341e-3      !  cabbeling coeff in T*S  (=0 for linear eos)
-/
-!-----------------------------------------------------------------------
-&namtra_adv    !   advection scheme for tracer                          (default: NO advection)
-!-----------------------------------------------------------------------
-   ln_traadv_cen = .false. !  2nd order centered scheme
-      nn_cen_h   =  4            !  =2/4, horizontal 2nd order CEN / 4th order CEN
-      nn_cen_v   =  4            !  =2/4, vertical   2nd order CEN / 4th order COMPACT
-   ln_traadv_fct = .false. !  FCT scheme
-      nn_fct_h   =  2            !  =2/4, horizontal 2nd / 4th order 
-      nn_fct_v   =  2            !  =2/4, vertical   2nd / COMPACT 4th order 
-      nn_fct_zts =  0            !  >=1,  2nd order FCT scheme with vertical sub-timestepping
-      !                          !        (number of sub-timestep = nn_fct_zts)
-   ln_traadv_mus = .false. !  MUSCL scheme
-      ln_mus_ups = .false.       !  use upstream scheme near river mouths
-   ln_traadv_ubs = .false. !  UBS scheme
-      nn_ubs_v   =  2            !  =2  , vertical 2nd order FCT / COMPACT 4th order
-   ln_traadv_qck = .true. !  QUICKEST scheme
-/
-!-----------------------------------------------------------------------
-&namtra_adv_mle !   mixed layer eddy parametrisation (Fox-Kemper param) (default: NO)
-!-----------------------------------------------------------------------
-   ln_mle      = .false.   ! (T) use the Mixed Layer Eddy (MLE) parameterisation
-   rn_ce       = 0.06      ! magnitude of the MLE (typical value: 0.06 to 0.08)
-   nn_mle      = 1         ! MLE type: =0 standard Fox-Kemper ; =1 new formulation
-   rn_lf       = 5.e+3     ! typical scale of mixed layer front (meters)                      (case rn_mle=0)
-   rn_time     = 172800.   ! time scale for mixing momentum across the mixed layer (seconds)  (case rn_mle=0)
-   rn_lat      = 20.       ! reference latitude (degrees) of MLE coef.                        (case rn_mle=1)
-   nn_mld_uv   = 0         ! space interpolation of MLD at u- & v-pts (0=min,1=averaged,2=max)
-   nn_conv     = 0         ! =1 no MLE in case of convection ; =0 always MLE
-   rn_rho_c_mle= 0.01      ! delta rho criterion used to calculate MLD for FK
-/
-!-----------------------------------------------------------------------
-&namtra_ldf    !   lateral diffusion scheme for tracers                 (default: NO diffusion)
-!-----------------------------------------------------------------------
-   !                       !  Operator type:
-   !                           !  no diffusion: set ln_traldf_lap=..._blp=F 
-   ln_traldf_lap   =  .false.  !    laplacian operator
-   ln_traldf_blp   =  .false.  !  bilaplacian operator
-   !
-   !                       !  Direction of action:
-   ln_traldf_lev   =  .false.  !  iso-level
-   ln_traldf_hor   =  .false.  !  horizontal (geopotential)
-   ln_traldf_iso   =  .false.  !  iso-neutral (standard operator)
-   ln_traldf_triad =  .false.  !  iso-neutral (triad    operator)
-   !
-   !		       	         !  iso-neutral options:        
-   ln_traldf_msc   =  .false.  !  Method of Stabilizing Correction (both operators)
-   rn_slpmax       =   0.01    !  slope limit                      (both operators)
-   ln_triad_iso    =  .false.  !  pure horizontal mixing in ML              (triad only)
-   rn_sw_triad     =  1        !  =1 switching triad ; =0 all 4 triads used (triad only)
-   ln_botmix_triad =  .false.  !  lateral mixing on bottom                  (triad only)
-   !
-   !                       !  Coefficients:
-   nn_aht_ijk_t    = 0         !  space/time variation of eddy coef
-   !                                !   =-20 (=-30)    read in eddy_diffusivity_2D.nc (..._3D.nc) file
-   !                                !   =  0           constant 
-   !                                !   = 10 F(k)      =ldf_c1d 
-   !                                !   = 20 F(i,j)    =ldf_c2d 
-   !                                !   = 21 F(i,j,t)  =Treguier et al. JPO 1997 formulation
-   !                                !   = 30 F(i,j,k)  =ldf_c2d * ldf_c1d
-   !                                !   = 31 F(i,j,k,t)=F(local velocity and grid-spacing)
-   rn_aht_0        = 2000.     !  lateral eddy diffusivity   (lap. operator) [m2/s]
-   rn_bht_0        = 1.e+12    !  lateral eddy diffusivity (bilap. operator) [m4/s]
-/
-!-----------------------------------------------------------------------
-&namtra_ldfeiv !   eddy induced velocity param.                         (default: NO)
-!-----------------------------------------------------------------------
-   ln_ldfeiv     =.false.  ! use eddy induced velocity parameterization
-   ln_ldfeiv_dia =.false.  ! diagnose eiv stream function and velocities
-   rn_aeiv_0     = 2000.   ! eddy induced velocity coefficient   [m2/s]
-   nn_aei_ijk_t  = 21      ! space/time variation of the eiv coeficient
-   !                                !   =-20 (=-30)    read in eddy_induced_velocity_2D.nc (..._3D.nc) file
-   !                                !   =  0           constant 
-   !                                !   = 10 F(k)      =ldf_c1d 
-   !                                !   = 20 F(i,j)    =ldf_c2d 
-   !                                !   = 21 F(i,j,t)  =Treguier et al. JPO 1997 formulation
-   !                                !   = 30 F(i,j,k)  =ldf_c2d + ldf_c1d
-/
-!-----------------------------------------------------------------------
-&namtra_dmp    !   tracer: T & S newtonian damping                      (default: NO)
-!-----------------------------------------------------------------------
-   ln_tradmp   =  .false.   !  add a damping termn (T) or not (F)
-   nn_zdmp     =    0      !  vertical   shape =0    damping throughout the water column
-                           !                   =1 no damping in the mixing layer (kz  criteria)
-                           !                   =2 no damping in the mixed  layer (rho crieria)
-   cn_resto    ='resto.nc' !  Name of file containing restoration coeff. field (use dmp_tools to create this)
-/
-
-!!======================================================================
-!!                      ***  Dynamics namelists  ***
-!!======================================================================
-!!   namdyn_adv    formulation of the momentum advection
-!!   namdyn_vor    advection scheme
-!!   namdyn_hpg    hydrostatic pressure gradient
-!!   namdyn_spg    surface pressure gradient
-!!   namdyn_ldf    lateral diffusion scheme
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&namdyn_adv    !   formulation of the momentum advection                (default: vector form)
-!-----------------------------------------------------------------------
-   ln_dynadv_vec = .true.  !  vector form (T) or flux form (F)
-   nn_dynkeg     = 0       ! scheme for grad(KE): =0   C2  ;  =1   Hollingsworth correction
-   ln_dynadv_cen2= .false. !  flux form - 2nd order centered scheme
-   ln_dynadv_ubs = .false. !  flux form - 3rd order UBS      scheme
-   ln_dynzad_zts = .false. !  Use (T) sub timestepping for vertical momentum advection
-/
-!-----------------------------------------------------------------------
-&nam_vvl    !   vertical coordinate options                             (default: zstar)
-!-----------------------------------------------------------------------
-   ln_vvl_zstar  = .true.           !  zstar vertical coordinate
-   ln_vvl_ztilde = .false.          !  ztilde vertical coordinate: only high frequency variations
-   ln_vvl_layer  = .false.          !  full layer vertical coordinate
-   ln_vvl_ztilde_as_zstar = .false. !  ztilde vertical coordinate emulating zstar
-   ln_vvl_zstar_at_eqtor  = .false. !  ztilde near the equator
-   rn_ahe3       = 0.0e0            !  thickness diffusion coefficient
-   rn_rst_e3t    = 30.e0            !  ztilde to zstar restoration timescale [days]
-   rn_lf_cutoff  = 5.0e0            !  cutoff frequency for low-pass filter  [days]
-   rn_zdef_max   = 0.9e0            !  maximum fractional e3t deformation
-   ln_vvl_dbg    = .true.           !  debug prints    (T/F)
-/
-!-----------------------------------------------------------------------
-&namdyn_vor    !   Vorticity / Coriolis scheme                          (default: NO)
-!-----------------------------------------------------------------------
-   ln_dynvor_ene = .false. !  enstrophy conserving scheme
-   ln_dynvor_ens = .false. !  energy conserving scheme
-   ln_dynvor_mix = .false. !  mixed scheme
-   ln_dynvor_een = .false. !  energy & enstrophy scheme
-      nn_een_e3f = 1          ! e3f = masked averaging of e3t divided by 4 (=0) or by the sum of mask (=1)
-   ln_dynvor_msk = .false. !  vorticity multiplied by fmask (=T) or not (=F) (all vorticity schemes)  ! PLEASE DO NOT ACTIVATE
-/
-!-----------------------------------------------------------------------
-&namdyn_hpg    !   Hydrostatic pressure gradient option                 (default: zps)
-!-----------------------------------------------------------------------
-   ln_hpg_zco  = .false.   !  z-coordinate - full steps
-   ln_hpg_zps  = .false.   !  z-coordinate - partial steps (interpolation)
-   ln_hpg_sco  = .false.   !  s-coordinate (standard jacobian formulation)
-   ln_hpg_isf  = .false.   !  s-coordinate (sco ) adapted to isf
-   ln_hpg_djc  = .false.   !  s-coordinate (Density Jacobian with Cubic polynomial)
-   ln_hpg_prj  = .false.   !  s-coordinate (Pressure Jacobian scheme)
-/
-!-----------------------------------------------------------------------
-&namdyn_spg    !   surface pressure gradient                            (default: NO)
-!-----------------------------------------------------------------------
-   ln_dynspg_exp  = .false.   ! explicit free surface
-   ln_dynspg_ts   = .false.   ! split-explicit free surface
-      ln_bt_fw      = .true.     ! Forward integration of barotropic Eqs.
-      ln_bt_av      = .true.     ! Time filtering of barotropic variables
-         nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
-      ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         rn_bt_cmax   =  0.8        ! =T : the Maximum Courant Number allowed
-         nn_baro      = 30          ! =F : the number of sub-step in rn_rdt seconds
-/
-!-----------------------------------------------------------------------
-&namdyn_ldf    !   lateral diffusion on momentum                        (default: NO)
-!-----------------------------------------------------------------------
-   !                       !  Type of the operator :
-   !                           !  no diffusion: set ln_dynldf_lap=..._blp=F 
-   ln_dynldf_lap =  .false.    !    laplacian operator
-   ln_dynldf_blp =  .false.    !  bilaplacian operator
-   !                       !  Direction of action  :
-   ln_dynldf_lev =  .false.    !  iso-level
-   ln_dynldf_hor =  .false.    !  horizontal (geopotential)
-   ln_dynldf_iso =  .false.    !  iso-neutral
-   !                       !  Coefficient
-   nn_ahm_ijk_t  = 0           !  space/time variation of eddy coef
-   !                                !  =-30  read in eddy_viscosity_3D.nc file
-   !                                !  =-20  read in eddy_viscosity_2D.nc file
-   !                                !  =  0  constant 
-   !                                !  = 10  F(k)=c1d
-   !                                !  = 20  F(i,j)=F(grid spacing)=c2d
-   !                                !  = 30  F(i,j,k)=c2d*c1d
-   !                                !  = 31  F(i,j,k)=F(grid spacing and local velocity)
-   !                                !  = 32  F(i,j,k)=F(local gridscale and deformation rate)
-   ! Caution in 20 and 30 cases the coefficient have to be given for a 1 degree grid (~111km)
-   rn_ahm_0      =  40000.     !  horizontal laplacian eddy viscosity   [m2/s]
-   rn_ahm_b      =      0.     !  background eddy viscosity for ldf_iso [m2/s]
-   rn_bhm_0      = 1.e+12      !  horizontal bilaplacian eddy viscosity [m4/s]
-   !                       !  Smagorinsky settings (nn_ahm_ijk_t  = 32) :
-   rn_csmc       = 3.5         !  Smagorinsky constant of proportionality
-   rn_minfac     = 1.0         !  multiplier of theorectical lower limit
-   rn_maxfac     = 1.0         !  multiplier of theorectical upper limit
-/
-
-!!======================================================================
-!!             Tracers & Dynamics vertical physics namelists
-!!======================================================================
-!!    namzdf        vertical physics
-!!    namzdf_ric    richardson number dependent vertical mixing         ("key_zdfric")
-!!    namzdf_tke    TKE dependent vertical mixing                       ("key_zdftke")
-!!    namzdf_gls    GLS vertical mixing                                 ("key_zdfgls")
-!!    namzdf_ddm    double diffusive mixing parameterization            ("key_zdfddm")
-!!    namzdf_tmx    tidal mixing parameterization                       ("key_zdftmx")
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&namzdf        !   vertical physics
-!-----------------------------------------------------------------------
-   rn_avm0     =   1.2e-4  !  vertical eddy viscosity   [m2/s]          (background Kz if not "key_zdfcst")
-   rn_avt0     =   1.2e-5  !  vertical eddy diffusivity [m2/s]          (background Kz if not "key_zdfcst")
-   nn_avb      =    0      !  profile for background avt & avm (=1) or not (=0)
-   nn_havtb    =    0      !  horizontal shape for avtb (=1) or not (=0)
-   ln_zdfevd   = .true.    !  enhanced vertical diffusion (evd) (T) or not (F)
-      nn_evdm     =    0        ! evd apply on tracer (=0) or on tracer and momentum (=1)
-      rn_avevd    =  100.       !  evd mixing coefficient [m2/s]
-   ln_zdfnpc   = .false.   !  Non-Penetrative Convective algorithm (T) or not (F)
-      nn_npc      =    1        ! frequency of application of npc
-      nn_npcp     =  365        ! npc control print frequency
-   ln_zdfexp   = .false.   !  time-stepping: split-explicit (T) or implicit (F) time stepping
-      nn_zdfexp   =    3        ! number of sub-timestep for ln_zdfexp=T
-   ln_zdfqiao  = .false.   !  Enhanced wave vertical mixing Qiao (2010) (T => ln_wave=.true. & ln_sdw=.true. & fill namsbc_wave)
-/
-!-----------------------------------------------------------------------
-&namzdf_ric    !   richardson number dependent vertical diffusion       ("key_zdfric" )
-!-----------------------------------------------------------------------
-   rn_avmri    =  100.e-4  !  maximum value of the vertical viscosity
-   rn_alp      =    5.     !  coefficient of the parameterization
-   nn_ric      =    2      !  coefficient of the parameterization
-   rn_ekmfc    =    0.7    !  Factor in the Ekman depth Equation
-   rn_mldmin   =    1.0    !  minimum allowable mixed-layer depth estimate (m)
-   rn_mldmax   = 1000.0    !  maximum allowable mixed-layer depth estimate (m)
-   rn_wtmix    =   10.0    !  vertical eddy viscosity coeff [m2/s] in the mixed-layer
-   rn_wvmix    =   10.0    !  vertical eddy diffusion coeff [m2/s] in the mixed-layer
-   ln_mldw     =  .true.   !  Flag to use or not the mixed layer depth param.
-/
-!-----------------------------------------------------------------------
-&namzdf_tke    !   turbulent eddy kinetic dependent vertical diffusion  ("key_zdftke")
-!-----------------------------------------------------------------------
-   rn_ediff    =   0.1     !  coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) )
-   rn_ediss    =   0.7     !  coef. of the Kolmogoroff dissipation
-   rn_ebb      =  67.83    !  coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T)
-   rn_emin     =   1.e-6   !  minimum value of tke [m2/s2]
-   rn_emin0    =   1.e-4   !  surface minimum value of tke [m2/s2]
-   rn_bshear   =   1.e-20  ! background shear (>0) currently a numerical threshold (do not change it)
-   nn_mxl      =   2       !  mixing length: = 0 bounded by the distance to surface and bottom
-                           !                 = 1 bounded by the local vertical scale factor
-                           !                 = 2 first vertical derivative of mixing length bounded by 1
-                           !                 = 3 as =2 with distinct disspipative an mixing length scale
-   nn_pdl      =   1       !  Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm)
-   ln_mxl0     = .true.    !  surface mixing length scale = F(wind stress) (T) or not (F)
-   rn_mxl0     =   0.04    !  surface  buoyancy lenght scale minimum value
-   ln_lc       = .true.    !  Langmuir cell parameterisation (Axell 2002)
-   rn_lc       =   0.15    !  coef. associated to Langmuir cells
-   nn_etau     =   1       !  penetration of tke below the mixed layer (ML) due to near intertial waves
-                           !        = 0 no penetration
-                           !        = 1 add a tke source below the ML
-                           !        = 2 add a tke source just at the base of the ML
-                           !        = 3 as = 1 applied on HF part of the stress           (ln_cpl=T)
-   rn_efr      =   0.05    !  fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2)
-   nn_htau     =   1       !  type of exponential decrease of tke penetration below the ML
-                           !        = 0  constant 10 m length scale
-                           !        = 1  0.5m at the equator to 30m poleward of 40 degrees
-/
-!-----------------------------------------------------------------------
-&namzdf_gls    !   GLS vertical diffusion                               ("key_zdfgls")
-!-----------------------------------------------------------------------
-   rn_emin       = 1.e-7   !  minimum value of e   [m2/s2]
-   rn_epsmin     = 1.e-12  !  minimum value of eps [m2/s3]
-   ln_length_lim = .true.  !  limit on the dissipation rate under stable stratification (Galperin et al., 1988)
-   rn_clim_galp  = 0.267   !  galperin limit
-   ln_sigpsi     = .true.  !  Activate or not Burchard 2001 mods on psi schmidt number in the wb case
-   rn_crban      = 100.    !  Craig and Banner 1994 constant for wb tke flux
-   rn_charn      = 70000.  !  Charnock constant for wb induced roughness length
-   rn_hsro       =  0.02   !  Minimum surface roughness
-   rn_frac_hs    =   1.3   !  Fraction of wave height as roughness (if nn_z0_met=2)
-   nn_z0_met     =     2   !  Method for surface roughness computation (0/1/2/3)
-   !                             ! =3 requires ln_wave=T
-   nn_bc_surf    =     1   !  surface condition (0/1=Dir/Neum)
-   nn_bc_bot     =     1   !  bottom condition (0/1=Dir/Neum)
-   nn_stab_func  =     2   !  stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB)
-   nn_clos       =     1   !  predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen)
-/
-!-----------------------------------------------------------------------
-&namzdf_ddm    !   double diffusive mixing parameterization             ("key_zdfddm")
-!-----------------------------------------------------------------------
-   rn_avts     = 1.e-4     !  maximum avs (vertical mixing on salinity)
-   rn_hsbfr    = 1.6       !  heat/salt buoyancy flux ratio
-/
-!-----------------------------------------------------------------------
-&namzdf_tmx    !   tidal mixing parameterization                        ("key_zdftmx")
-!-----------------------------------------------------------------------
-   rn_htmx     = 500.      !  vertical decay scale for turbulence (meters)
-   rn_n2min    = 1.e-8     !  threshold of the Brunt-Vaisala frequency (s-1)
-   rn_tfe      = 0.333     !  tidal dissipation efficiency
-   rn_me       = 0.2       !  mixing efficiency
-   ln_tmx_itf  = .true.    !  ITF specific parameterisation
-   rn_tfe_itf  = 1.        !  ITF tidal dissipation efficiency
-/
-!-----------------------------------------------------------------------
-&namzdf_tmx_new !   internal wave-driven mixing parameterization        ("key_zdftmx_new" & "key_zdfddm")
-!-----------------------------------------------------------------------
-   nn_zpyc     = 1         !  pycnocline-intensified dissipation scales as N (=1) or N^2 (=2)
-   ln_mevar    = .true.    !  variable (T) or constant (F) mixing efficiency
-   ln_tsdiff   = .true.    !  account for differential T/S mixing (T) or not (F)
-/
-!!======================================================================
-!!                  ***  Miscellaneous namelists  ***
-!!======================================================================
-!!   nammpp            Massively Parallel Processing                    ("key_mpp_mpi)
-!!   namctl            Control prints 
-!!   namsto            Stochastic parametrization of EOS
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&nammpp        !   Massively Parallel Processing                        ("key_mpp_mpi)
-!-----------------------------------------------------------------------
-   cn_mpi_send =  'I'      !  mpi send/recieve type   ='S', 'B', or 'I' for standard send,
-                           !  buffer blocking send or immediate non-blocking sends, resp.
-   nn_buffer   =   0       !  size in bytes of exported buffer ('B' case), 0 no exportation
-   ln_nnogather=  .false.  !  activate code to avoid mpi_allgather use at the northfold
-   jpni        =   0       !  jpni   number of processors following i (set automatically if < 1)
-   jpnj        =   0       !  jpnj   number of processors following j (set automatically if < 1)
-   jpnij       =   0       !  jpnij  number of local domains (set automatically if < 1)
-/
-!-----------------------------------------------------------------------
-&namctl        !   Control prints 
-!-----------------------------------------------------------------------
-   ln_ctl      = .false.   !  trends control print (expensive!)
-   nn_print    =    0      !  level of print (0 no extra print)
-   nn_ictls    =    0      !  start i indice of control sum (use to compare mono versus
-   nn_ictle    =    0      !  end   i indice of control sum        multi processor runs
-   nn_jctls    =    0      !  start j indice of control               over a subdomain)
-   nn_jctle    =    0      !  end   j indice of control
-   nn_isplt    =    1      !  number of processors in i-direction
-   nn_jsplt    =    1      !  number of processors in j-direction
-   nn_timing   =    0      !  timing by routine activated (=1) creates timing.output file, or not (=0)
-   nn_diacfl   =    0      !  Write out CFL diagnostics (=1) in cfl_diagnostics.ascii, or not (=0)
-/
-!-----------------------------------------------------------------------
-&namsto        ! Stochastic parametrization of EOS                      (default: NO)
-!-----------------------------------------------------------------------
-   ln_sto_eos  = .false.   ! stochastic equation of state
-   nn_sto_eos  = 1         ! number of independent random walks
-   rn_eos_stdxy= 1.4       ! random walk horz. standard deviation (in grid points)
-   rn_eos_stdz = 0.7       ! random walk vert. standard deviation (in grid points)
-   rn_eos_tcor = 1440.     ! random walk time correlation (in timesteps)
-   nn_eos_ord  = 1         ! order of autoregressive processes
-   nn_eos_flt  = 0         ! passes of Laplacian filter
-   rn_eos_lim  = 2.0       ! limitation factor (default = 3.0)
-   ln_rststo   = .false.   ! start from mean parameter (F) or from restart file (T)
-   ln_rstseed  = .true.    ! read seed of RNG from restart file
-   cn_storst_in  = "restart_sto" !  suffix of stochastic parameter restart file (input)
-   cn_storst_out = "restart_sto" !  suffix of stochastic parameter restart file (output)
-/
-
-!!======================================================================
-!!                  ***  Diagnostics namelists  ***
-!!======================================================================
-!!   namtrd       dynamics and/or tracer trends                         (default F)
-!!   namptr       Poleward Transport Diagnostics                        (default F)
-!!   namhsb       Heat and salt budgets                                 (default F)
-!!   namdiu       Cool skin and warm layer models                       (default F)
-!!   namdiu       Cool skin and warm layer models                       (default F)
-!!   namflo       float parameters                                      ("key_float")
-!!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm")
-!!   namdct       transports through some sections                      ("key_diadct")
-!!   nam_diatmb   Top Middle Bottom Output                              (default F)
-!!   nam_dia25h   25h Mean Output                                       (default F)
-!!   namnc4       netcdf4 chunking and compression settings             ("key_netcdf4")
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&namtrd        !   trend diagnostics                                    (default F)
-!-----------------------------------------------------------------------
-   ln_glo_trd  = .false.   ! (T) global domain averaged diag for T, T^2, KE, and PE
-   ln_dyn_trd  = .false.   ! (T) 3D momentum trend output
-   ln_dyn_mxl  = .false.   ! (T) 2D momentum trends averaged over the mixed layer (not coded yet)
-   ln_vor_trd  = .false.   ! (T) 2D barotropic vorticity trends (not coded yet)
-   ln_KE_trd   = .false.   ! (T) 3D Kinetic   Energy     trends
-   ln_PE_trd   = .false.   ! (T) 3D Potential Energy     trends
-   ln_tra_trd  = .false.   ! (T) 3D tracer trend output
-   ln_tra_mxl  = .false.   ! (T) 2D tracer trends averaged over the mixed layer (not coded yet)
-   nn_trd      = 365       !  print frequency (ln_glo_trd=T) (unit=time step)
-/
-!!gm   nn_ctls     =   0       !  control surface type in mixed-layer trends (0,1 or n<jpk)
-!!gm   rn_ucf      =   1.      !  unit conversion factor (=1 -> /seconds ; =86400. -> /day)
-!!gm   cn_trdrst_in      = "restart_mld"   ! suffix of ocean restart name (input)
-!!gm   cn_trdrst_out     = "restart_mld"   ! suffix of ocean restart name (output)
-!!gm   ln_trdmld_restart = .false.         !  restart for ML diagnostics
-!!gm   ln_trdmld_instant = .false.         !  flag to diagnose trends of instantantaneous or mean ML T/S
-!!gm
-!-----------------------------------------------------------------------
-&namptr        !   Poleward Transport Diagnostic                         (default F)
-!-----------------------------------------------------------------------
-   ln_diaptr   = .false.   !  Poleward heat and salt transport (T) or not (F)
-   ln_subbas   = .false.   !  Atlantic/Pacific/Indian basins computation (T) or not
-/
-!-----------------------------------------------------------------------
-&namhsb        !  Heat and salt budgets                                  (default F)
-!-----------------------------------------------------------------------
-   ln_diahsb   = .false.   !  check the heat and salt budgets (T) or not (F)
-/
-!-----------------------------------------------------------------------
-&namdiu        !   Cool skin and warm layer models                       (default F)
-!-----------------------------------------------------------------------
-   ln_diurnal      = .false.   !
-   ln_diurnal_only = .false.   !
-/
-!-----------------------------------------------------------------------
-&namflo        !   float parameters                                      ("key_float")
-!-----------------------------------------------------------------------
-   jpnfl       = 1         !  total number of floats during the run
-   jpnnewflo   = 0         !  number of floats for the restart
-   ln_rstflo   = .false.   !  float restart (T) or not (F)
-   nn_writefl  =      75   !  frequency of writing in float output file
-   nn_stockfl  =    5475   !  frequency of creation of the float restart file
-   ln_argo     = .false.   !  Argo type floats (stay at the surface each 10 days)
-   ln_flork4   = .false.   !  trajectories computed with a 4th order Runge-Kutta (T)
-   !                       !  or computed with Blanke' scheme (F)
-   ln_ariane   = .true.    !  Input with Ariane tool convention(T)
-   ln_flo_ascii= .true.    !  Output with Ariane tool netcdf convention(F) or ascii file (T)
-/
-!-----------------------------------------------------------------------
-&nam_diaharm   !   Harmonic analysis of tidal constituents               ("key_diaharm")
-!-----------------------------------------------------------------------
-    nit000_han = 1         ! First time step used for harmonic analysis
-    nitend_han = 75        ! Last time step used for harmonic analysis
-    nstep_han  = 15        ! Time step frequency for harmonic analysis
-    tname(1)   = 'M2'      ! Name of tidal constituents
-    tname(2)   = 'K1'
-/
-!-----------------------------------------------------------------------
-&namdct        ! transports through some sections                        ("key_diadct")
-!-----------------------------------------------------------------------
-    nn_dct     = 15        !  time step frequency for transports computing
-    nn_dctwri  = 15        !  time step frequency for transports writing
-    nn_secdebug= 112       !      0 : no section to debug
-    !                      !     -1 : debug all section
-    !                      !  0 < n : debug section number n
-/
-!-----------------------------------------------------------------------
-&nam_diatmb    !  Top Middle Bottom Output                               (default F)
-!-----------------------------------------------------------------------
-   ln_diatmb   = .false.   !  Choose Top Middle and Bottom output or not
-/
-!-----------------------------------------------------------------------
-&nam_dia25h    !  25h Mean Output                                        (default F)
-!-----------------------------------------------------------------------
-   ln_dia25h   = .false.   ! Choose 25h mean output or not
-/
-!-----------------------------------------------------------------------
-&namnc4        !   netcdf4 chunking and compression settings             ("key_netcdf4")
-!-----------------------------------------------------------------------
-   nn_nchunks_i=   4       !  number of chunks in i-dimension
-   nn_nchunks_j=   4       !  number of chunks in j-dimension
-   nn_nchunks_k=   31      !  number of chunks in k-dimension
-   !                       !  setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which
-   !                       !  is optimal for postprocessing which works exclusively with horizontal slabs
-   ln_nc4zip   = .true.    !  (T) use netcdf4 chunking and compression
-   !                       !  (F) ignore chunking information and produce netcdf3-compatible files
-/
-
-!!======================================================================
-!!               ***  Observation & Assimilation  ***
-!!======================================================================
-!!   namobs       observation and model comparison
-!!   nam_asminc   assimilation increments                               ('key_asminc')
-!!======================================================================
-!
-!-----------------------------------------------------------------------
-&namobs        !  observation usage switch
-!-----------------------------------------------------------------------
-   ln_diaobs   = .false.             ! Logical switch for the observation operator
-   ln_t3d      = .false.             ! Logical switch for T profile observations
-   ln_s3d      = .false.             ! Logical switch for S profile observations
-   ln_sla      = .false.             ! Logical switch for SLA observations
-   ln_sst      = .false.             ! Logical switch for SST observations
-   ln_sic      = .false.             ! Logical switch for Sea Ice observations
-   ln_vel3d    = .false.             ! Logical switch for velocity observations
-   ln_altbias  = .false.             ! Logical switch for altimeter bias correction
-   ln_nea      = .false.             ! Logical switch for rejection of observations near land
-   ln_grid_global = .true.           ! Logical switch for global distribution of observations
-   ln_grid_search_lookup = .false.   ! Logical switch for obs grid search w/lookup table
-   ln_ignmis   = .true.              ! Logical switch for ignoring missing files
-   ln_s_at_t   = .false.             ! Logical switch for computing model S at T obs if not there
-   ln_sstnight = .false.             ! Logical switch for calculating night-time average for SST obs
-! All of the *files* variables below are arrays. Use namelist_cfg to add more files
-   cn_profbfiles = 'profiles_01.nc'  ! Profile feedback input observation file names
-   cn_slafbfiles = 'sla_01.nc'       ! SLA feedback input observation file names
-   cn_sstfbfiles = 'sst_01.nc'       ! SST feedback input observation file names
-   cn_sicfbfiles = 'sic_01.nc'       ! SIC feedback input observation file names
-   cn_velfbfiles = 'vel_01.nc'       ! Velocity feedback input observation file names
-   cn_altbiasfile = 'altbias.nc'     ! Altimeter bias input file name
-   cn_gridsearchfile='gridsearch.nc' ! Grid search file name
-   rn_gridsearchres = 0.5            ! Grid search resolution
-   rn_dobsini  = 00010101.000000     ! Initial date in window YYYYMMDD.HHMMSS
-   rn_dobsend  = 00010102.000000     ! Final date in window YYYYMMDD.HHMMSS
-   nn_1dint    = 0                   ! Type of vertical interpolation method
-   nn_2dint    = 0                   ! Type of horizontal interpolation method
-   nn_msshc    = 0                   ! MSSH correction scheme
-   rn_mdtcorr  = 1.61                ! MDT  correction
-   rn_mdtcutoff = 65.0               ! MDT cutoff for computed correction
-   nn_profdavtypes = -1              ! Profile daily average types - array
-   ln_sstbias  = .false.             !
-   cn_sstbias_files = 'sstbias.nc'   !
-/
-!-----------------------------------------------------------------------
-&nam_asminc    !   assimilation increments                              ('key_asminc')
-!-----------------------------------------------------------------------
-    ln_bkgwri  = .false.   !  Logical switch for writing out background state
-    ln_trainc  = .false.   !  Logical switch for applying tracer increments
-    ln_dyninc  = .false.   !  Logical switch for applying velocity increments
-    ln_sshinc  = .false.   !  Logical switch for applying SSH increments
-    ln_asmdin  = .false.   !  Logical switch for Direct Initialization (DI)
-    ln_asmiau  = .false.   !  Logical switch for Incremental Analysis Updating (IAU)
-    nitbkg     = 0         !  Timestep of background in [0,nitend-nit000-1]
-    nitdin     = 0         !  Timestep of background for DI in [0,nitend-nit000-1]
-    nitiaustr  = 1         !  Timestep of start of IAU interval in [0,nitend-nit000-1]
-    nitiaufin  = 15        !  Timestep of end of IAU interval in [0,nitend-nit000-1]
-    niaufn     = 0         !  Type of IAU weighting function
-    ln_salfix  = .false.   !  Logical switch for ensuring that the sa > salfixmin
-    salfixmin  = -9999     !  Minimum salinity after applying the increments
-    nn_divdmp  = 0         !  Number of iterations of divergence damping operator
-/
diff --git a/EXP00/run_script.pbs b/EXP00/run_script.pbs
deleted file mode 100755
index b3a03cb67f1bcc148ff859ce5b96fd7ae289a5a7..0000000000000000000000000000000000000000
--- a/EXP00/run_script.pbs
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-# ---------------------------
-#===============================================================
-# CLUSTER BITS
-#===============================================================
-#PBS -N EA_R12
-#PBS -l select=21
-#PBS -l walltime=02:00:00
-#PBS -A n01-ACCORD
-#PBS -j oe
-#PBS -r n
-# mail alert at (b)eginning, (e)nd and (a)bortion of execution
-#PBS -m bea
-
-module swap PrgEnv-cray PrgEnv-intel
-module load cray-netcdf-hdf5parallel
-module load cray-hdf5-parallel
-
-export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR)
-# Change to the direcotry that the job was submitted from
-cd $PBS_O_WORKDIR
-
-
-# Set the number of threads to 1
-#   This prevents any system libraries from automatically
-#   using threading.
-export OMP_NUM_THREADS=1
-# Change to the directory that the job was submitted from
-ulimit -s unlimited
-ulimit -c unlimited
-
-export NEMOproc=480 #550
-export XIOSproc=1
-
-#===============================================================
-# LAUNCH JOB
-#===============================================================
-echo `date` : Launch Job
-aprun -b -n 5 -N 5 ./xios_server.exe : -n $NEMOproc -N 24 ./opa
-exit
diff --git a/EXP_README.txt b/EXP_README.txt
deleted file mode 100755
index 34062b5d69691ee81d7f0a708df9ba0cf2b89716..0000000000000000000000000000000000000000
--- a/EXP_README.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-THIS IS WORK IN PROGRESS. I.e. IT SEEMS LIKE A GOOD IDEA BUT IS NOT COMPLETE OR IN A SETTLED FORMAT
-
-
-EXP00
-=====
-
-Main build directory
-Originally at:
-/work/n01/n01/ashbre/INDIAN_OCEAN/trunk_NEMOGCM_r8395/CONFIG/INDIAN_OCEAN/EXP00
diff --git a/MY_SRC/bdyini.F90 b/MY_SRC/bdyini.F90
deleted file mode 100755
index ef881b0e8a2533583f82150a2b7589585caa75b6..0000000000000000000000000000000000000000
--- a/MY_SRC/bdyini.F90
+++ /dev/null
@@ -1,1743 +0,0 @@
-MODULE bdyini
-   !!======================================================================
-   !!                       ***  MODULE  bdyini  ***
-   !! Unstructured open boundaries : initialisation
-   !!======================================================================
-   !! History :  1.0  !  2005-01  (J. Chanut, A. Sellar)  Original code
-   !!             -   !  2007-01  (D. Storkey) Update to use IOM module
-   !!             -   !  2007-01  (D. Storkey) Tidal forcing
-   !!            3.0  !  2008-04  (NEMO team)  add in the reference version
-   !!            3.3  !  2010-09  (E.O'Dea) updates for Shelf configurations
-   !!            3.3  !  2010-09  (D.Storkey) add ice boundary conditions
-   !!            3.4  !  2011     (D. Storkey) rewrite in preparation for OBC-BDY merge
-   !!            3.4  !  2012     (J. Chanut) straight open boundary case update
-   !!            3.5  !  2012     (S. Mocavero, I. Epicoco) optimization of BDY communications
-   !!            3.7  !  2016     (T. Lovato) Remove bdy macro, call here init for dta and tides
-   !!----------------------------------------------------------------------
-   !!   bdy_init      : Initialization of unstructured open boundaries
-   !!----------------------------------------------------------------------
-   USE oce            ! ocean dynamics and tracers variables
-   USE dom_oce        ! ocean space and time domain
-   USE bdy_oce        ! unstructured open boundary conditions
-   USE bdydta         ! open boundary cond. setting   (bdy_dta_init routine)
-   USE bdytides       ! open boundary cond. setting   (bdytide_init routine)
-   USE sbctide        ! Tidal forcing or not
-   USE phycst   , ONLY: rday
-   !
-   USE in_out_manager ! I/O units
-   USE lbclnk         ! ocean lateral boundary conditions (or mpp link)
-   USE lib_mpp        ! for mpp_sum  
-   USE iom            ! I/O
-   USE wrk_nemo       ! Memory Allocation
-   USE timing         ! Timing
-
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC   bdy_init   ! routine called in nemo_init
-
-   INTEGER, PARAMETER ::   jp_nseg = 100   ! 
-   INTEGER, PARAMETER ::   nrimmax =  20   ! maximum rimwidth in structured
-                                               ! open boundary data files
-   ! Straight open boundary segment parameters:
-   INTEGER  ::   nbdysege, nbdysegw, nbdysegn, nbdysegs 
-   INTEGER, DIMENSION(jp_nseg) ::   jpieob, jpjedt, jpjeft, npckge   !
-   INTEGER, DIMENSION(jp_nseg) ::   jpiwob, jpjwdt, jpjwft, npckgw   !
-   INTEGER, DIMENSION(jp_nseg) ::   jpjnob, jpindt, jpinft, npckgn   !
-   INTEGER, DIMENSION(jp_nseg) ::   jpjsob, jpisdt, jpisft, npckgs   !
-   !!----------------------------------------------------------------------
-   !! NEMO/OPA 3.7 , NEMO Consortium (2015)
-   !! $Id: bdyini.F90 7646 2017-02-06 09:25:03Z timgraham $ 
-   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-   SUBROUTINE bdy_init
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE bdy_init  ***
-      !!
-      !! ** Purpose :   Initialization of the dynamics and tracer fields with
-      !!              unstructured open boundaries.
-      !!
-      !! ** Method  :   Read initialization arrays (mask, indices) to identify
-      !!              an unstructured open boundary
-      !!
-      !! ** Input   :  bdy_init.nc, input file for unstructured open boundaries
-      !!----------------------------------------------------------------------
-      NAMELIST/nambdy/ ln_bdy, nb_bdy, ln_coords_file, cn_coords_file,         &
-         &             ln_mask_file, cn_mask_file, cn_dyn2d, nn_dyn2d_dta,     &
-         &             cn_dyn3d, nn_dyn3d_dta, cn_tra, nn_tra_dta,             &
-         &             ln_tra_dmp, ln_dyn3d_dmp, rn_time_dmp, rn_time_dmp_out, &
-         &             cn_ice_lim, nn_ice_lim_dta,                             &
-         &             rn_ice_tem, rn_ice_sal, rn_ice_age,                     &
-         &             ln_vol, nn_volctl, nn_rimwidth, nb_jpk_bdy
-         !
-      INTEGER  ::   ios                 ! Local integer output status for namelist read
-      !!----------------------------------------------------------------------
-      !
-      IF( nn_timing == 1 )   CALL timing_start('bdy_init')
-
-      ! ------------------------
-      ! Read namelist parameters
-      ! ------------------------
-      REWIND( numnam_ref )              ! Namelist nambdy in reference namelist :Unstructured open boundaries
-      READ  ( numnam_ref, nambdy, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nambdy in reference namelist', lwp )
-      !
-      REWIND( numnam_cfg )              ! Namelist nambdy in configuration namelist :Unstructured open boundaries
-      READ  ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nambdy in configuration namelist', lwp )
-      IF(lwm) WRITE ( numond, nambdy )
-
-      ! -----------------------------------------
-      ! unstructured open boundaries use control
-      ! -----------------------------------------
-      IF ( ln_bdy ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'bdy_init : initialization of open boundaries'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~'
-         !
-         ! Open boundaries definition (arrays and masks)
-         CALL bdy_segs
-         !
-         ! Open boundaries initialisation of external data arrays
-         CALL bdy_dta_init
-         !
-         ! Open boundaries initialisation of tidal harmonic forcing
-         IF( ln_tide ) CALL bdytide_init
-         !
-      ELSE
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'bdy_init : open boundaries not used (ln_bdy = F)'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~'
-         !
-      ENDIF
-      !
-      IF( nn_timing == 1 )   CALL timing_stop('bdy_init')
-      !
-   END SUBROUTINE bdy_init
-   
-   SUBROUTINE bdy_segs
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE bdy_init  ***
-      !!         
-      !! ** Purpose :   Definition of unstructured open boundaries.
-      !!
-      !! ** Method  :   Read initialization arrays (mask, indices) to identify 
-      !!              an unstructured open boundary
-      !!
-      !! ** Input   :  bdy_init.nc, input file for unstructured open boundaries
-      !!----------------------------------------------------------------------      
-
-      ! local variables
-      !-------------------
-      INTEGER  ::   ib_bdy, ii, ij, ik, igrd, ib, ir, iseg ! dummy loop indices
-      INTEGER  ::   icount, icountr, ibr_max, ilen1, ibm1  ! local integers
-      INTEGER  ::   iwe, ies, iso, ino, inum, id_dummy     !   -       -
-      INTEGER  ::   igrd_start, igrd_end, jpbdta           !   -       -
-      INTEGER  ::   jpbdtau, jpbdtas                       !   -       -
-      INTEGER  ::   ib_bdy1, ib_bdy2, ib1, ib2             !   -       -
-      INTEGER  ::   i_offset, j_offset                     !   -       -
-      INTEGER , POINTER  ::  nbi, nbj, nbr                 ! short cuts
-      REAL(wp), POINTER  ::  flagu, flagv                  !    -   -
-      REAL(wp), POINTER, DIMENSION(:,:)       ::   pmask    ! pointer to 2D mask fields
-      REAL(wp) ::   zefl, zwfl, znfl, zsfl                 ! local scalars
-      INTEGER, DIMENSION (2)                  ::   kdimsz
-      INTEGER, DIMENSION(jpbgrd,jp_bdy)       ::   nblendta         ! Length of index arrays 
-      INTEGER, ALLOCATABLE, DIMENSION(:,:,:)  ::   nbidta, nbjdta   ! Index arrays: i and j indices of bdy dta
-      INTEGER, ALLOCATABLE, DIMENSION(:,:,:)  ::   nbrdta           ! Discrete distance from rim points
-      CHARACTER(LEN=1),DIMENSION(jpbgrd)      ::   cgrid
-      INTEGER :: com_east, com_west, com_south, com_north          ! Flags for boundaries sending
-      INTEGER :: com_east_b, com_west_b, com_south_b, com_north_b  ! Flags for boundaries receiving
-      INTEGER :: iw_b(4), ie_b(4), is_b(4), in_b(4)                ! Arrays for neighbours coordinates
-      REAL(wp), POINTER, DIMENSION(:,:)       ::   zfmask  ! temporary fmask array excluding coastal boundary condition (shlat)
-      !!
-      CHARACTER(LEN=1)                     ::   ctypebdy   !     -        - 
-      INTEGER                              ::   nbdyind, nbdybeg, nbdyend
-      !!
-      NAMELIST/nambdy_index/ ctypebdy, nbdyind, nbdybeg, nbdyend
-      INTEGER  ::   ios                 ! Local integer output status for namelist read
-      !!----------------------------------------------------------------------
-      !
-      IF( nn_timing == 1 )   CALL timing_start('bdy_segs')
-      !
-      cgrid = (/'t','u','v'/)
-
-      ! -----------------------------------------
-      ! Check and write out namelist parameters
-      ! -----------------------------------------
-!     IF( jperio /= 0 )   CALL ctl_stop( 'bdy_segs: Cyclic or symmetric,',   &
-!        &                               ' and general open boundary condition are not compatible' )
-
-      IF( nb_bdy == 0 ) THEN 
-        IF(lwp) WRITE(numout,*) 'nb_bdy = 0, NO OPEN BOUNDARIES APPLIED.'
-      ELSE
-        IF(lwp) WRITE(numout,*) 'Number of open boundary sets : ', nb_bdy
-      ENDIF
-
-      DO ib_bdy = 1,nb_bdy
-        IF(lwp) WRITE(numout,*) ' ' 
-        IF(lwp) WRITE(numout,*) '------ Open boundary data set ',ib_bdy,'------' 
-
-        IF( ln_coords_file(ib_bdy) ) THEN
-           IF(lwp) WRITE(numout,*) 'Boundary definition read from file '//TRIM(cn_coords_file(ib_bdy))
-        ELSE
-           IF(lwp) WRITE(numout,*) 'Boundary defined in namelist.'
-        ENDIF
-        IF(lwp) WRITE(numout,*)
-
-        IF(lwp) WRITE(numout,*) 'Boundary conditions for barotropic solution:  '
-        SELECT CASE( cn_dyn2d(ib_bdy) )                  
-          CASE( 'none' )         
-             IF(lwp) WRITE(numout,*) '      no open boundary condition'        
-             dta_bdy(ib_bdy)%ll_ssh = .false.
-             dta_bdy(ib_bdy)%ll_u2d = .false.
-             dta_bdy(ib_bdy)%ll_v2d = .false.
-          CASE( 'frs' )          
-             IF(lwp) WRITE(numout,*) '      Flow Relaxation Scheme'
-             dta_bdy(ib_bdy)%ll_ssh = .false.
-             dta_bdy(ib_bdy)%ll_u2d = .true.
-             dta_bdy(ib_bdy)%ll_v2d = .true.
-          CASE( 'flather' )      
-             IF(lwp) WRITE(numout,*) '      Flather radiation condition'
-             dta_bdy(ib_bdy)%ll_ssh = .true.
-             dta_bdy(ib_bdy)%ll_u2d = .true.
-             dta_bdy(ib_bdy)%ll_v2d = .true.
-          CASE( 'orlanski' )     
-             IF(lwp) WRITE(numout,*) '      Orlanski (fully oblique) radiation condition with adaptive nudging'
-             dta_bdy(ib_bdy)%ll_ssh = .false.
-             dta_bdy(ib_bdy)%ll_u2d = .true.
-             dta_bdy(ib_bdy)%ll_v2d = .true.
-          CASE( 'orlanski_npo' ) 
-             IF(lwp) WRITE(numout,*) '      Orlanski (NPO) radiation condition with adaptive nudging'
-             dta_bdy(ib_bdy)%ll_ssh = .false.
-             dta_bdy(ib_bdy)%ll_u2d = .true.
-             dta_bdy(ib_bdy)%ll_v2d = .true.
-          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for cn_dyn2d' )
-        END SELECT
-        IF( cn_dyn2d(ib_bdy) /= 'none' ) THEN
-           SELECT CASE( nn_dyn2d_dta(ib_bdy) )                   ! 
-              CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      initial state used for bdy data'        
-              CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      boundary data taken from file'
-              CASE( 2 )      ;   IF(lwp) WRITE(numout,*) '      tidal harmonic forcing taken from file'
-              CASE( 3 )      ;   IF(lwp) WRITE(numout,*) '      boundary data AND tidal harmonic forcing taken from files'
-              CASE DEFAULT   ;   CALL ctl_stop( 'nn_dyn2d_dta must be between 0 and 3' )
-           END SELECT
-           IF (( nn_dyn2d_dta(ib_bdy) .ge. 2 ).AND.(.NOT.ln_tide)) THEN
-             CALL ctl_stop( 'You must activate with ln_tide to add tidal forcing at open boundaries' )
-           ENDIF
-        ENDIF
-        IF(lwp) WRITE(numout,*)
-
-        IF(lwp) WRITE(numout,*) 'Boundary conditions for baroclinic velocities:  '
-        SELECT CASE( cn_dyn3d(ib_bdy) )                  
-          CASE('none')
-             IF(lwp) WRITE(numout,*) '      no open boundary condition'        
-             dta_bdy(ib_bdy)%ll_u3d = .false.
-             dta_bdy(ib_bdy)%ll_v3d = .false.
-          CASE('frs')       
-             IF(lwp) WRITE(numout,*) '      Flow Relaxation Scheme'
-             dta_bdy(ib_bdy)%ll_u3d = .true.
-             dta_bdy(ib_bdy)%ll_v3d = .true.
-          CASE('specified')
-             IF(lwp) WRITE(numout,*) '      Specified value'
-             dta_bdy(ib_bdy)%ll_u3d = .true.
-             dta_bdy(ib_bdy)%ll_v3d = .true.
-          CASE('neumann')
-             IF(lwp) WRITE(numout,*) '      Neumann conditions'
-             dta_bdy(ib_bdy)%ll_u3d = .false.
-             dta_bdy(ib_bdy)%ll_v3d = .false.
-          CASE('zerograd')
-             IF(lwp) WRITE(numout,*) '      Zero gradient for baroclinic velocities'
-             dta_bdy(ib_bdy)%ll_u3d = .false.
-             dta_bdy(ib_bdy)%ll_v3d = .false.
-          CASE('zero')
-             IF(lwp) WRITE(numout,*) '      Zero baroclinic velocities (runoff case)'
-             dta_bdy(ib_bdy)%ll_u3d = .false.
-             dta_bdy(ib_bdy)%ll_v3d = .false.
-          CASE('orlanski')
-             IF(lwp) WRITE(numout,*) '      Orlanski (fully oblique) radiation condition with adaptive nudging'
-             dta_bdy(ib_bdy)%ll_u3d = .true.
-             dta_bdy(ib_bdy)%ll_v3d = .true.
-          CASE('orlanski_npo')
-             IF(lwp) WRITE(numout,*) '      Orlanski (NPO) radiation condition with adaptive nudging'
-             dta_bdy(ib_bdy)%ll_u3d = .true.
-             dta_bdy(ib_bdy)%ll_v3d = .true.
-          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for cn_dyn3d' )
-        END SELECT
-        IF( cn_dyn3d(ib_bdy) /= 'none' ) THEN
-           SELECT CASE( nn_dyn3d_dta(ib_bdy) )                   ! 
-              CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      initial state used for bdy data'        
-              CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      boundary data taken from file'
-              CASE DEFAULT   ;   CALL ctl_stop( 'nn_dyn3d_dta must be 0 or 1' )
-           END SELECT
-        ENDIF
-
-        IF ( ln_dyn3d_dmp(ib_bdy) ) THEN
-           IF ( cn_dyn3d(ib_bdy) == 'none' ) THEN
-              IF(lwp) WRITE(numout,*) 'No open boundary condition for baroclinic velocities: ln_dyn3d_dmp is set to .false.'
-              ln_dyn3d_dmp(ib_bdy)=.false.
-           ELSEIF ( cn_dyn3d(ib_bdy) == 'frs' ) THEN
-              CALL ctl_stop( 'Use FRS OR relaxation' )
-           ELSE
-              IF(lwp) WRITE(numout,*) '      + baroclinic velocities relaxation zone'
-              IF(lwp) WRITE(numout,*) '      Damping time scale: ',rn_time_dmp(ib_bdy),' days'
-              IF((lwp).AND.rn_time_dmp(ib_bdy)<0) CALL ctl_stop( 'Time scale must be positive' )
-              dta_bdy(ib_bdy)%ll_u3d = .true.
-              dta_bdy(ib_bdy)%ll_v3d = .true.
-           ENDIF
-        ELSE
-           IF(lwp) WRITE(numout,*) '      NO relaxation on baroclinic velocities'
-        ENDIF
-        IF(lwp) WRITE(numout,*)
-
-        IF(lwp) WRITE(numout,*) 'Boundary conditions for temperature and salinity:  '
-        SELECT CASE( cn_tra(ib_bdy) )                  
-          CASE('none')
-             IF(lwp) WRITE(numout,*) '      no open boundary condition'        
-             dta_bdy(ib_bdy)%ll_tem = .false.
-             dta_bdy(ib_bdy)%ll_sal = .false.
-          CASE('frs')
-             IF(lwp) WRITE(numout,*) '      Flow Relaxation Scheme'
-             dta_bdy(ib_bdy)%ll_tem = .true.
-             dta_bdy(ib_bdy)%ll_sal = .true.
-          CASE('specified')
-             IF(lwp) WRITE(numout,*) '      Specified value'
-             dta_bdy(ib_bdy)%ll_tem = .true.
-             dta_bdy(ib_bdy)%ll_sal = .true.
-          CASE('neumann')
-             IF(lwp) WRITE(numout,*) '      Neumann conditions'
-             dta_bdy(ib_bdy)%ll_tem = .false.
-             dta_bdy(ib_bdy)%ll_sal = .false.
-          CASE('runoff')
-             IF(lwp) WRITE(numout,*) '      Runoff conditions : Neumann for T and specified to 0.1 for salinity'
-             dta_bdy(ib_bdy)%ll_tem = .false.
-             dta_bdy(ib_bdy)%ll_sal = .false.
-          CASE('orlanski')
-             IF(lwp) WRITE(numout,*) '      Orlanski (fully oblique) radiation condition with adaptive nudging'
-             dta_bdy(ib_bdy)%ll_tem = .true.
-             dta_bdy(ib_bdy)%ll_sal = .true.
-          CASE('orlanski_npo')
-             IF(lwp) WRITE(numout,*) '      Orlanski (NPO) radiation condition with adaptive nudging'
-             dta_bdy(ib_bdy)%ll_tem = .true.
-             dta_bdy(ib_bdy)%ll_sal = .true.
-          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for cn_tra' )
-        END SELECT
-        IF( cn_tra(ib_bdy) /= 'none' ) THEN
-           SELECT CASE( nn_tra_dta(ib_bdy) )                   ! 
-              CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      initial state used for bdy data'        
-              CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      boundary data taken from file'
-              CASE DEFAULT   ;   CALL ctl_stop( 'nn_tra_dta must be 0 or 1' )
-           END SELECT
-        ENDIF
-
-        IF ( ln_tra_dmp(ib_bdy) ) THEN
-           IF ( cn_tra(ib_bdy) == 'none' ) THEN
-              IF(lwp) WRITE(numout,*) 'No open boundary condition for tracers: ln_tra_dmp is set to .false.'
-              ln_tra_dmp(ib_bdy)=.false.
-           ELSEIF ( cn_tra(ib_bdy) == 'frs' ) THEN
-              CALL ctl_stop( 'Use FRS OR relaxation' )
-           ELSE
-              IF(lwp) WRITE(numout,*) '      + T/S relaxation zone'
-              IF(lwp) WRITE(numout,*) '      Damping time scale: ',rn_time_dmp(ib_bdy),' days'
-              IF(lwp) WRITE(numout,*) '      Outflow damping time scale: ',rn_time_dmp_out(ib_bdy),' days'
-              IF((lwp).AND.rn_time_dmp(ib_bdy)<0) CALL ctl_stop( 'Time scale must be positive' )
-              dta_bdy(ib_bdy)%ll_tem = .true.
-              dta_bdy(ib_bdy)%ll_sal = .true.
-           ENDIF
-        ELSE
-           IF(lwp) WRITE(numout,*) '      NO T/S relaxation'
-        ENDIF
-        IF(lwp) WRITE(numout,*)
-
-#if defined key_lim2
-        IF(lwp) WRITE(numout,*) 'Boundary conditions for sea ice:  '
-        SELECT CASE( cn_ice_lim(ib_bdy) )                  
-          CASE('none')
-             IF(lwp) WRITE(numout,*) '      no open boundary condition'        
-             dta_bdy(ib_bdy)%ll_frld  = .false.
-             dta_bdy(ib_bdy)%ll_hicif = .false.
-             dta_bdy(ib_bdy)%ll_hsnif = .false.
-          CASE('frs')
-             IF(lwp) WRITE(numout,*) '      Flow Relaxation Scheme'
-             dta_bdy(ib_bdy)%ll_frld  = .true.
-             dta_bdy(ib_bdy)%ll_hicif = .true.
-             dta_bdy(ib_bdy)%ll_hsnif = .true.
-          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for cn_ice_lim' )
-        END SELECT
-        IF( cn_ice_lim(ib_bdy) /= 'none' ) THEN 
-           SELECT CASE( nn_ice_lim_dta(ib_bdy) )                   ! 
-              CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      initial state used for bdy data'        
-              CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      boundary data taken from file'
-              CASE DEFAULT   ;   CALL ctl_stop( 'nn_ice_lim_dta must be 0 or 1' )
-           END SELECT
-        ENDIF
-        IF(lwp) WRITE(numout,*)
-#elif defined key_lim3
-        IF(lwp) WRITE(numout,*) 'Boundary conditions for sea ice:  '
-        SELECT CASE( cn_ice_lim(ib_bdy) )                  
-          CASE('none')
-             IF(lwp) WRITE(numout,*) '      no open boundary condition'        
-             dta_bdy(ib_bdy)%ll_a_i  = .false.
-             dta_bdy(ib_bdy)%ll_ht_i = .false.
-             dta_bdy(ib_bdy)%ll_ht_s = .false.
-          CASE('frs')
-             IF(lwp) WRITE(numout,*) '      Flow Relaxation Scheme'
-             dta_bdy(ib_bdy)%ll_a_i  = .true.
-             dta_bdy(ib_bdy)%ll_ht_i = .true.
-             dta_bdy(ib_bdy)%ll_ht_s = .true.
-          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for cn_ice_lim' )
-        END SELECT
-        IF( cn_ice_lim(ib_bdy) /= 'none' ) THEN 
-           SELECT CASE( nn_ice_lim_dta(ib_bdy) )                   ! 
-              CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      initial state used for bdy data'        
-              CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      boundary data taken from file'
-              CASE DEFAULT   ;   CALL ctl_stop( 'nn_ice_lim_dta must be 0 or 1' )
-           END SELECT
-        ENDIF
-        IF(lwp) WRITE(numout,*)
-        IF(lwp) WRITE(numout,*) '      tem of bdy sea-ice = ', rn_ice_tem(ib_bdy)         
-        IF(lwp) WRITE(numout,*) '      sal of bdy sea-ice = ', rn_ice_sal(ib_bdy)         
-        IF(lwp) WRITE(numout,*) '      age of bdy sea-ice = ', rn_ice_age(ib_bdy)         
-#endif
-
-        IF(lwp) WRITE(numout,*) '      Width of relaxation zone = ', nn_rimwidth(ib_bdy)
-        IF(lwp) WRITE(numout,*)
-
-      ENDDO
-
-     IF (nb_bdy .gt. 0) THEN
-        IF( ln_vol ) THEN                     ! check volume conservation (nn_volctl value)
-          IF(lwp) WRITE(numout,*) 'Volume correction applied at open boundaries'
-          IF(lwp) WRITE(numout,*)
-          SELECT CASE ( nn_volctl )
-            CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      The total volume will be constant'
-            CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      The total volume will vary according to the surface E-P flux'
-            CASE DEFAULT   ;   CALL ctl_stop( 'nn_volctl must be 0 or 1' )
-          END SELECT
-          IF(lwp) WRITE(numout,*)
-        ELSE
-          IF(lwp) WRITE(numout,*) 'No volume correction applied at open boundaries'
-          IF(lwp) WRITE(numout,*)
-        ENDIF
-        IF( nb_jpk_bdy > 0 ) THEN
-           IF(lwp) WRITE(numout,*) '*** open boundary will be interpolate in the vertical onto the native grid ***'
-        ELSE
-           IF(lwp) WRITE(numout,*) '*** open boundary will be read straight onto the native grid without vertical interpolation ***'
-        ENDIF
-     ENDIF
-
-      ! -------------------------------------------------
-      ! Initialise indices arrays for open boundaries
-      ! -------------------------------------------------
-
-      ! Work out global dimensions of boundary data
-      ! ---------------------------------------------
-      REWIND( numnam_cfg )     
-
-      nblendta(:,:) = 0
-      nbdysege = 0
-      nbdysegw = 0
-      nbdysegn = 0
-      nbdysegs = 0
-      icount   = 0 ! count user defined segments
-      ! Dimensions below are used to allocate arrays to read external data
-      jpbdtas = 1 ! Maximum size of boundary data (structured case)
-      jpbdtau = 1 ! Maximum size of boundary data (unstructured case)
-
-      DO ib_bdy = 1, nb_bdy
-
-         IF( .NOT. ln_coords_file(ib_bdy) ) THEN ! Work out size of global arrays from namelist parameters
- 
-            icount = icount + 1
-            ! No REWIND here because may need to read more than one nambdy_index namelist.
-            ! Read only namelist_cfg to avoid unseccessfull overwrite
-!!          REWIND( numnam_ref )              ! Namelist nambdy_index in reference namelist : Open boundaries indexes
-!!          READ  ( numnam_ref, namrun, IOSTAT = ios, ERR = 903)
-!!903       IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_index in reference namelist', lwp )
-
-!!          REWIND( numnam_cfg )              ! Namelist nambdy_index in configuration namelist : Open boundaries indexes
-            READ  ( numnam_cfg, nambdy_index, IOSTAT = ios, ERR = 904 )
-904         IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_index in configuration namelist', lwp )
-            IF(lwm) WRITE ( numond, nambdy_index )
-
-            SELECT CASE ( TRIM(ctypebdy) )
-              CASE( 'N' )
-                 IF( nbdyind == -1 ) THEN  ! Automatic boundary definition: if nbdysegX = -1
-                    nbdyind  = jpjglo - 2  ! set boundary to whole side of model domain.
-                    nbdybeg  = 2
-                    nbdyend  = jpiglo - 1
-                 ENDIF
-                 nbdysegn = nbdysegn + 1
-                 npckgn(nbdysegn) = ib_bdy ! Save bdy package number
-                 jpjnob(nbdysegn) = nbdyind
-                 jpindt(nbdysegn) = nbdybeg
-                 jpinft(nbdysegn) = nbdyend
-                 !
-              CASE( 'S' )
-                 IF( nbdyind == -1 ) THEN  ! Automatic boundary definition: if nbdysegX = -1
-                    nbdyind  = 2           ! set boundary to whole side of model domain.
-                    nbdybeg  = 2
-                    nbdyend  = jpiglo - 1
-                 ENDIF
-                 nbdysegs = nbdysegs + 1
-                 npckgs(nbdysegs) = ib_bdy ! Save bdy package number
-                 jpjsob(nbdysegs) = nbdyind
-                 jpisdt(nbdysegs) = nbdybeg
-                 jpisft(nbdysegs) = nbdyend
-                 !
-              CASE( 'E' )
-                 IF( nbdyind == -1 ) THEN  ! Automatic boundary definition: if nbdysegX = -1
-                    nbdyind  = jpiglo - 2  ! set boundary to whole side of model domain.
-                    nbdybeg  = 2
-                    nbdyend  = jpjglo - 1
-                 ENDIF
-                 nbdysege = nbdysege + 1 
-                 npckge(nbdysege) = ib_bdy ! Save bdy package number
-                 jpieob(nbdysege) = nbdyind
-                 jpjedt(nbdysege) = nbdybeg
-                 jpjeft(nbdysege) = nbdyend
-                 !
-              CASE( 'W' )
-                 IF( nbdyind == -1 ) THEN  ! Automatic boundary definition: if nbdysegX = -1
-                    nbdyind  = 2           ! set boundary to whole side of model domain.
-                    nbdybeg  = 2
-                    nbdyend  = jpjglo - 1
-                 ENDIF
-                 nbdysegw = nbdysegw + 1
-                 npckgw(nbdysegw) = ib_bdy ! Save bdy package number
-                 jpiwob(nbdysegw) = nbdyind
-                 jpjwdt(nbdysegw) = nbdybeg
-                 jpjwft(nbdysegw) = nbdyend
-                 !
-              CASE DEFAULT   ;   CALL ctl_stop( 'ctypebdy must be N, S, E or W' )
-            END SELECT
-
-            ! For simplicity we assume that in case of straight bdy, arrays have the same length
-            ! (even if it is true that last tangential velocity points
-            ! are useless). This simplifies a little bit boundary data format (and agrees with format
-            ! used so far in obc package)
-
-            nblendta(1:jpbgrd,ib_bdy) =  (nbdyend - nbdybeg + 1) * nn_rimwidth(ib_bdy)
-            jpbdtas = MAX(jpbdtas, (nbdyend - nbdybeg + 1))
-            IF (lwp.and.(nn_rimwidth(ib_bdy)>nrimmax)) &
-            & CALL ctl_stop( 'rimwidth must be lower than nrimmax' )
-
-         ELSE            ! Read size of arrays in boundary coordinates file.
-            CALL iom_open( cn_coords_file(ib_bdy), inum )
-            DO igrd = 1, jpbgrd
-               id_dummy = iom_varid( inum, 'nbi'//cgrid(igrd), kdimsz=kdimsz )  
-               !clem nblendta(igrd,ib_bdy) = kdimsz(1)
-               !clem jpbdtau = MAX(jpbdtau, kdimsz(1))
-               nblendta(igrd,ib_bdy) = MAXVAL(kdimsz)
-               jpbdtau = MAX(jpbdtau, MAXVAL(kdimsz))
-            END DO
-            CALL iom_close( inum )
-            !
-         ENDIF 
-         !
-      END DO ! ib_bdy
-
-      IF (nb_bdy>0) THEN
-         jpbdta = MAXVAL(nblendta(1:jpbgrd,1:nb_bdy))
-
-         ! Allocate arrays
-         !---------------
-         ALLOCATE( nbidta(jpbdta, jpbgrd, nb_bdy), nbjdta(jpbdta, jpbgrd, nb_bdy),    &
-            &      nbrdta(jpbdta, jpbgrd, nb_bdy) )
-
-         IF( nb_jpk_bdy>0 ) THEN
-            ALLOCATE( dta_global(jpbdtau, 1, nb_jpk_bdy) )
-            ALLOCATE( dta_global_z(jpbdtau, 1, nb_jpk_bdy) )
-            ALLOCATE( dta_global_dz(jpbdtau, 1, nb_jpk_bdy) )
-         ELSE
-            ALLOCATE( dta_global(jpbdtau, 1, jpk) )
-            ALLOCATE( dta_global_z(jpbdtau, 1, jpk) ) ! needed ?? TODO
-            ALLOCATE( dta_global_dz(jpbdtau, 1, jpk) )! needed ?? TODO
-         ENDIF
-
-         IF ( icount>0 ) THEN
-            IF( nb_jpk_bdy>0 ) THEN
-               ALLOCATE( dta_global2(jpbdtas, nrimmax, nb_jpk_bdy) )
-               ALLOCATE( dta_global2_z(jpbdtas, nrimmax, nb_jpk_bdy) )
-               ALLOCATE( dta_global2_dz(jpbdtas, nrimmax, nb_jpk_bdy) )
-            ELSE
-               ALLOCATE( dta_global2(jpbdtas, nrimmax, jpk) )
-               ALLOCATE( dta_global2_z(jpbdtas, nrimmax, jpk) ) ! needed ?? TODO
-               ALLOCATE( dta_global2_dz(jpbdtas, nrimmax, jpk) )! needed ?? TODO  
-            ENDIF
-         ENDIF
-         ! 
-      ENDIF
-
-      ! Now look for crossings in user (namelist) defined open boundary segments:
-      !--------------------------------------------------------------------------
-      IF( icount>0 )   CALL bdy_ctl_seg
-
-      ! Calculate global boundary index arrays or read in from file
-      !------------------------------------------------------------               
-      ! 1. Read global index arrays from boundary coordinates file.
-      DO ib_bdy = 1, nb_bdy
-         !
-         IF( ln_coords_file(ib_bdy) ) THEN
-            !
-            CALL iom_open( cn_coords_file(ib_bdy), inum )
-            DO igrd = 1, jpbgrd
-               CALL iom_get( inum, jpdom_unknown, 'nbi'//cgrid(igrd), dta_global(1:nblendta(igrd,ib_bdy),:,1) )
-               DO ii = 1,nblendta(igrd,ib_bdy)
-                  nbidta(ii,igrd,ib_bdy) = INT( dta_global(ii,1,1) )
-               END DO
-               CALL iom_get( inum, jpdom_unknown, 'nbj'//cgrid(igrd), dta_global(1:nblendta(igrd,ib_bdy),:,1) )
-               DO ii = 1,nblendta(igrd,ib_bdy)
-                  nbjdta(ii,igrd,ib_bdy) = INT( dta_global(ii,1,1) )
-               END DO
-               CALL iom_get( inum, jpdom_unknown, 'nbr'//cgrid(igrd), dta_global(1:nblendta(igrd,ib_bdy),:,1) )
-               DO ii = 1,nblendta(igrd,ib_bdy)
-                  nbrdta(ii,igrd,ib_bdy) = INT( dta_global(ii,1,1) )
-               END DO
-               !
-               ibr_max = MAXVAL( nbrdta(:,igrd,ib_bdy) )
-               IF(lwp) WRITE(numout,*)
-               IF(lwp) WRITE(numout,*) ' Maximum rimwidth in file is ', ibr_max
-               IF(lwp) WRITE(numout,*) ' nn_rimwidth from namelist is ', nn_rimwidth(ib_bdy)
-               IF (ibr_max < nn_rimwidth(ib_bdy))   &
-                     CALL ctl_stop( 'nn_rimwidth is larger than maximum rimwidth in file',cn_coords_file(ib_bdy) )
-            END DO
-            CALL iom_close( inum )
-            !
-         ENDIF 
-         !
-      END DO      
-    
-      ! 2. Now fill indices corresponding to straight open boundary arrays:
-      ! East
-      !-----
-      DO iseg = 1, nbdysege
-         ib_bdy = npckge(iseg)
-         !
-         ! ------------ T points -------------
-         igrd=1
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-            DO ij = jpjedt(iseg), jpjeft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = jpieob(iseg) + 2 - ir
-               nbjdta(icount, igrd, ib_bdy) = ij
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-         ENDDO
-         !
-         ! ------------ U points -------------
-         igrd=2
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-            DO ij = jpjedt(iseg), jpjeft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = jpieob(iseg) + 1 - ir
-               nbjdta(icount, igrd, ib_bdy) = ij
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-         ENDDO
-         !
-         ! ------------ V points -------------
-         igrd=3
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-!            DO ij = jpjedt(iseg), jpjeft(iseg) - 1
-            DO ij = jpjedt(iseg), jpjeft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = jpieob(iseg) + 2 - ir
-               nbjdta(icount, igrd, ib_bdy) = ij
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-            nbidta(icount, igrd, ib_bdy) = -ib_bdy ! Discount this point
-            nbjdta(icount, igrd, ib_bdy) = -ib_bdy ! Discount this point
-         ENDDO
-      ENDDO
-      !
-      ! West
-      !-----
-      DO iseg = 1, nbdysegw
-         ib_bdy = npckgw(iseg)
-         !
-         ! ------------ T points -------------
-         igrd=1
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-            DO ij = jpjwdt(iseg), jpjwft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = jpiwob(iseg) + ir - 1
-               nbjdta(icount, igrd, ib_bdy) = ij
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-         ENDDO
-         !
-         ! ------------ U points -------------
-         igrd=2
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-            DO ij = jpjwdt(iseg), jpjwft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = jpiwob(iseg) + ir - 1
-               nbjdta(icount, igrd, ib_bdy) = ij
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-         ENDDO
-         !
-         ! ------------ V points -------------
-         igrd=3
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-!            DO ij = jpjwdt(iseg), jpjwft(iseg) - 1
-            DO ij = jpjwdt(iseg), jpjwft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = jpiwob(iseg) + ir - 1
-               nbjdta(icount, igrd, ib_bdy) = ij
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-            nbidta(icount, igrd, ib_bdy) = -ib_bdy ! Discount this point
-            nbjdta(icount, igrd, ib_bdy) = -ib_bdy ! Discount this point
-         ENDDO
-      ENDDO
-      !
-      ! North
-      !-----
-      DO iseg = 1, nbdysegn
-         ib_bdy = npckgn(iseg)
-         !
-         ! ------------ T points -------------
-         igrd=1
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-            DO ii = jpindt(iseg), jpinft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = ii
-               nbjdta(icount, igrd, ib_bdy) = jpjnob(iseg) + 2 - ir 
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-         ENDDO
-         !
-         ! ------------ U points -------------
-         igrd=2
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-!            DO ii = jpindt(iseg), jpinft(iseg) - 1
-            DO ii = jpindt(iseg), jpinft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = ii
-               nbjdta(icount, igrd, ib_bdy) = jpjnob(iseg) + 2 - ir
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-            nbidta(icount, igrd, ib_bdy) = -ib_bdy ! Discount this point
-            nbjdta(icount, igrd, ib_bdy) = -ib_bdy ! Discount this point
-         ENDDO
-         !
-         ! ------------ V points -------------
-         igrd=3
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-            DO ii = jpindt(iseg), jpinft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = ii
-               nbjdta(icount, igrd, ib_bdy) = jpjnob(iseg) + 1 - ir
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-         ENDDO
-      ENDDO
-      !
-      ! South
-      !-----
-      DO iseg = 1, nbdysegs
-         ib_bdy = npckgs(iseg)
-         !
-         ! ------------ T points -------------
-         igrd=1
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-            DO ii = jpisdt(iseg), jpisft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = ii
-               nbjdta(icount, igrd, ib_bdy) = jpjsob(iseg) + ir - 1
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-         ENDDO
-         !
-         ! ------------ U points -------------
-         igrd=2
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-!            DO ii = jpisdt(iseg), jpisft(iseg) - 1
-            DO ii = jpisdt(iseg), jpisft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = ii
-               nbjdta(icount, igrd, ib_bdy) = jpjsob(iseg) + ir - 1
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-            nbidta(icount, igrd, ib_bdy) = -ib_bdy ! Discount this point
-            nbjdta(icount, igrd, ib_bdy) = -ib_bdy ! Discount this point
-         ENDDO
-         !
-         ! ------------ V points -------------
-         igrd=3
-         icount=0
-         DO ir = 1, nn_rimwidth(ib_bdy)
-            DO ii = jpisdt(iseg), jpisft(iseg)
-               icount = icount + 1
-               nbidta(icount, igrd, ib_bdy) = ii
-               nbjdta(icount, igrd, ib_bdy) = jpjsob(iseg) + ir - 1
-               nbrdta(icount, igrd, ib_bdy) = ir
-            ENDDO
-         ENDDO
-      ENDDO
-
-      !  Deal with duplicated points
-      !-----------------------------
-      ! We assign negative indices to duplicated points (to remove them from bdy points to be updated)
-      ! if their distance to the bdy is greater than the other
-      ! If their distance are the same, just keep only one to avoid updating a point twice
-      DO igrd = 1, jpbgrd
-         DO ib_bdy1 = 1, nb_bdy
-            DO ib_bdy2 = 1, nb_bdy
-               IF (ib_bdy1/=ib_bdy2) THEN
-                  DO ib1 = 1, nblendta(igrd,ib_bdy1)
-                     DO ib2 = 1, nblendta(igrd,ib_bdy2)
-                        IF ((nbidta(ib1, igrd, ib_bdy1)==nbidta(ib2, igrd, ib_bdy2)).AND. &
-                        &   (nbjdta(ib1, igrd, ib_bdy1)==nbjdta(ib2, igrd, ib_bdy2))) THEN
-!                           IF ((lwp).AND.(igrd==1)) WRITE(numout,*) ' found coincident point ji, jj:', & 
-!                                                       &              nbidta(ib1, igrd, ib_bdy1),      & 
-!                                                       &              nbjdta(ib2, igrd, ib_bdy2)
-                           ! keep only points with the lowest distance to boundary:
-                           IF (nbrdta(ib1, igrd, ib_bdy1)<nbrdta(ib2, igrd, ib_bdy2)) THEN
-                             nbidta(ib2, igrd, ib_bdy2) =-ib_bdy2
-                             nbjdta(ib2, igrd, ib_bdy2) =-ib_bdy2
-                           ELSEIF (nbrdta(ib1, igrd, ib_bdy1)>nbrdta(ib2, igrd, ib_bdy2)) THEN
-                             nbidta(ib1, igrd, ib_bdy1) =-ib_bdy1
-                             nbjdta(ib1, igrd, ib_bdy1) =-ib_bdy1
-                           ! Arbitrary choice if distances are the same:
-                           ELSE
-                             nbidta(ib1, igrd, ib_bdy1) =-ib_bdy1
-                             nbjdta(ib1, igrd, ib_bdy1) =-ib_bdy1
-                           ENDIF
-                        END IF
-                     END DO
-                  END DO
-               ENDIF
-            END DO
-         END DO
-      END DO
-
-      ! Work out dimensions of boundary data on each processor
-      ! ------------------------------------------------------
-
-      ! Rather assume that boundary data indices are given on global domain
-      ! TO BE DISCUSSED ?
-!      iw = mig(1) + 1            ! if monotasking and no zoom, iw=2
-!      ie = mig(1) + nlci-1 - 1   ! if monotasking and no zoom, ie=jpim1
-!      is = mjg(1) + 1            ! if monotasking and no zoom, is=2
-!      in = mjg(1) + nlcj-1 - 1   ! if monotasking and no zoom, in=jpjm1      
-      iwe = mig(1) - 1 + 2         ! if monotasking and no zoom, iw=2
-      ies = mig(1) + nlci-1 - 1  ! if monotasking and no zoom, ie=jpim1
-      iso = mjg(1) - 1 + 2         ! if monotasking and no zoom, is=2
-      ino = mjg(1) + nlcj-1 - 1  ! if monotasking and no zoom, in=jpjm1
-
-      ALLOCATE( nbondi_bdy(nb_bdy))
-      ALLOCATE( nbondj_bdy(nb_bdy))
-      nbondi_bdy(:)=2
-      nbondj_bdy(:)=2
-      ALLOCATE( nbondi_bdy_b(nb_bdy))
-      ALLOCATE( nbondj_bdy_b(nb_bdy))
-      nbondi_bdy_b(:)=2
-      nbondj_bdy_b(:)=2
-
-      ! Work out dimensions of boundary data on each neighbour process
-      IF(nbondi == 0) THEN
-         iw_b(1) = 1 + nimppt(nowe+1)
-         ie_b(1) = 1 + nimppt(nowe+1)+nlcit(nowe+1)-3
-         is_b(1) = 1 + njmppt(nowe+1)
-         in_b(1) = 1 + njmppt(nowe+1)+nlcjt(nowe+1)-3
-
-         iw_b(2) = 1 + nimppt(noea+1)
-         ie_b(2) = 1 + nimppt(noea+1)+nlcit(noea+1)-3
-         is_b(2) = 1 + njmppt(noea+1)
-         in_b(2) = 1 + njmppt(noea+1)+nlcjt(noea+1)-3
-      ELSEIF(nbondi == 1) THEN
-         iw_b(1) = 1 + nimppt(nowe+1)
-         ie_b(1) = 1 + nimppt(nowe+1)+nlcit(nowe+1)-3
-         is_b(1) = 1 + njmppt(nowe+1)
-         in_b(1) = 1 + njmppt(nowe+1)+nlcjt(nowe+1)-3
-      ELSEIF(nbondi == -1) THEN
-         iw_b(2) = 1 + nimppt(noea+1)
-         ie_b(2) = 1 + nimppt(noea+1)+nlcit(noea+1)-3
-         is_b(2) = 1 + njmppt(noea+1)
-         in_b(2) = 1 + njmppt(noea+1)+nlcjt(noea+1)-3
-      ENDIF
-
-      IF(nbondj == 0) THEN
-         iw_b(3) = 1 + nimppt(noso+1)
-         ie_b(3) = 1 + nimppt(noso+1)+nlcit(noso+1)-3
-         is_b(3) = 1 + njmppt(noso+1)
-         in_b(3) = 1 + njmppt(noso+1)+nlcjt(noso+1)-3
-
-         iw_b(4) = 1 + nimppt(nono+1)
-         ie_b(4) = 1 + nimppt(nono+1)+nlcit(nono+1)-3
-         is_b(4) = 1 + njmppt(nono+1)
-         in_b(4) = 1 + njmppt(nono+1)+nlcjt(nono+1)-3
-      ELSEIF(nbondj == 1) THEN
-         iw_b(3) = 1 + nimppt(noso+1)
-         ie_b(3) = 1 + nimppt(noso+1)+nlcit(noso+1)-3
-         is_b(3) = 1 + njmppt(noso+1)
-         in_b(3) = 1 + njmppt(noso+1)+nlcjt(noso+1)-3
-      ELSEIF(nbondj == -1) THEN
-         iw_b(4) = 1 + nimppt(nono+1)
-         ie_b(4) = 1 + nimppt(nono+1)+nlcit(nono+1)-3
-         is_b(4) = 1 + njmppt(nono+1)
-         in_b(4) = 1 + njmppt(nono+1)+nlcjt(nono+1)-3
-      ENDIF
-
-      DO ib_bdy = 1, nb_bdy
-         DO igrd = 1, jpbgrd
-            icount  = 0
-            icountr = 0
-            idx_bdy(ib_bdy)%nblen(igrd)    = 0
-            idx_bdy(ib_bdy)%nblenrim(igrd) = 0
-            DO ib = 1, nblendta(igrd,ib_bdy)
-               ! check that data is in correct order in file
-               ibm1 = MAX(1,ib-1)
-               IF(lwp) THEN         ! Since all procs read global data only need to do this check on one proc...
-                  IF( nbrdta(ib,igrd,ib_bdy) < nbrdta(ibm1,igrd,ib_bdy) ) THEN
-                     CALL ctl_stop('bdy_segs : ERROR : boundary data in file must be defined ', &
-                          &        ' in order of distance from edge nbr A utility for re-ordering ', &
-                          &        ' boundary coordinates and data files exists in the TOOLS/OBC directory')
-                  ENDIF    
-               ENDIF
-               ! check if point is in local domain
-               IF(  nbidta(ib,igrd,ib_bdy) >= iwe .AND. nbidta(ib,igrd,ib_bdy) <= ies .AND.   &
-                  & nbjdta(ib,igrd,ib_bdy) >= iso .AND. nbjdta(ib,igrd,ib_bdy) <= ino      ) THEN
-                  !
-                  icount = icount  + 1
-                  !
-                  IF( nbrdta(ib,igrd,ib_bdy) == 1 )   icountr = icountr+1
-               ENDIF
-            ENDDO
-            idx_bdy(ib_bdy)%nblenrim(igrd) = icountr !: length of rim boundary data on each proc
-            idx_bdy(ib_bdy)%nblen   (igrd) = icount  !: length of boundary data on each proc        
-         ENDDO  ! igrd
-
-         ! Allocate index arrays for this boundary set
-         !--------------------------------------------
-         ilen1 = MAXVAL( idx_bdy(ib_bdy)%nblen(:) )
-         ALLOCATE( idx_bdy(ib_bdy)%nbi   (ilen1,jpbgrd) )
-         ALLOCATE( idx_bdy(ib_bdy)%nbj   (ilen1,jpbgrd) )
-         ALLOCATE( idx_bdy(ib_bdy)%nbr   (ilen1,jpbgrd) )
-         ALLOCATE( idx_bdy(ib_bdy)%nbd   (ilen1,jpbgrd) )
-         ALLOCATE( idx_bdy(ib_bdy)%nbdout(ilen1,jpbgrd) )
-         ALLOCATE( idx_bdy(ib_bdy)%nbmap (ilen1,jpbgrd) )
-         ALLOCATE( idx_bdy(ib_bdy)%nbw   (ilen1,jpbgrd) )
-         ALLOCATE( idx_bdy(ib_bdy)%flagu (ilen1,jpbgrd) )
-         ALLOCATE( idx_bdy(ib_bdy)%flagv (ilen1,jpbgrd) )
-
-         ! Dispatch mapping indices and discrete distances on each processor
-         ! -----------------------------------------------------------------
-
-         com_east  = 0
-         com_west  = 0
-         com_south = 0
-         com_north = 0
-
-         com_east_b  = 0
-         com_west_b  = 0
-         com_south_b = 0
-         com_north_b = 0
-
-         DO igrd = 1, jpbgrd
-            icount  = 0
-            ! Loop on rimwidth to ensure outermost points come first in the local arrays.
-            DO ir=1, nn_rimwidth(ib_bdy)
-               DO ib = 1, nblendta(igrd,ib_bdy)
-                  ! check if point is in local domain and equals ir
-                  IF(  nbidta(ib,igrd,ib_bdy) >= iwe .AND. nbidta(ib,igrd,ib_bdy) <= ies .AND.   &
-                     & nbjdta(ib,igrd,ib_bdy) >= iso .AND. nbjdta(ib,igrd,ib_bdy) <= ino .AND.   &
-                     & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN
-                     !
-                     icount = icount  + 1
-
-                     ! Rather assume that boundary data indices are given on global domain
-                     ! TO BE DISCUSSED ?
-!                     idx_bdy(ib_bdy)%nbi(icount,igrd)   = nbidta(ib,igrd,ib_bdy)- mig(1)+1
-!                     idx_bdy(ib_bdy)%nbj(icount,igrd)   = nbjdta(ib,igrd,ib_bdy)- mjg(1)+1
-                     idx_bdy(ib_bdy)%nbi(icount,igrd)   = nbidta(ib,igrd,ib_bdy)- mig(1)+1
-                     idx_bdy(ib_bdy)%nbj(icount,igrd)   = nbjdta(ib,igrd,ib_bdy)- mjg(1)+1
-                     ! check if point has to be sent
-                     ii = idx_bdy(ib_bdy)%nbi(icount,igrd)
-                     ij = idx_bdy(ib_bdy)%nbj(icount,igrd)
-                     if((com_east .ne. 1) .and. (ii == (nlci-1)) .and. (nbondi .le. 0)) then
-                        com_east = 1
-                     elseif((com_west .ne. 1) .and. (ii == 2) .and. (nbondi .ge. 0) .and. (nbondi .ne. 2)) then
-                        com_west = 1
-                     endif 
-                     if((com_south .ne. 1) .and. (ij == 2) .and. (nbondj .ge. 0) .and. (nbondj .ne. 2)) then
-                        com_south = 1
-                     elseif((com_north .ne. 1) .and. (ij == (nlcj-1)) .and. (nbondj .le. 0)) then
-                        com_north = 1
-                     endif 
-                     idx_bdy(ib_bdy)%nbr(icount,igrd)   = nbrdta(ib,igrd,ib_bdy)
-                     idx_bdy(ib_bdy)%nbmap(icount,igrd) = ib
-                  ENDIF
-                  ! check if point has to be received from a neighbour
-                  IF(nbondi == 0) THEN
-                     IF( nbidta(ib,igrd,ib_bdy) >= iw_b(1) .AND. nbidta(ib,igrd,ib_bdy) <= ie_b(1) .AND.   &
-                       & nbjdta(ib,igrd,ib_bdy) >= is_b(1) .AND. nbjdta(ib,igrd,ib_bdy) <= in_b(1) .AND.   &
-                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN
-                       ii = nbidta(ib,igrd,ib_bdy)- iw_b(1)+2
-                       if((com_west_b .ne. 1) .and. (ii == (nlcit(nowe+1)-1))) then
-                          ij = nbjdta(ib,igrd,ib_bdy) - is_b(1)+2
-                          if((ij == 2) .and. (nbondj == 0 .or. nbondj == 1)) then
-                            com_south = 1
-                          elseif((ij == nlcjt(nowe+1)-1) .and. (nbondj == 0 .or. nbondj == -1)) then
-                            com_north = 1
-                          endif
-                          com_west_b = 1
-                       endif 
-                     ENDIF
-                     IF( nbidta(ib,igrd,ib_bdy) >= iw_b(2) .AND. nbidta(ib,igrd,ib_bdy) <= ie_b(2) .AND.   &
-                       & nbjdta(ib,igrd,ib_bdy) >= is_b(2) .AND. nbjdta(ib,igrd,ib_bdy) <= in_b(2) .AND.   &
-                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN
-                       ii = nbidta(ib,igrd,ib_bdy)- iw_b(2)+2
-                       if((com_east_b .ne. 1) .and. (ii == 2)) then
-                          ij = nbjdta(ib,igrd,ib_bdy) - is_b(2)+2
-                          if((ij == 2) .and. (nbondj == 0 .or. nbondj == 1)) then
-                            com_south = 1
-                          elseif((ij == nlcjt(noea+1)-1) .and. (nbondj == 0 .or. nbondj == -1)) then
-                            com_north = 1
-                          endif
-                          com_east_b = 1
-                       endif 
-                     ENDIF
-                  ELSEIF(nbondi == 1) THEN
-                     IF( nbidta(ib,igrd,ib_bdy) >= iw_b(1) .AND. nbidta(ib,igrd,ib_bdy) <= ie_b(1) .AND.   &
-                       & nbjdta(ib,igrd,ib_bdy) >= is_b(1) .AND. nbjdta(ib,igrd,ib_bdy) <= in_b(1) .AND.   &
-                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN
-                       ii = nbidta(ib,igrd,ib_bdy)- iw_b(1)+2
-                       if((com_west_b .ne. 1) .and. (ii == (nlcit(nowe+1)-1))) then
-                          ij = nbjdta(ib,igrd,ib_bdy) - is_b(1)+2
-                          if((ij == 2) .and. (nbondj == 0 .or. nbondj == 1)) then
-                            com_south = 1
-                          elseif((ij == nlcjt(nowe+1)-1) .and. (nbondj == 0 .or. nbondj == -1)) then
-                            com_north = 1
-                          endif
-                          com_west_b = 1
-                       endif 
-                     ENDIF
-                  ELSEIF(nbondi == -1) THEN
-                     IF( nbidta(ib,igrd,ib_bdy) >= iw_b(2) .AND. nbidta(ib,igrd,ib_bdy) <= ie_b(2) .AND.   &
-                       & nbjdta(ib,igrd,ib_bdy) >= is_b(2) .AND. nbjdta(ib,igrd,ib_bdy) <= in_b(2) .AND.   &
-                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN
-                       ii = nbidta(ib,igrd,ib_bdy)- iw_b(2)+2
-                       if((com_east_b .ne. 1) .and. (ii == 2)) then
-                          ij = nbjdta(ib,igrd,ib_bdy) - is_b(2)+2
-                          if((ij == 2) .and. (nbondj == 0 .or. nbondj == 1)) then
-                            com_south = 1
-                          elseif((ij == nlcjt(noea+1)-1) .and. (nbondj == 0 .or. nbondj == -1)) then
-                            com_north = 1
-                          endif
-                          com_east_b = 1
-                       endif 
-                     ENDIF
-                  ENDIF
-                  IF(nbondj == 0) THEN
-                     IF(com_north_b .ne. 1 .AND. (nbidta(ib,igrd,ib_bdy) == iw_b(4)-1  &
-                       & .OR. nbidta(ib,igrd,ib_bdy) == ie_b(4)+1) .AND. &
-                       & nbjdta(ib,igrd,ib_bdy) == is_b(4) .AND. nbrdta(ib,igrd,ib_bdy) == ir) THEN
-                       com_north_b = 1 
-                     ENDIF
-                     IF(com_south_b .ne. 1 .AND. (nbidta(ib,igrd,ib_bdy) == iw_b(3)-1  &
-                       &.OR. nbidta(ib,igrd,ib_bdy) == ie_b(3)+1) .AND. &
-                       & nbjdta(ib,igrd,ib_bdy) == in_b(3) .AND. nbrdta(ib,igrd,ib_bdy) == ir) THEN
-                       com_south_b = 1 
-                     ENDIF
-                     IF( nbidta(ib,igrd,ib_bdy) >= iw_b(3) .AND. nbidta(ib,igrd,ib_bdy) <= ie_b(3) .AND.   &
-                       & nbjdta(ib,igrd,ib_bdy) >= is_b(3) .AND. nbjdta(ib,igrd,ib_bdy) <= in_b(3) .AND.   &
-                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN
-                       ij = nbjdta(ib,igrd,ib_bdy)- is_b(3)+2
-                       if((com_south_b .ne. 1) .and. (ij == (nlcjt(noso+1)-1))) then
-                          com_south_b = 1
-                       endif 
-                     ENDIF
-                     IF( nbidta(ib,igrd,ib_bdy) >= iw_b(4) .AND. nbidta(ib,igrd,ib_bdy) <= ie_b(4) .AND.   &
-                       & nbjdta(ib,igrd,ib_bdy) >= is_b(4) .AND. nbjdta(ib,igrd,ib_bdy) <= in_b(4) .AND.   &
-                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN
-                       ij = nbjdta(ib,igrd,ib_bdy)- is_b(4)+2
-                       if((com_north_b .ne. 1) .and. (ij == 2)) then
-                          com_north_b = 1
-                       endif 
-                     ENDIF
-                  ELSEIF(nbondj == 1) THEN
-                     IF( com_south_b .ne. 1 .AND. (nbidta(ib,igrd,ib_bdy) == iw_b(3)-1 .OR. &
-                       & nbidta(ib,igrd,ib_bdy) == ie_b(3)+1) .AND. &
-                       & nbjdta(ib,igrd,ib_bdy) == in_b(3) .AND. nbrdta(ib,igrd,ib_bdy) == ir) THEN
-                       com_south_b = 1 
-                     ENDIF
-                     IF( nbidta(ib,igrd,ib_bdy) >= iw_b(3) .AND. nbidta(ib,igrd,ib_bdy) <= ie_b(3) .AND.   &
-                       & nbjdta(ib,igrd,ib_bdy) >= is_b(3) .AND. nbjdta(ib,igrd,ib_bdy) <= in_b(3) .AND.   &
-                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN
-                       ij = nbjdta(ib,igrd,ib_bdy)- is_b(3)+2
-                       if((com_south_b .ne. 1) .and. (ij == (nlcjt(noso+1)-1))) then
-                          com_south_b = 1
-                       endif 
-                     ENDIF
-                  ELSEIF(nbondj == -1) THEN
-                     IF(com_north_b .ne. 1 .AND. (nbidta(ib,igrd,ib_bdy) == iw_b(4)-1  &
-                       & .OR. nbidta(ib,igrd,ib_bdy) == ie_b(4)+1) .AND. &
-                       & nbjdta(ib,igrd,ib_bdy) == is_b(4) .AND. nbrdta(ib,igrd,ib_bdy) == ir) THEN
-                       com_north_b = 1 
-                     ENDIF
-                     IF( nbidta(ib,igrd,ib_bdy) >= iw_b(4) .AND. nbidta(ib,igrd,ib_bdy) <= ie_b(4) .AND.   &
-                       & nbjdta(ib,igrd,ib_bdy) >= is_b(4) .AND. nbjdta(ib,igrd,ib_bdy) <= in_b(4) .AND.   &
-                       & nbrdta(ib,igrd,ib_bdy) == ir  ) THEN
-                       ij = nbjdta(ib,igrd,ib_bdy)- is_b(4)+2
-                       if((com_north_b .ne. 1) .and. (ij == 2)) then
-                          com_north_b = 1
-                       endif 
-                     ENDIF
-                  ENDIF
-               ENDDO
-            ENDDO
-         ENDDO 
-
-         ! definition of the i- and j- direction local boundaries arrays used for sending the boundaries
-         IF(     (com_east  == 1) .and. (com_west  == 1) ) THEN   ;   nbondi_bdy(ib_bdy) =  0
-         ELSEIF( (com_east  == 1) .and. (com_west  == 0) ) THEN   ;   nbondi_bdy(ib_bdy) = -1
-         ELSEIF( (com_east  == 0) .and. (com_west  == 1) ) THEN   ;   nbondi_bdy(ib_bdy) =  1
-         ENDIF
-         IF(     (com_north == 1) .and. (com_south == 1) ) THEN   ;   nbondj_bdy(ib_bdy) =  0
-         ELSEIF( (com_north == 1) .and. (com_south == 0) ) THEN   ;   nbondj_bdy(ib_bdy) = -1
-         ELSEIF( (com_north == 0) .and. (com_south == 1) ) THEN   ;   nbondj_bdy(ib_bdy) =  1
-         ENDIF
-
-         ! definition of the i- and j- direction local boundaries arrays used for receiving the boundaries
-         IF(     (com_east_b  == 1) .and. (com_west_b  == 1) ) THEN   ;   nbondi_bdy_b(ib_bdy) =  0
-         ELSEIF( (com_east_b  == 1) .and. (com_west_b  == 0) ) THEN   ;   nbondi_bdy_b(ib_bdy) = -1
-         ELSEIF( (com_east_b  == 0) .and. (com_west_b  == 1) ) THEN   ;   nbondi_bdy_b(ib_bdy) =  1
-         ENDIF
-         IF(     (com_north_b == 1) .and. (com_south_b == 1) ) THEN   ;   nbondj_bdy_b(ib_bdy) =  0
-         ELSEIF( (com_north_b == 1) .and. (com_south_b == 0) ) THEN   ;   nbondj_bdy_b(ib_bdy) = -1
-         ELSEIF( (com_north_b == 0) .and. (com_south_b == 1) ) THEN   ;   nbondj_bdy_b(ib_bdy) =  1
-         ENDIF
-
-         ! Compute rim weights for FRS scheme
-         ! ----------------------------------
-         DO igrd = 1, jpbgrd
-            DO ib = 1, idx_bdy(ib_bdy)%nblen(igrd)
-               nbr => idx_bdy(ib_bdy)%nbr(ib,igrd)
-               idx_bdy(ib_bdy)%nbw(ib,igrd) = 1.- TANH( REAL( nbr - 1 ) *0.5 )      ! tanh formulation
-!               idx_bdy(ib_bdy)%nbw(ib,igrd) = (REAL(nn_rimwidth(ib_bdy)+1-nbr)/REAL(nn_rimwidth(ib_bdy)))**2.  ! quadratic
-!               idx_bdy(ib_bdy)%nbw(ib,igrd) =  REAL(nn_rimwidth(ib_bdy)+1-nbr)/REAL(nn_rimwidth(ib_bdy))       ! linear
-            END DO
-         END DO 
-
-         ! Compute damping coefficients
-         ! ----------------------------
-         DO igrd = 1, jpbgrd
-            DO ib = 1, idx_bdy(ib_bdy)%nblen(igrd)
-               nbr => idx_bdy(ib_bdy)%nbr(ib,igrd)
-               idx_bdy(ib_bdy)%nbd(ib,igrd) = 1. / ( rn_time_dmp(ib_bdy) * rday ) & 
-               & *(REAL(nn_rimwidth(ib_bdy)+1-nbr)/REAL(nn_rimwidth(ib_bdy)))**2.   ! quadratic
-               idx_bdy(ib_bdy)%nbdout(ib,igrd) = 1. / ( rn_time_dmp_out(ib_bdy) * rday ) & 
-               & *(REAL(nn_rimwidth(ib_bdy)+1-nbr)/REAL(nn_rimwidth(ib_bdy)))**2.   ! quadratic
-            END DO
-         END DO 
-
-      ENDDO
-
-      ! ------------------------------------------------------
-      ! Initialise masks and find normal/tangential directions
-      ! ------------------------------------------------------
-
-      ! Read global 2D mask at T-points: bdytmask
-      ! -----------------------------------------
-      ! bdytmask = 1  on the computational domain AND on open boundaries
-      !          = 0  elsewhere   
- 
-      bdytmask(:,:) = ssmask(:,:)
-
-      ! we need to derive mask on U and V grid from mask on T grid here.
-      bdyumask(:,:) = 0._wp
-      bdyvmask(:,:) = 0._wp
-      DO ij = 1, jpjm1
-         DO ii = 1, jpim1
-            bdyumask(ii,ij) = bdytmask(ii,ij) * bdytmask(ii+1, ij )
-            bdyvmask(ii,ij) = bdytmask(ii,ij) * bdytmask(ii  ,ij+1)  
-         END DO
-      END DO
-      CALL lbc_lnk( bdyumask(:,:), 'U', 1. )   ;   CALL lbc_lnk( bdyvmask(:,:), 'V', 1. )      ! Lateral boundary cond.
-     
-      ! bdy masks are now set to zero on boundary points:
-      !
-      igrd = 1
-      DO ib_bdy = 1, nb_bdy
-        DO ib = 1, idx_bdy(ib_bdy)%nblenrim(igrd)      
-          bdytmask(idx_bdy(ib_bdy)%nbi(ib,igrd), idx_bdy(ib_bdy)%nbj(ib,igrd)) = 0._wp
-        END DO
-      END DO
-      !
-      igrd = 2
-      DO ib_bdy = 1, nb_bdy
-        DO ib = 1, idx_bdy(ib_bdy)%nblenrim(igrd)
-          bdyumask(idx_bdy(ib_bdy)%nbi(ib,igrd), idx_bdy(ib_bdy)%nbj(ib,igrd)) = 0._wp
-        END DO
-      END DO
-      !
-      igrd = 3
-      DO ib_bdy = 1, nb_bdy
-        DO ib = 1, idx_bdy(ib_bdy)%nblenrim(igrd)
-          bdyvmask(idx_bdy(ib_bdy)%nbi(ib,igrd), idx_bdy(ib_bdy)%nbj(ib,igrd)) = 0._wp
-        ENDDO
-      ENDDO
-
-      ! For the flagu/flagv calculation below we require a version of fmask without
-      ! the land boundary condition (shlat) included:
-      CALL wrk_alloc(jpi,jpj,  zfmask ) 
-      DO ij = 2, jpjm1
-         DO ii = 2, jpim1
-            zfmask(ii,ij) = tmask(ii,ij  ,1) * tmask(ii+1,ij  ,1)   &
-           &              * tmask(ii,ij+1,1) * tmask(ii+1,ij+1,1)
-         END DO      
-      END DO
-
-      ! Lateral boundary conditions
-      CALL lbc_lnk( zfmask       , 'F', 1. )
-      CALL lbc_lnk( fmask        , 'F', 1. )   ;   CALL lbc_lnk( bdytmask(:,:), 'T', 1. )
-      CALL lbc_lnk( bdyumask(:,:), 'U', 1. )   ;   CALL lbc_lnk( bdyvmask(:,:), 'V', 1. )
-
-      DO ib_bdy = 1, nb_bdy       ! Indices and directions of rim velocity components
-
-         idx_bdy(ib_bdy)%flagu(:,:) = 0._wp
-         idx_bdy(ib_bdy)%flagv(:,:) = 0._wp
-         icount = 0 
-
-         ! Calculate relationship of U direction to the local orientation of the boundary
-         ! flagu = -1 : u component is normal to the dynamical boundary and its direction is outward
-         ! flagu =  0 : u is tangential
-         ! flagu =  1 : u is normal to the boundary and is direction is inward
-  
-         DO igrd = 1,jpbgrd 
-            SELECT CASE( igrd )
-               CASE( 1 )   ;   pmask => umask   (:,:,1)   ;   i_offset = 0
-               CASE( 2 )   ;   pmask => bdytmask(:,:)     ;   i_offset = 1
-               CASE( 3 )   ;   pmask => zfmask  (:,:)     ;   i_offset = 0
-            END SELECT 
-            icount = 0
-            DO ib = 1, idx_bdy(ib_bdy)%nblenrim(igrd)  
-               nbi => idx_bdy(ib_bdy)%nbi(ib,igrd)
-               nbj => idx_bdy(ib_bdy)%nbj(ib,igrd)
-               zefl = pmask(nbi+i_offset-1,nbj)
-               zwfl = pmask(nbi+i_offset,nbj)
-               ! This error check only works if you are using the bdyXmask arrays
-               IF( i_offset == 1 .and. zefl + zwfl == 2 ) THEN
-                  icount = icount + 1
-                  IF(lwp) WRITE(numout,*) 'Problem with igrd = ',igrd,' at (global) nbi, nbj : ',mig(nbi),mjg(nbj)
-               ELSE
-                  idx_bdy(ib_bdy)%flagu(ib,igrd) = -zefl + zwfl
-               ENDIF
-            END DO
-            IF( icount /= 0 ) THEN
-               IF(lwp) WRITE(numout,*)
-               IF(lwp) WRITE(numout,*) ' E R R O R : Some ',cgrid(igrd),' grid points,',   &
-                  ' are not boundary points (flagu calculation). Check nbi, nbj, indices for boundary set ',ib_bdy
-               IF(lwp) WRITE(numout,*) ' ========== '
-               IF(lwp) WRITE(numout,*)
-               nstop = nstop + 1
-            ENDIF 
-         END DO
-
-         ! Calculate relationship of V direction to the local orientation of the boundary
-         ! flagv = -1 : v component is normal to the dynamical boundary but its direction is outward
-         ! flagv =  0 : v is tangential
-         ! flagv =  1 : v is normal to the boundary and is direction is inward
-
-         DO igrd = 1, jpbgrd 
-            SELECT CASE( igrd )
-               CASE( 1 )   ;   pmask => vmask (:,:,1)   ;   j_offset = 0
-               CASE( 2 )   ;   pmask => zfmask(:,:)     ;   j_offset = 0
-               CASE( 3 )   ;   pmask => bdytmask        ;   j_offset = 1
-            END SELECT 
-            icount = 0
-            DO ib = 1, idx_bdy(ib_bdy)%nblenrim(igrd)  
-               nbi => idx_bdy(ib_bdy)%nbi(ib,igrd)
-               nbj => idx_bdy(ib_bdy)%nbj(ib,igrd)
-               znfl = pmask(nbi,nbj+j_offset-1)
-               zsfl = pmask(nbi,nbj+j_offset  )
-               ! This error check only works if you are using the bdyXmask arrays
-               IF( j_offset == 1 .and. znfl + zsfl == 2 ) THEN
-                  IF(lwp) WRITE(numout,*) 'Problem with igrd = ',igrd,' at (global) nbi, nbj : ',mig(nbi),mjg(nbj)
-                  icount = icount + 1
-               ELSE
-                  idx_bdy(ib_bdy)%flagv(ib,igrd) = -znfl + zsfl
-               END IF
-            END DO
-            IF( icount /= 0 ) THEN
-               IF(lwp) WRITE(numout,*)
-               IF(lwp) WRITE(numout,*) ' E R R O R : Some ',cgrid(igrd),' grid points,',   &
-                  ' are not boundary points (flagv calculation). Check nbi, nbj, indices for boundary set ',ib_bdy
-               IF(lwp) WRITE(numout,*) ' ========== '
-               IF(lwp) WRITE(numout,*)
-               nstop = nstop + 1
-            ENDIF 
-         END DO
-         !
-      END DO
-
-      ! Compute total lateral surface for volume correction:
-      ! ----------------------------------------------------
-      ! JC: this must be done at each time step with non-linear free surface
-      bdysurftot = 0._wp 
-      IF( ln_vol ) THEN  
-         igrd = 2      ! Lateral surface at U-points
-         DO ib_bdy = 1, nb_bdy
-            DO ib = 1, idx_bdy(ib_bdy)%nblenrim(igrd)
-               nbi => idx_bdy(ib_bdy)%nbi(ib,igrd)
-               nbj => idx_bdy(ib_bdy)%nbj(ib,igrd)
-               flagu => idx_bdy(ib_bdy)%flagu(ib,igrd)
-               bdysurftot = bdysurftot + hu_n   (nbi  , nbj)                           &
-                  &                    * e2u    (nbi  , nbj) * ABS( flagu ) &
-                  &                    * tmask_i(nbi  , nbj)                           &
-                  &                    * tmask_i(nbi+1, nbj)                   
-            END DO
-         END DO
-
-         igrd=3 ! Add lateral surface at V-points
-         DO ib_bdy = 1, nb_bdy
-            DO ib = 1, idx_bdy(ib_bdy)%nblenrim(igrd)
-               nbi => idx_bdy(ib_bdy)%nbi(ib,igrd)
-               nbj => idx_bdy(ib_bdy)%nbj(ib,igrd)
-               flagv => idx_bdy(ib_bdy)%flagv(ib,igrd)
-               bdysurftot = bdysurftot + hv_n   (nbi, nbj  )                           &
-                  &                    * e1v    (nbi, nbj  ) * ABS( flagv ) &
-                  &                    * tmask_i(nbi, nbj  )                           &
-                  &                    * tmask_i(nbi, nbj+1)
-            END DO
-         END DO
-         !
-         IF( lk_mpp )   CALL mpp_sum( bdysurftot )      ! sum over the global domain
-      END IF   
-      !
-      ! Tidy up
-      !--------
-      IF( nb_bdy>0 )   DEALLOCATE( nbidta, nbjdta, nbrdta )
-      !
-      CALL wrk_dealloc(jpi,jpj,   zfmask ) 
-      !
-      IF( nn_timing == 1 )   CALL timing_stop('bdy_segs')
-      !
-   END SUBROUTINE bdy_segs
-
-   SUBROUTINE bdy_ctl_seg
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE bdy_ctl_seg  ***
-      !!
-      !! ** Purpose :   Check straight open boundary segments location
-      !!
-      !! ** Method  :   - Look for open boundary corners
-      !!                - Check that segments start or end on land 
-      !!----------------------------------------------------------------------
-      INTEGER  ::   ib, ib1, ib2, ji ,jj, itest  
-      INTEGER, DIMENSION(jp_nseg,2) :: icorne, icornw, icornn, icorns  
-      REAL(wp), DIMENSION(2) ::   ztestmask
-      !!----------------------------------------------------------------------
-      !
-      IF (lwp) WRITE(numout,*) ' '
-      IF (lwp) WRITE(numout,*) 'bdy_ctl_seg: Check analytical segments'
-      IF (lwp) WRITE(numout,*) '~~~~~~~~~~~~'
-      !
-      IF(lwp) WRITE(numout,*) 'Number of east  segments     : ', nbdysege
-      IF(lwp) WRITE(numout,*) 'Number of west  segments     : ', nbdysegw
-      IF(lwp) WRITE(numout,*) 'Number of north segments     : ', nbdysegn
-      IF(lwp) WRITE(numout,*) 'Number of south segments     : ', nbdysegs
-      ! 1. Check bounds
-      !----------------
-      DO ib = 1, nbdysegn
-         IF (lwp) WRITE(numout,*) '**check north seg bounds pckg: ', npckgn(ib)
-         IF ((jpjnob(ib).ge.jpjglo-1).or.& 
-            &(jpjnob(ib).le.1))        CALL ctl_stop( 'nbdyind out of domain' )
-         IF (jpindt(ib).ge.jpinft(ib)) CALL ctl_stop( 'Bdy start index is greater than end index' )
-         IF (jpindt(ib).le.1     )     CALL ctl_stop( 'Start index out of domain' )
-         IF (jpinft(ib).ge.jpiglo)     CALL ctl_stop( 'End index out of domain' )
-      END DO
-      !
-      DO ib = 1, nbdysegs
-         IF (lwp) WRITE(numout,*) '**check south seg bounds pckg: ', npckgs(ib)
-         IF ((jpjsob(ib).ge.jpjglo-1).or.& 
-            &(jpjsob(ib).le.1))        CALL ctl_stop( 'nbdyind out of domain' )
-         IF (jpisdt(ib).ge.jpisft(ib)) CALL ctl_stop( 'Bdy start index is greater than end index' )
-         IF (jpisdt(ib).le.1     )     CALL ctl_stop( 'Start index out of domain' )
-         IF (jpisft(ib).ge.jpiglo)     CALL ctl_stop( 'End index out of domain' )
-      END DO
-      !
-      DO ib = 1, nbdysege
-         IF (lwp) WRITE(numout,*) '**check east  seg bounds pckg: ', npckge(ib)
-         IF ((jpieob(ib).ge.jpiglo-1).or.& 
-            &(jpieob(ib).le.1))        CALL ctl_stop( 'nbdyind out of domain' )
-         IF (jpjedt(ib).ge.jpjeft(ib)) CALL ctl_stop( 'Bdy start index is greater than end index' )
-         IF (jpjedt(ib).le.1     )     CALL ctl_stop( 'Start index out of domain' )
-         IF (jpjeft(ib).ge.jpjglo)     CALL ctl_stop( 'End index out of domain' )
-      END DO
-      !
-      DO ib = 1, nbdysegw
-         IF (lwp) WRITE(numout,*) '**check west  seg bounds pckg: ', npckgw(ib)
-         IF ((jpiwob(ib).ge.jpiglo-1).or.& 
-            &(jpiwob(ib).le.1))        CALL ctl_stop( 'nbdyind out of domain' )
-         IF (jpjwdt(ib).ge.jpjwft(ib)) CALL ctl_stop( 'Bdy start index is greater than end index' )
-         IF (jpjwdt(ib).le.1     )     CALL ctl_stop( 'Start index out of domain' )
-         IF (jpjwft(ib).ge.jpjglo)     CALL ctl_stop( 'End index out of domain' )
-      ENDDO
-      !
-      !      
-      ! 2. Look for segment crossings
-      !------------------------------ 
-      IF (lwp) WRITE(numout,*) '**Look for segments corners  :'
-      !
-      itest = 0 ! corner number
-      !
-      ! flag to detect if start or end of open boundary belongs to a corner
-      ! if not (=0), it must be on land.
-      ! if a corner is detected, save bdy package number for further tests
-      icorne(:,:)=0. ; icornw(:,:)=0. ; icornn(:,:)=0. ; icorns(:,:)=0.
-      ! South/West crossings
-      IF ((nbdysegw > 0).AND.(nbdysegs > 0)) THEN
-         DO ib1 = 1, nbdysegw        
-            DO ib2 = 1, nbdysegs
-               IF (( jpisdt(ib2)<=jpiwob(ib1)).AND. &
-                &  ( jpisft(ib2)>=jpiwob(ib1)).AND. &
-                &  ( jpjwdt(ib1)<=jpjsob(ib2)).AND. &
-                &  ( jpjwft(ib1)>=jpjsob(ib2))) THEN
-                  IF ((jpjwdt(ib1)==jpjsob(ib2)).AND.(jpisdt(ib2)==jpiwob(ib1))) THEN 
-                     ! We have a possible South-West corner                      
-!                     WRITE(numout,*) ' Found a South-West corner at (i,j): ', jpisdt(ib2), jpjwdt(ib1) 
-!                     WRITE(numout,*) ' between segments: ', npckgw(ib1), npckgs(ib2)
-                     icornw(ib1,1) = npckgs(ib2)
-                     icorns(ib2,1) = npckgw(ib1)
-                  ELSEIF ((jpisft(ib2)==jpiwob(ib1)).AND.(jpjwft(ib1)==jpjsob(ib2))) THEN
-                     IF(lwp) WRITE(numout,*)
-                     IF(lwp) WRITE(numout,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', &
-                     &                                     jpisft(ib2), jpjwft(ib1)
-                     IF(lwp) WRITE(numout,*) ' ==========  Not allowed yet'
-                     IF(lwp) WRITE(numout,*) '             Crossing problem with West segment: ',npckgw(ib1), & 
-                     &                                                    ' and South segment: ',npckgs(ib2)
-                     IF(lwp) WRITE(numout,*)
-                     nstop = nstop + 1
-                  ELSE
-                     IF(lwp) WRITE(numout,*)
-                     IF(lwp) WRITE(numout,*) ' E R R O R : Check South and West Open boundary indices'
-                     IF(lwp) WRITE(numout,*) ' ==========  Crossing problem with West segment: ',npckgw(ib1) , &
-                     &                                                    ' and South segment: ',npckgs(ib2)
-                     IF(lwp) WRITE(numout,*)
-                     nstop = nstop+1
-                  END IF
-               END IF
-            END DO
-         END DO
-      END IF
-      !
-      ! South/East crossings
-      IF ((nbdysege > 0).AND.(nbdysegs > 0)) THEN
-         DO ib1 = 1, nbdysege
-            DO ib2 = 1, nbdysegs
-               IF (( jpisdt(ib2)<=jpieob(ib1)+1).AND. &
-                &  ( jpisft(ib2)>=jpieob(ib1)+1).AND. &
-                &  ( jpjedt(ib1)<=jpjsob(ib2)  ).AND. &
-                &  ( jpjeft(ib1)>=jpjsob(ib2)  )) THEN
-                  IF ((jpjedt(ib1)==jpjsob(ib2)).AND.(jpisft(ib2)==jpieob(ib1)+1)) THEN
-                     ! We have a possible South-East corner 
-!                     WRITE(numout,*) ' Found a South-East corner at (i,j): ', jpisft(ib2), jpjedt(ib1) 
-!                     WRITE(numout,*) ' between segments: ', npckge(ib1), npckgs(ib2)
-                     icorne(ib1,1) = npckgs(ib2)
-                     icorns(ib2,2) = npckge(ib1)
-                  ELSEIF ((jpjeft(ib1)==jpjsob(ib2)).AND.(jpisdt(ib2)==jpieob(ib1)+1)) THEN
-                     IF(lwp) WRITE(numout,*)
-                     IF(lwp) WRITE(numout,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', &
-                     &                                     jpisdt(ib2), jpjeft(ib1)
-                     IF(lwp) WRITE(numout,*) ' ==========  Not allowed yet'
-                     IF(lwp) WRITE(numout,*) '             Crossing problem with East segment: ',npckge(ib1), &
-                     &                                                    ' and South segment: ',npckgs(ib2)
-                     IF(lwp) WRITE(numout,*)
-                     nstop = nstop + 1
-                  ELSE
-                     IF(lwp) WRITE(numout,*)
-                     IF(lwp) WRITE(numout,*) ' E R R O R : Check South and East Open boundary indices'
-                     IF(lwp) WRITE(numout,*) ' ==========  Crossing problem with East segment: ',npckge(ib1), &
-                     &                                                    ' and South segment: ',npckgs(ib2)
-                     IF(lwp) WRITE(numout,*)
-                     nstop = nstop + 1
-                  END IF
-               END IF
-            END DO
-         END DO
-      END IF
-      !
-      ! North/West crossings
-      IF ((nbdysegn > 0).AND.(nbdysegw > 0)) THEN
-         DO ib1 = 1, nbdysegw        
-            DO ib2 = 1, nbdysegn
-               IF (( jpindt(ib2)<=jpiwob(ib1)  ).AND. &
-                &  ( jpinft(ib2)>=jpiwob(ib1)  ).AND. &
-                &  ( jpjwdt(ib1)<=jpjnob(ib2)+1).AND. &
-                &  ( jpjwft(ib1)>=jpjnob(ib2)+1)) THEN
-                  IF ((jpjwft(ib1)==jpjnob(ib2)+1).AND.(jpindt(ib2)==jpiwob(ib1))) THEN
-                     ! We have a possible North-West corner 
-!                     WRITE(numout,*) ' Found a North-West corner at (i,j): ', jpindt(ib2), jpjwft(ib1) 
-!                     WRITE(numout,*) ' between segments: ', npckgw(ib1), npckgn(ib2)
-                     icornw(ib1,2) = npckgn(ib2)
-                     icornn(ib2,1) = npckgw(ib1)
-                  ELSEIF ((jpjwdt(ib1)==jpjnob(ib2)+1).AND.(jpinft(ib2)==jpiwob(ib1))) THEN
-                     IF(lwp) WRITE(numout,*)
-                     IF(lwp) WRITE(numout,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', &
-                     &                                     jpinft(ib2), jpjwdt(ib1)
-                     IF(lwp) WRITE(numout,*) ' ==========  Not allowed yet'
-                     IF(lwp) WRITE(numout,*) '             Crossing problem with West segment: ',npckgw(ib1), &
-                     &                                                    ' and North segment: ',npckgn(ib2)
-                     IF(lwp) WRITE(numout,*)
-                     nstop = nstop + 1
-                  ELSE
-                     IF(lwp) WRITE(numout,*)
-                     IF(lwp) WRITE(numout,*) ' E R R O R : Check North and West Open boundary indices'
-                     IF(lwp) WRITE(numout,*) ' ==========  Crossing problem with West segment: ',npckgw(ib1), &
-                     &                                                    ' and North segment: ',npckgn(ib2)
-                     IF(lwp) WRITE(numout,*)
-                     nstop = nstop + 1
-                  END IF
-               END IF
-            END DO
-         END DO
-      END IF
-      !
-      ! North/East crossings
-      IF ((nbdysegn > 0).AND.(nbdysege > 0)) THEN
-         DO ib1 = 1, nbdysege        
-            DO ib2 = 1, nbdysegn
-               IF (( jpindt(ib2)<=jpieob(ib1)+1).AND. &
-                &  ( jpinft(ib2)>=jpieob(ib1)+1).AND. &
-                &  ( jpjedt(ib1)<=jpjnob(ib2)+1).AND. &
-                &  ( jpjeft(ib1)>=jpjnob(ib2)+1)) THEN
-                  IF ((jpjeft(ib1)==jpjnob(ib2)+1).AND.(jpinft(ib2)==jpieob(ib1)+1)) THEN
-                     ! We have a possible North-East corner 
-!                     WRITE(numout,*) ' Found a North-East corner at (i,j): ', jpinft(ib2), jpjeft(ib1)
-!                     WRITE(numout,*) ' between segments: ', npckge(ib1), npckgn(ib2)
-                     icorne(ib1,2) = npckgn(ib2)
-                     icornn(ib2,2) = npckge(ib1)
-                  ELSEIF ((jpjedt(ib1)==jpjnob(ib2)+1).AND.(jpindt(ib2)==jpieob(ib1)+1)) THEN
-                     IF(lwp) WRITE(numout,*)
-                     IF(lwp) WRITE(numout,*) ' E R R O R : Found an acute open boundary corner at point (i,j)= ', &
-                     &                                     jpindt(ib2), jpjedt(ib1)
-                     IF(lwp) WRITE(numout,*) ' ==========  Not allowed yet'
-                     IF(lwp) WRITE(numout,*) '             Crossing problem with East segment: ',npckge(ib1), &
-                     &                                                    ' and North segment: ',npckgn(ib2)
-                     IF(lwp) WRITE(numout,*)
-                     nstop = nstop + 1
-                  ELSE
-                     IF(lwp) WRITE(numout,*)
-                     IF(lwp) WRITE(numout,*) ' E R R O R : Check North and East Open boundary indices'
-                     IF(lwp) WRITE(numout,*) ' ==========  Crossing problem with East segment: ',npckge(ib1), &
-                     &                                                    ' and North segment: ',npckgn(ib2)
-                     IF(lwp) WRITE(numout,*)
-                     nstop = nstop + 1
-                  END IF
-               END IF
-            END DO
-         END DO
-      END IF
-      !
-      ! 3. Check if segment extremities are on land
-      !-------------------------------------------- 
-      !
-      ! West segments
-      DO ib = 1, nbdysegw
-         ! get mask at boundary extremities:
-         ztestmask(1:2)=0.
-         DO ji = 1, jpi
-            DO jj = 1, jpj             
-              IF (((ji + nimpp - 1) == jpiwob(ib)).AND. & 
-               &  ((jj + njmpp - 1) == jpjwdt(ib))) ztestmask(1)=tmask(ji,jj,1)
-              IF (((ji + nimpp - 1) == jpiwob(ib)).AND. & 
-               &  ((jj + njmpp - 1) == jpjwft(ib))) ztestmask(2)=tmask(ji,jj,1)  
-            END DO
-         END DO
-         IF( lk_mpp )   CALL mpp_sum( ztestmask, 2 )   ! sum over the global domain
-
-         IF (ztestmask(1)==1) THEN 
-            IF (icornw(ib,1)==0) THEN
-               IF(lwp) WRITE(numout,*)
-               IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgw(ib)
-               IF(lwp) WRITE(numout,*) ' ==========  does not start on land or on a corner'                                                  
-               IF(lwp) WRITE(numout,*)
-               nstop = nstop + 1
-            ELSE
-               ! This is a corner
-               IF(lwp) WRITE(numout,*) 'Found a South-West corner at (i,j): ', jpiwob(ib), jpjwdt(ib)
-               CALL bdy_ctl_corn(npckgw(ib), icornw(ib,1))
-               itest=itest+1
-            ENDIF
-         ENDIF
-         IF (ztestmask(2)==1) THEN
-            IF (icornw(ib,2)==0) THEN
-               IF(lwp) WRITE(numout,*)
-               IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgw(ib)
-               IF(lwp) WRITE(numout,*) ' ==========  does not end on land or on a corner'                                                  
-               IF(lwp) WRITE(numout,*)
-               nstop = nstop + 1
-            ELSE
-               ! This is a corner
-               IF(lwp) WRITE(numout,*) 'Found a North-West corner at (i,j): ', jpiwob(ib), jpjwft(ib)
-               CALL bdy_ctl_corn(npckgw(ib), icornw(ib,2))
-               itest=itest+1
-            ENDIF
-         ENDIF
-      END DO
-      !
-      ! East segments
-      DO ib = 1, nbdysege
-         ! get mask at boundary extremities:
-         ztestmask(1:2)=0.
-         DO ji = 1, jpi
-            DO jj = 1, jpj             
-              IF (((ji + nimpp - 1) == jpieob(ib)+1).AND. & 
-               &  ((jj + njmpp - 1) == jpjedt(ib))) ztestmask(1)=tmask(ji,jj,1)
-              IF (((ji + nimpp - 1) == jpieob(ib)+1).AND. & 
-               &  ((jj + njmpp - 1) == jpjeft(ib))) ztestmask(2)=tmask(ji,jj,1)  
-            END DO
-         END DO
-         IF( lk_mpp )   CALL mpp_sum( ztestmask, 2 )   ! sum over the global domain
-
-         IF (ztestmask(1)==1) THEN
-            IF (icorne(ib,1)==0) THEN
-               IF(lwp) WRITE(numout,*)
-               IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckge(ib)
-               IF(lwp) WRITE(numout,*) ' ==========  does not start on land or on a corner'                                                  
-               IF(lwp) WRITE(numout,*)
-               nstop = nstop + 1 
-            ELSE
-               ! This is a corner
-               IF(lwp) WRITE(numout,*) 'Found a South-East corner at (i,j): ', jpieob(ib)+1, jpjedt(ib)
-               CALL bdy_ctl_corn(npckge(ib), icorne(ib,1))
-               itest=itest+1
-            ENDIF
-         ENDIF
-         IF (ztestmask(2)==1) THEN
-            IF (icorne(ib,2)==0) THEN
-               IF(lwp) WRITE(numout,*)
-               IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckge(ib)
-               IF(lwp) WRITE(numout,*) ' ==========  does not end on land or on a corner'                                                  
-               IF(lwp) WRITE(numout,*)
-               nstop = nstop + 1
-            ELSE
-               ! This is a corner
-               IF(lwp) WRITE(numout,*) 'Found a North-East corner at (i,j): ', jpieob(ib)+1, jpjeft(ib)
-               CALL bdy_ctl_corn(npckge(ib), icorne(ib,2))
-               itest=itest+1
-            ENDIF
-         ENDIF
-      END DO
-      !
-      ! South segments
-      DO ib = 1, nbdysegs
-         ! get mask at boundary extremities:
-         ztestmask(1:2)=0.
-         DO ji = 1, jpi
-            DO jj = 1, jpj             
-              IF (((jj + njmpp - 1) == jpjsob(ib)).AND. & 
-               &  ((ji + nimpp - 1) == jpisdt(ib))) ztestmask(1)=tmask(ji,jj,1)
-              IF (((jj + njmpp - 1) == jpjsob(ib)).AND. & 
-               &  ((ji + nimpp - 1) == jpisft(ib))) ztestmask(2)=tmask(ji,jj,1)  
-            END DO
-         END DO
-         IF( lk_mpp )   CALL mpp_sum( ztestmask, 2 )   ! sum over the global domain
-
-         IF ((ztestmask(1)==1).AND.(icorns(ib,1)==0)) THEN
-            IF(lwp) WRITE(numout,*)
-            IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgs(ib)
-            IF(lwp) WRITE(numout,*) ' ==========  does not start on land or on a corner'                                                  
-            IF(lwp) WRITE(numout,*)
-            nstop = nstop + 1
-         ENDIF
-         IF ((ztestmask(2)==1).AND.(icorns(ib,2)==0)) THEN
-            IF(lwp) WRITE(numout,*)
-            IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgs(ib)
-            IF(lwp) WRITE(numout,*) ' ==========  does not end on land or on a corner'                                                  
-            IF(lwp) WRITE(numout,*)
-            nstop = nstop + 1
-         ENDIF
-      END DO
-      !
-      ! North segments
-      DO ib = 1, nbdysegn
-         ! get mask at boundary extremities:
-         ztestmask(1:2)=0.
-         DO ji = 1, jpi
-            DO jj = 1, jpj             
-              IF (((jj + njmpp - 1) == jpjnob(ib)+1).AND. & 
-               &  ((ji + nimpp - 1) == jpindt(ib))) ztestmask(1)=tmask(ji,jj,1)
-              IF (((jj + njmpp - 1) == jpjnob(ib)+1).AND. & 
-               &  ((ji + nimpp - 1) == jpinft(ib))) ztestmask(2)=tmask(ji,jj,1)  
-            END DO
-         END DO
-         IF( lk_mpp )   CALL mpp_sum( ztestmask, 2 )   ! sum over the global domain
-
-         IF ((ztestmask(1)==1).AND.(icornn(ib,1)==0)) THEN
-            IF(lwp) WRITE(numout,*)
-            IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgn(ib)
-            IF(lwp) WRITE(numout,*) ' ==========  does not start on land'                                                  
-            IF(lwp) WRITE(numout,*)
-            nstop = nstop + 1
-         ENDIF
-         IF ((ztestmask(2)==1).AND.(icornn(ib,2)==0)) THEN
-            IF(lwp) WRITE(numout,*)
-            IF(lwp) WRITE(numout,*) ' E R R O R : Open boundary segment ', npckgn(ib)
-            IF(lwp) WRITE(numout,*) ' ==========  does not end on land'                                                  
-            IF(lwp) WRITE(numout,*)
-            nstop = nstop + 1
-         ENDIF
-      END DO
-      !
-      IF ((itest==0).AND.(lwp)) WRITE(numout,*) 'NO open boundary corner found'
-      !
-      ! Other tests TBD: 
-      ! segments completly on land
-      ! optimized open boundary array length according to landmask
-      ! Nudging layers that overlap with interior domain
-      !
-   END SUBROUTINE bdy_ctl_seg
-
-   SUBROUTINE bdy_ctl_corn( ib1, ib2 )
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE bdy_ctl_corn  ***
-      !!
-      !! ** Purpose :   Check numerical schemes consistency between
-      !!                segments having a common corner
-      !!
-      !! ** Method  :   
-      !!----------------------------------------------------------------------
-      INTEGER, INTENT(in)  ::   ib1, ib2
-      INTEGER :: itest
-      !!----------------------------------------------------------------------
-      itest = 0
-
-      IF( cn_dyn2d(ib1) /= cn_dyn2d(ib2) )   itest = itest + 1
-      IF( cn_dyn3d(ib1) /= cn_dyn3d(ib2) )   itest = itest + 1
-      IF( cn_tra  (ib1) /= cn_tra  (ib2) )   itest = itest + 1
-      !
-      IF( nn_dyn2d_dta(ib1) /= nn_dyn2d_dta(ib2) )   itest = itest + 1
-      IF( nn_dyn3d_dta(ib1) /= nn_dyn3d_dta(ib2) )   itest = itest + 1
-      IF( nn_tra_dta  (ib1) /= nn_tra_dta  (ib2) )   itest = itest + 1
-      !
-      IF( nn_rimwidth(ib1) /= nn_rimwidth(ib2) )   itest = itest + 1   
-      !
-      IF( itest>0 ) THEN
-         IF(lwp) WRITE(numout,*) ' E R R O R : Segments ', ib1, 'and ', ib2
-         IF(lwp) WRITE(numout,*) ' ==========  have different open bdy schemes'                                                  
-         IF(lwp) WRITE(numout,*)
-         nstop = nstop + 1
-      ENDIF
-      !
-   END SUBROUTINE bdy_ctl_corn
-
-   !!=================================================================================
-END MODULE bdyini
diff --git a/MY_SRC/diaharm.F90 b/MY_SRC/diaharm.F90
deleted file mode 100755
index 3bb42dc17bfcc5ed32e116d4a6fee71f5392f86e..0000000000000000000000000000000000000000
--- a/MY_SRC/diaharm.F90
+++ /dev/null
@@ -1,848 +0,0 @@
-MODULE diaharm 
-   !!======================================================================
-   !!                       ***  MODULE  diaharm  ***
-   !! Harmonic analysis of tidal constituents 
-   !!======================================================================
-   !! History :  3.1  !  2007  (O. Le Galloudec, J. Chanut)  Original code
-   !!----------------------------------------------------------------------
-#if defined key_diaharm 
-   !!----------------------------------------------------------------------
-   !!   'key_diaharm'
-   !!
-   !!   NB: 2017-12 : add 3D harmonic analysis of velocities
-   !!                 integration of Maria Luneva's development
-   !!   'key_3Ddiaharm'
-   !!----------------------------------------------------------------------
-   USE oce             ! ocean dynamics and tracers variables
-   USE dom_oce         ! ocean space and time domain
-   USE phycst
-   USE daymod
-   USE tide_mod
-   USE sbctide         ! Tidal forcing or not
-   !
-# if defined key_3Ddiaharm
-   USE zdf_oce
-#endif
-   !
-   USE in_out_manager  ! I/O units
-   USE iom             ! I/0 library
-   USE ioipsl          ! NetCDF IPSL library
-   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
-   USE timing          ! preformance summary
-   USE wrk_nemo        ! working arrays
-
-   IMPLICIT NONE
-   PRIVATE
-
-   LOGICAL, PUBLIC, PARAMETER :: lk_diaharm  = .TRUE.
-   
-   INTEGER, PARAMETER :: jpincomax    = 2.*jpmax_harmo
-   INTEGER, PARAMETER :: jpdimsparse  = jpincomax*300*24
-
-   !                         !!** namelist variables **
-   INTEGER ::   nit000_han    ! First time step used for harmonic analysis
-   INTEGER ::   nitend_han    ! Last time step used for harmonic analysis
-   INTEGER ::   nstep_han     ! Time step frequency for harmonic analysis
-   INTEGER ::   nb_ana        ! Number of harmonics to analyse
-
-
-   INTEGER , ALLOCATABLE, DIMENSION(:)           ::   name
-   REAL(wp), ALLOCATABLE, DIMENSION(:)           ::   ana_freq, ut   , vt   , ft
-# if defined key_3Ddiaharm
-   REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:,:)   ::   ana_temp
-   REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:)     ::   out_eta , out_u, out_v , out_w , out_dzi
-# else
-   REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:)     ::   ana_temp
-   REAL(wp), ALLOCATABLE, DIMENSION(:,:,:)       ::   out_eta , out_u, out_v
-# endif
-
-   INTEGER ::   ninco, nsparse
-   INTEGER ,       DIMENSION(jpdimsparse)         ::   njsparse, nisparse
-   INTEGER , SAVE, DIMENSION(jpincomax)           ::   ipos1
-   REAL(wp),       DIMENSION(jpdimsparse)         ::   valuesparse
-   REAL(wp),       DIMENSION(jpincomax)           ::   ztmp4 , ztmp7
-   REAL(wp), SAVE, DIMENSION(jpincomax,jpincomax) ::   ztmp3 , zpilier
-   REAL(wp), SAVE, DIMENSION(jpincomax)           ::   zpivot
-
-   CHARACTER (LEN=4), DIMENSION(jpmax_harmo) ::   tname   ! Names of tidal constituents ('M2', 'K1',...)
-
-   PUBLIC   dia_harm   ! routine called by step.F90
-
-   !!----------------------------------------------------------------------
-   !! NEMO/OPA 3.5 , NEMO Consortium (2013)
-   !! $Id: diaharm.F90 5585 2015-07-10 14:19:11Z jchanut $
-   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-   SUBROUTINE dia_harm_init 
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE dia_harm_init  ***
-      !!         
-      !! ** Purpose :   Initialization of tidal harmonic analysis
-      !!
-      !! ** Method  :   Initialize frequency array and  nodal factor for nit000_han
-      !!
-      !!--------------------------------------------------------------------
-      INTEGER :: jh, nhan, jl
-      INTEGER ::   ios                 ! Local integer output status for namelist read
-
-      NAMELIST/nam_diaharm/ nit000_han, nitend_han, nstep_han, tname
-      !!----------------------------------------------------------------------
-
-      IF(lwp) THEN
-         WRITE(numout,*)
-         WRITE(numout,*) 'dia_harm_init: Tidal harmonic analysis initialization'
-# if defined key_3Ddiaharm
-         WRITE(numout,*) '  - 3D harmonic analysis of currents actovated (key_3Ddiaharm)'
-#endif
-         WRITE(numout,*) '~~~~~~~ '
-      ENDIF
-      !
-      IF( .NOT. ln_tide )   CALL ctl_stop( 'dia_harm_init : ln_tide must be true for harmonic analysis')
-      !
-      CALL tide_init_Wave
-      !
-      REWIND( numnam_ref )              ! Namelist nam_diaharm in reference namelist : Tidal harmonic analysis
-      READ  ( numnam_ref, nam_diaharm, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm in reference namelist', lwp )
-
-      REWIND( numnam_cfg )              ! Namelist nam_diaharm in configuration namelist : Tidal harmonic analysis
-      READ  ( numnam_cfg, nam_diaharm, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm in configuration namelist', lwp )
-      IF(lwm) WRITE ( numond, nam_diaharm )
-      !
-      IF(lwp) THEN
-         WRITE(numout,*) 'First time step used for analysis:  nit000_han= ', nit000_han
-         WRITE(numout,*) 'Last  time step used for analysis:  nitend_han= ', nitend_han
-         WRITE(numout,*) 'Time step frequency for harmonic analysis:  nstep_han= ', nstep_han
-      ENDIF
-
-      ! Basic checks on harmonic analysis time window:
-      ! ----------------------------------------------
-      IF( nit000 > nit000_han )   CALL ctl_stop( 'dia_harm_init : nit000_han must be greater than nit000',   &
-         &                                       ' restart capability not implemented' )
-      IF( nitend < nitend_han )   CALL ctl_stop( 'dia_harm_init : nitend_han must be lower than nitend',   &
-         &                                       'restart capability not implemented' )
-
-      IF( MOD( nitend_han-nit000_han+1 , nstep_han ) /= 0 )   &
-         &                        CALL ctl_stop( 'dia_harm_init : analysis time span must be a multiple of nstep_han' )
-
-      nb_ana = 0
-      DO jh=1,jpmax_harmo
-         DO jl=1,jpmax_harmo
-            IF(TRIM(tname(jh)) == Wave(jl)%cname_tide) THEN
-               nb_ana=nb_ana+1
-            ENDIF
-         END DO
-      END DO
-      !
-      IF(lwp) THEN
-         WRITE(numout,*) '        Namelist nam_diaharm'
-         WRITE(numout,*) '        nb_ana    = ', nb_ana
-         CALL flush(numout)
-      ENDIF
-      !
-      IF (nb_ana > jpmax_harmo) THEN
-        IF(lwp) WRITE(numout,*) ' E R R O R dia_harm_init : nb_ana must be lower than jpmax_harmo, stop'
-        IF(lwp) WRITE(numout,*) ' jpmax_harmo= ', jpmax_harmo
-        nstop = nstop + 1
-      ENDIF
-
-      ALLOCATE(name    (nb_ana))
-      DO jh=1,nb_ana
-       DO jl=1,jpmax_harmo
-          IF (TRIM(tname(jh)) .eq. Wave(jl)%cname_tide) THEN
-             name(jh) = jl
-             EXIT
-          END IF
-       END DO
-      END DO
-
-      ! Initialize frequency array:
-      ! ---------------------------
-      ALLOCATE( ana_freq(nb_ana), ut(nb_ana), vt(nb_ana), ft(nb_ana) )
-
-      CALL tide_harmo( ana_freq, vt, ut, ft, name, nb_ana )
-
-      IF(lwp) WRITE(numout,*) 'Analysed frequency  : ',nb_ana ,'Frequency '
-
-      DO jh = 1, nb_ana
-        IF(lwp) WRITE(numout,*) '                    : ',tname(jh),' ',ana_freq(jh)
-      END DO
-
-      ! Initialize temporary arrays:
-      ! ----------------------------
-# if defined key_3Ddiaharm
-      ALLOCATE( ana_temp( jpi, jpj, 2*nb_ana, 5, jpk ) )
-      ana_temp(:,:,:,:,:) = 0._wp
-# else
-      ALLOCATE( ana_temp( jpi, jpj, 2*nb_ana, 3      ) )
-      ana_temp(:,:,:,:  ) = 0._wp
-#endif
-
-   END SUBROUTINE dia_harm_init
-
-
-   SUBROUTINE dia_harm ( kt )
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE dia_harm  ***
-      !!         
-      !! ** Purpose :   Tidal harmonic analysis main routine
-      !!
-      !! ** Action  :   Sums ssh/u/v over time analysis [nit000_han,nitend_han]
-      !!
-      !!--------------------------------------------------------------------
-      INTEGER, INTENT( IN ) :: kt
-      !
-      INTEGER  :: ji, jj, jh, jc, nhc
-# if defined key_3Ddiaharm
-      INTEGER  :: jk
-# endif
-      REAL(wp) :: ztime, ztemp
-      !!--------------------------------------------------------------------
-      IF( nn_timing == 1 )   CALL timing_start('dia_harm')
-
-      IF( kt == nit000 ) CALL dia_harm_init
-
-      IF( kt >= nit000_han .AND. kt <= nitend_han .AND. MOD(kt,nstep_han) == 0 ) THEN
-
-         ztime = (kt-nit000+1) * rdt 
-
-         !IF(lwp) WRITE(numout,*) "ztime OLD", kt, ztime, sshn(25,25)
- 
-         nhc = 0
-         DO jh = 1, nb_ana
-            DO jc = 1, 2
-               nhc = nhc+1
-               ztemp =(     MOD(jc,2) * ft(jh) *COS(ana_freq(jh)*ztime + vt(jh) + ut(jh))  &
-                  &    +(1.-MOD(jc,2))* ft(jh) *SIN(ana_freq(jh)*ztime + vt(jh) + ut(jh)))
-
-! ssh, ub, vb are stored at the last level of 5d array
-               DO jj = 1,jpj
-                  DO ji = 1,jpi
-                     ! Elevation and currents
-# if defined key_3Ddiaharm
-                     ana_temp(ji,jj,nhc,1,jpk) = ana_temp(ji,jj,nhc,1,jpk) + ztemp*sshn(ji,jj)*ssmask (ji,jj)        
-                     ana_temp(ji,jj,nhc,2,jpk) = ana_temp(ji,jj,nhc,2,jpk) + ztemp*un_b(ji,jj)*ssumask(ji,jj)
-                     ana_temp(ji,jj,nhc,3,jpk) = ana_temp(ji,jj,nhc,3,jpk) + ztemp*vn_b(ji,jj)*ssvmask(ji,jj)
-
-                     ana_temp(ji,jj,nhc,5,jpk) = ana_temp(ji,jj,nhc,5,jpk)                               &
-                   &                              + ztemp*bfrva(ji,jj)*vn(ji,jj,mbkv(ji,jj))*ssvmask(ji,jj)
-                     ana_temp(ji,jj,nhc,4,jpk) = ana_temp(ji,jj,nhc,4,jpk)                               & 
-                   &                              + ztemp*bfrua(ji,jj)*un(ji,jj,mbku(ji,jj))*ssumask(ji,jj)
-# else
-                      ana_temp(ji,jj,nhc,1) = ana_temp(ji,jj,nhc,1) + ztemp*sshn(ji,jj)*ssmask (ji,jj)        
-                      ana_temp(ji,jj,nhc,2) = ana_temp(ji,jj,nhc,2) + ztemp*un_b(ji,jj)*ssumask(ji,jj)
-                      ana_temp(ji,jj,nhc,3) = ana_temp(ji,jj,nhc,3) + ztemp*vn_b(ji,jj)*ssvmask(ji,jj)
-# endif
-                  END DO
-               END DO
-               !
-# if defined key_3Ddiaharm
-! 3d velocity and density:
-             DO jk=1,jpk-1
-               DO jj = 1,jpj
-                  DO ji = 1,jpi
-                     ! density and velocity
-                     ana_temp(ji,jj,nhc,1,jk) = ana_temp(ji,jj,nhc,1,jk) + ztemp*rhd(ji,jj,jk)
-                     ana_temp(ji,jj,nhc,2,jk) = ana_temp(ji,jj,nhc,2,jk) + ztemp*(un(ji,jj,jk)-un_b(ji,jj)) &
-                &                                          *umask(ji,jj,jk)
-                     ana_temp(ji,jj,nhc,3,jk) = ana_temp(ji,jj,nhc,3,jk) + ztemp*(vn(ji,jj,jk)-vn_b(ji,jj)) &
-                &                                          *vmask(ji,jj,jk) 
-                     ana_temp(ji,jj,nhc,4,jk) = ana_temp(ji,jj,nhc,4,jk) + ztemp*wn(ji,jj,jk)
- 
-                     ana_temp(ji,jj,nhc,5,jk) = ana_temp(ji,jj,nhc,5,jk) - 0.5*grav*ztemp*(rhd(ji,jj,jk)+rhd(ji,jj,jk+1) )/max(rn2(ji,jj,jk),1.e-8_wp)
-!                     IF(jk<=mbathy(ji,jj) )      ana_temp(ji,jj,nhc,5,jk) = ana_temp(ji,jj,nhc,5,jk) -      &
-!                &          0.5*grav*ztemp*(rhd(ji,jj,jk)+rhd(ji,jj,jk+1) )/max(rn2(ji,jj,jk),1.e-8_wp)
-                  END DO
-               END DO
-             ENDDO
-# endif
-
-            END DO
-         END DO
-         !       
-      END IF
-
-      IF ( kt == nitend_han )   CALL dia_harm_end
-
-      IF( nn_timing == 1 )   CALL timing_stop('dia_harm')
- 
-   END SUBROUTINE dia_harm
-
-
-   SUBROUTINE dia_harm_end
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE diaharm_end  ***
-      !!         
-      !! ** Purpose :  Compute the Real and Imaginary part of tidal constituents
-      !!
-      !! ** Action  :  Decompose the signal on the harmonic constituents 
-      !!
-      !!--------------------------------------------------------------------
-      INTEGER :: ji, jj, jh, jc, jn, nhan, jl 
-# if defined key_3Ddiaharm
-      INTEGER  :: jk
-# endif
-      INTEGER :: ksp, kun, keq
-      REAL(wp) :: ztime, ztime_ini, ztime_end
-      REAL(wp) :: X1,X2
-      REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ana_amp
-      !!--------------------------------------------------------------------
-      CALL wrk_alloc( jpi , jpj , jpmax_harmo , 2 , ana_amp )
-
-      IF(lwp) WRITE(numout,*)
-      IF(lwp) WRITE(numout,*) 'anharmo_end: kt=nitend_han: Perform harmonic analysis'
-      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~'
-
-      ztime_ini = nit000_han*rdt                 ! Initial time in seconds at the beginning of analysis
-      ztime_end = nitend_han*rdt                 ! Final time in seconds at the end of analysis
-      nhan = (nitend_han-nit000_han+1)/nstep_han ! Number of dumps used for analysis
-
-# if defined key_3Ddiaharm
-      ALLOCATE( out_eta(jpi,jpj,jpk,2*nb_ana),   &
-         &      out_u  (jpi,jpj,jpk,2*nb_ana),   &
-         &      out_v  (jpi,jpj,jpk,2*nb_ana),   &
-         &      out_w  (jpi,jpj,jpk,2*nb_ana),   &
-         &      out_dzi(jpi,jpj,jpk,2*nb_ana) )
-# else
-      ALLOCATE( out_eta(jpi,jpj,2*nb_ana),   &
-         &      out_u  (jpi,jpj,2*nb_ana),   &
-         &      out_v  (jpi,jpj,2*nb_ana)  )
-# endif
-
-      IF(lwp) WRITE(numout,*) 'ANA F OLD', ft 
-      IF(lwp) WRITE(numout,*) 'ANA U OLD', ut
-      IF(lwp) WRITE(numout,*) 'ANA V OLD', vt
-
-
-      ninco = 2*nb_ana
-      ksp = 0
-      keq = 0        
-      DO jn = 1, nhan
-         ztime=( (nhan-jn)*ztime_ini + (jn-1)*ztime_end )/FLOAT(nhan-1)
-         keq = keq + 1
-         kun = 0
-         DO jh = 1, nb_ana
-            DO jc = 1, 2
-               kun = kun + 1
-               ksp = ksp + 1
-               nisparse(ksp) = keq
-               njsparse(ksp) = kun
-               valuesparse(ksp) = (   MOD(jc,2) * ft(jh) * COS(ana_freq(jh)*ztime + vt(jh) + ut(jh))   &
-                  &             + (1.-MOD(jc,2))* ft(jh) * SIN(ana_freq(jh)*ztime + vt(jh) + ut(jh)) )
-            END DO
-         END DO
-      END DO
-
-      nsparse = ksp
-
-      ! Density and Elevation:
-# if defined key_3Ddiaharm
-    DO jk=1,jpk
-# endif
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            ! Fill input array
-            kun = 0
-            DO jh = 1, nb_ana
-               DO jc = 1, 2
-                  kun = kun + 1
-# if defined key_3Ddiaharm
-                  ztmp4(kun)=ana_temp(ji,jj,kun,1,jk)
-# else
-                  ztmp4(kun)=ana_temp(ji,jj,kun,1)
-# endif
-               END DO
-            END DO
-
-            CALL SUR_DETERMINE(jj)
-
-            ! Fill output array
-            DO jh = 1, nb_ana
-               ana_amp(ji,jj,jh,1)=ztmp7((jh-1)*2+1)
-               ana_amp(ji,jj,jh,2)=ztmp7((jh-1)*2+2)
-            END DO
-         END DO
-      END DO
-
-
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            DO jh = 1, nb_ana 
-               X1 = ana_amp(ji,jj,jh,1)
-               X2 =-ana_amp(ji,jj,jh,2)
-# if defined key_3Ddiaharm
-               out_eta(ji,jj,jk,jh       ) = X1 * tmask_i(ji,jj)
-               out_eta(ji,jj,jk,jh+nb_ana) = X2 * tmask_i(ji,jj)
-# else
-               out_eta(ji,jj   ,jh       ) = X1 * tmask_i(ji,jj)
-               out_eta(ji,jj   ,jh+nb_ana) = X2 * tmask_i(ji,jj)
-# endif
-            END DO
-         END DO
-      END DO
-
-      ! u-component of velocity
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            ! Fill input array
-            kun=0
-            DO jh = 1,nb_ana
-               DO jc = 1,2
-                  kun = kun + 1
-# if defined key_3Ddiaharm
-                  ztmp4(kun)=ana_temp(ji,jj,kun,2,jk)
-# else
-                  ztmp4(kun)=ana_temp(ji,jj,kun,2)
-# endif
-               END DO
-            END DO
-
-            CALL SUR_DETERMINE(jj+1)
-
-            ! Fill output array
-            DO jh = 1, nb_ana
-               ana_amp(ji,jj,jh,1) = ztmp7((jh-1)*2+1)
-               ana_amp(ji,jj,jh,2) = ztmp7((jh-1)*2+2)
-            END DO
-
-         END DO
-      END DO
-
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            DO jh = 1, nb_ana 
-               X1= ana_amp(ji,jj,jh,1)
-               X2=-ana_amp(ji,jj,jh,2)
-# if defined key_3Ddiaharm
-               out_u(ji,jj,jk,       jh) = X1 * ssumask(ji,jj)
-               out_u(ji,jj,jk,nb_ana+jh) = X2 * ssumask(ji,jj)
-# else
-               out_u(ji,jj,          jh) = X1 * ssumask(ji,jj)
-               out_u(ji,jj,   nb_ana+jh) = X2 * ssumask(ji,jj)
-# endif
-            ENDDO
-         ENDDO
-      ENDDO
-
-      ! v- velocity
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            ! Fill input array
-            kun=0
-            DO jh = 1,nb_ana
-               DO jc = 1,2
-                  kun = kun + 1
-# if defined key_3Ddiaharm
-                  ztmp4(kun)=ana_temp(ji,jj,kun,3,jk)
-# else
-                  ztmp4(kun)=ana_temp(ji,jj,kun,3)
-# endif
-               END DO
-            END DO
-
-            CALL SUR_DETERMINE(jj+1)
-
-            ! Fill output array
-            DO jh = 1, nb_ana
-               ana_amp(ji,jj,jh,1)=ztmp7((jh-1)*2+1)
-               ana_amp(ji,jj,jh,2)=ztmp7((jh-1)*2+2)
-            END DO
-
-         END DO
-      END DO
-
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            DO jh = 1, nb_ana 
-               X1=ana_amp(ji,jj,jh,1)
-               X2=-ana_amp(ji,jj,jh,2)
-# if defined key_3Ddiaharm
-               out_v(ji,jj,jk,       jh)=X1 * ssvmask(ji,jj)
-               out_v(ji,jj,jk,nb_ana+jh)=X2 * ssvmask(ji,jj)
-# else
-               out_v(ji,jj,          jh)=X1 * ssvmask(ji,jj)
-               out_v(ji,jj,   nb_ana+jh)=X2 * ssvmask(ji,jj)
-# endif
-            END DO
-         END DO
-      END DO
-
-# if defined key_3Ddiaharm
-      ! w- velocity
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            ! Fill input array
-            kun=0
-            DO jh = 1,nb_ana
-               DO jc = 1,2
-                  kun = kun + 1
-                  ztmp4(kun)=ana_temp(ji,jj,kun,4,jk)
-               END DO
-            END DO
-
-            CALL SUR_DETERMINE(jj+1)
-
-            ! Fill output array
-            DO jh = 1, nb_ana
-               ana_amp(ji,jj,jh,1)=ztmp7((jh-1)*2+1)
-               ana_amp(ji,jj,jh,2)=ztmp7((jh-1)*2+2)
-            END DO
-
-         END DO
-      END DO
-
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            DO jh = 1, nb_ana
-               X1=ana_amp(ji,jj,jh,1)
-               X2=-ana_amp(ji,jj,jh,2)
-               out_w(ji,jj,jk,       jh)=X1 * tmask_i(ji,jj)
-               out_w(ji,jj,jk,nb_ana+jh)=X2 * tmask_i(ji,jj)
-            END DO
-         END DO
-      END DO
-
-       ! dzi- isopycnal displacements
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            ! Fill input array
-            kun=0
-            DO jh = 1,nb_ana
-               DO jc = 1,2
-                  kun = kun + 1
-                  ztmp4(kun)=ana_temp(ji,jj,kun,5,jk)
-               END DO
-            END DO
-
-            CALL SUR_DETERMINE(jj+1)
-
-            ! Fill output array
-            DO jh = 1, nb_ana
-               ana_amp(ji,jj,jh,1)=ztmp7((jh-1)*2+1)
-               ana_amp(ji,jj,jh,2)=ztmp7((jh-1)*2+2)
-            END DO
-
-         END DO
-      END DO
-
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            DO jh = 1, nb_ana
-               X1=ana_amp(ji,jj,jh,1)
-               X2=-ana_amp(ji,jj,jh,2)
-               out_dzi(ji,jj,jk,       jh)=X1 * tmask_i(ji,jj)
-               out_dzi(ji,jj,jk,nb_ana+jh)=X2 * tmask_i(ji,jj)
-            END DO
-         END DO
-      END DO
-
-   ENDDO ! jk
-# endif
-
-      CALL dia_wri_harm ! Write results in files
-      CALL wrk_dealloc( jpi , jpj , jpmax_harmo , 2 , ana_amp )
-      !
-   END SUBROUTINE dia_harm_end
-
-
-   SUBROUTINE dia_wri_harm
-      !!--------------------------------------------------------------------
-      !!                 ***  ROUTINE dia_wri_harm  ***
-      !!         
-      !! ** Purpose : Write tidal harmonic analysis results in a netcdf file
-      !!--------------------------------------------------------------------
-      CHARACTER(LEN=lc) :: cltext
-      CHARACTER(LEN=lc) ::   &
-         cdfile_name_T   ,   & ! name of the file created (T-points)
-         cdfile_name_U   ,   & ! name of the file created (U-points)
-         cdfile_name_V         ! name of the file created (V-points)
-      INTEGER  ::   jh
-
-# if defined key_3Ddiaharm
-      CHARACTER(LEN=lc) :: cdfile_name_W         ! name of the file created (W-points)
-      INTEGER  :: jk
-      REAL(WP), ALLOCATABLE, DIMENSION (:,:,:) :: z3real, z3im 
-      REAL(WP), ALLOCATABLE, DIMENSION (:,:)   :: z2real, z2im      
-# endif
-!!----------------------------------------------------------------------
-
-#if defined key_dimgout
-      cdfile_name_T = TRIM(cexper)//'_Tidal_harmonics_gridT.dimgproc'
-      cdfile_name_U = TRIM(cexper)//'_Tidal_harmonics_gridU.dimgproc'
-      cdfile_name_V = TRIM(cexper)//'_Tidal_harmonics_gridV.dimgproc'
-#   if defined key_3Ddiaharm
-      cdfile_name_W = TRIM(cexper)//'_Tidal_harmonics_gridW.dimgproc'
-#   endif
-#endif
-
-      IF(lwp) WRITE(numout,*) '  '
-      IF(lwp) WRITE(numout,*) 'dia_wri_harm : Write harmonic analysis results'
-#if defined key_dimgout
-      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~  Output files: ', TRIM(cdfile_name_T)
-      IF(lwp) WRITE(numout,*) '                             ', TRIM(cdfile_name_U)
-      IF(lwp) WRITE(numout,*) '                             ', TRIM(cdfile_name_V)
-#   if defined key_3Ddiaharm
-      IF(lwp) WRITE(numout,*) '                             ', TRIM(cdfile_name_W)
-#   endif
-#endif
-      IF(lwp) WRITE(numout,*) '  '
-
-# if defined key_3Ddiaharm
-      ALLOCATE( z3real(jpi,jpj,jpk),z3im(jpi,jpj,jpk),z2real(jpi,jpj),z2im(jpi,jpj))
-# endif
-
-      ! A) density and elevation
-      !/////////////
-      !
-#if defined key_dimgout
-      cltext='density amplitude and phase; elevation is level=jpk '
-      CALL dia_wri_dimg(TRIM(cdfile_name_T), TRIM(cltext), out_eta, 2*nb_ana, '2')
-#else
-#   if defined key_3Ddiaharm
-      z3real(:,:,:) = 0._wp; z3im(:,:,:) = 0._wp
-#   endif
-      DO jh = 1, nb_ana
-#   if defined key_3Ddiaharm
-        DO jk=1,jpkm1
-          z3real(:,:,jk)=out_eta(:,:,jk,jh)
-          z3im  (:,:,jk)=out_eta(:,:,jk,jh+nb_ana)
-        ENDDO
-      z2real(:,:)=out_eta(:,:,jpk,jh); z2im(:,:)=out_eta(:,:,jpk,jh+nb_ana)
-      CALL iom_put( TRIM(tname(jh))//'x_ro', z3real(:,:,:) )
-      CALL iom_put( TRIM(tname(jh))//'y_ro', z3im  (:,:,:) )
-      CALL iom_put( TRIM(tname(jh))//'x'   , z2real(:,:  ) )
-      CALL iom_put( TRIM(tname(jh))//'y'   , z2im  (:,:  ) )
-#   else 
-      WRITE(numout,*) "OUTPUT ORI: ", TRIM(tname(jh))//'x', ' & ', TRIM(tname(jh))//'y', MAXVAL(out_eta(:,:,jh))
-      CALL iom_put( TRIM(tname(jh))//'x', out_eta(:,:,jh) )
-      CALL iom_put( TRIM(tname(jh))//'y', out_eta(:,:,nb_ana+jh) )
-#   endif
-      END DO
-#endif
-
-      ! B) u
-      !/////////
-      !
-#if defined key_dimgout
-      cltext='3d u amplitude and phase; ubar is the last level'
-      CALL dia_wri_dimg(TRIM(cdfile_name_U), TRIM(cltext), out_u, 2*nb_ana, '2')
-#else
-#   if defined key_3Ddiaharm
-      z3real(:,:,:) = 0._wp; z3im(:,:,:) = 0._wp
-#   endif
-      DO jh = 1, nb_ana
-#   if defined key_3Ddiaharm
-        DO jk=1,jpkm1
-          z3real(:,:,jk)=out_u(:,:,jk,jh)
-          z3im  (:,:,jk)=out_u(:,:,jk,jh+nb_ana)
-        ENDDO
-        z2real(:,:)=out_u(:,:,jpk,jh); z2im(:,:)=out_u(:,:,jpk,jh+nb_ana)
-        CALL iom_put( TRIM(tname(jh))//'x_u3d', z3real(:,:,:) )
-        CALL iom_put( TRIM(tname(jh))//'y_u3d', z3im (:,:,:)  )
-        CALL iom_put( TRIM(tname(jh))//'x_u2d', z2real(:,:) )
-        CALL iom_put( TRIM(tname(jh))//'y_u2d', z2im (:,:)  )
-        z2real(:,:)=out_w(:,:,jpk,jh); z2im(:,:)=out_w(:,:,jpk,jh+nb_ana)
-        CALL iom_put( TRIM(tname(jh))//'x_tabx', z2real(:,:) )
-        CALL iom_put( TRIM(tname(jh))//'y_tabx', z2im (:,:)  )
-#   else
-        CALL iom_put( TRIM(tname(jh))//'x_u2d', out_u(:,:,jh) )
-        CALL iom_put( TRIM(tname(jh))//'y_u2d', out_u(:,:,nb_ana+jh) )
-#   endif
-      END DO
-#endif
-
-      ! C) v
-      !/////////
-      !
-#if defined key_dimgout
-      cltext='3d v amplitude and phase; vbar is the last level'
-      CALL dia_wri_dimg(TRIM(cdfile_name_V), TRIM(cltext), out_v, 2*nb_ana, '2')
-#else
-#   if defined key_3Ddiaharm
-      z3real(:,:,:) = 0._wp; z3im(:,:,:) = 0._wp
-#   endif
-      DO jh = 1, nb_ana
-#   if defined key_3Ddiaharm
-        DO jk=1,jpkm1
-          z3real(:,:,jk)=out_v(:,:,jk,jh)
-          z3im  (:,:,jk)=out_v(:,:,jk,jh+nb_ana)
-        ENDDO
-        z2real(:,:)=out_v(:,:,jpk,jh); z2im(:,:)=out_v(:,:,jpk,jh+nb_ana)
-        CALL iom_put( TRIM(tname(jh))//'x_v3d', z3real(:,:,:) )
-        CALL iom_put( TRIM(tname(jh))//'y_v3d', z3im (:,:,:)  )
-        CALL iom_put( TRIM(tname(jh))//'x_v2d'  , z2real(:,:) )
-        CALL iom_put( TRIM(tname(jh))//'y_v2d'  , z2im (:,:)  )
-        z2real(:,:)=out_dzi(:,:,jpk,jh); z2im(:,:)=out_dzi(:,:,jpk,jh+nb_ana)
-        CALL iom_put( TRIM(tname(jh))//'x_taby', z2real(:,:) )
-        CALL iom_put( TRIM(tname(jh))//'y_taby', z2im (:,:)  )
-#   else
-         CALL iom_put( TRIM(tname(jh))//'x_v2d', out_v(:,:,jh       ) )
-         CALL iom_put( TRIM(tname(jh))//'y_v2d', out_v(:,:,jh+nb_ana) )
-#   endif
-       END DO
-
-#endif
-      ! D) w
-# if defined key_3Ddiaharm
-#   if defined key_dimgout
-      cltext='3d w amplitude and phase; vort_baro is the last level'
-      CALL dia_wri_dimg(TRIM(cdfile_name_W), TRIM(cltext), out_w, 2*nb_ana, '2')
-#   else
-      DO jh = 1, nb_ana
-        DO jk=1,jpkm1
-         z3real(:,:,jk)=out_w(:,:,jk,jh)
-         z3im(:,:,jk)=out_w(:,:,jk,jh+nb_ana)
-        ENDDO
-        CALL iom_put( TRIM(tname(jh))//'x_w3d', z3real(:,:,:) )
-        CALL iom_put( TRIM(tname(jh))//'y_w3d', z3im(:,:,:) )
-      END DO
-#   endif
-
-!       E) dzi + tau_bot
-#   if defined key_dimgout
-      cltext='dzi=g*ro/N2 amplitude and phase'
-      CALL dia_wri_dimg(TRIM(cdfile_name_W), TRIM(cltext), out_w, 2*nb_ana, '2')
-#   else
-      DO jh = 1, nb_ana
-        DO jk=1,jpkm1
-         z3real(:,:,jk)=out_dzi(:,:,jk,jh)
-         z3im(:,:,jk)=out_dzi(:,:,jk,jh+nb_ana)
-        ENDDO
-        CALL iom_put( TRIM(tname(jh))//'x_dzi', z3real(:,:,:) )
-        CALL iom_put( TRIM(tname(jh))//'y_dzi', z3im(:,:,:) )
-      END DO
-#   endif
-# endif 
-
-      !
-# if defined key_3Ddiaharm
-   DEALLOCATE(z3real, z3im, z2real,z2im)
-# endif
-
-   END SUBROUTINE dia_wri_harm
-
-
-   SUBROUTINE SUR_DETERMINE(init)
-      !!---------------------------------------------------------------------------------
-      !!                      *** ROUTINE SUR_DETERMINE ***
-      !!    
-      !!    
-      !!       
-      !!---------------------------------------------------------------------------------
-      INTEGER, INTENT(in) ::   init 
-      !
-      INTEGER                         :: ji_sd, jj_sd, ji1_sd, ji2_sd, jk1_sd, jk2_sd
-      REAL(wp)                        :: zval1, zval2, zx1
-      REAL(wp), POINTER, DIMENSION(:) :: ztmpx, zcol1, zcol2
-      INTEGER , POINTER, DIMENSION(:) :: ipos2, ipivot
-      !---------------------------------------------------------------------------------
-      CALL wrk_alloc( jpincomax , ztmpx , zcol1 , zcol2 )
-      CALL wrk_alloc( jpincomax , ipos2 , ipivot        )
-            
-      IF( init == 1 ) THEN
-         IF( nsparse > jpdimsparse )   CALL ctl_stop( 'STOP', 'SUR_DETERMINE : nsparse .GT. jpdimsparse')
-         IF( ninco   > jpincomax   )   CALL ctl_stop( 'STOP', 'SUR_DETERMINE : ninco .GT. jpincomax')
-         !
-         ztmp3(:,:) = 0._wp
-         !
-         DO jk1_sd = 1, nsparse
-            DO jk2_sd = 1, nsparse
-               nisparse(jk2_sd) = nisparse(jk2_sd)
-               njsparse(jk2_sd) = njsparse(jk2_sd)
-               IF( nisparse(jk2_sd) == nisparse(jk1_sd) ) THEN
-                  ztmp3(njsparse(jk1_sd),njsparse(jk2_sd)) = ztmp3(njsparse(jk1_sd),njsparse(jk2_sd))  &
-                     &                                     + valuesparse(jk1_sd)*valuesparse(jk2_sd)
-               ENDIF
-            END DO
-         END DO
-         !
-         DO jj_sd = 1 ,ninco
-            ipos1(jj_sd) = jj_sd
-            ipos2(jj_sd) = jj_sd
-         END DO
-         !
-         DO ji_sd = 1 , ninco
-            !
-            !find greatest non-zero pivot:
-            zval1 = ABS(ztmp3(ji_sd,ji_sd))
-            !
-            ipivot(ji_sd) = ji_sd
-            DO jj_sd = ji_sd, ninco
-               zval2 = ABS(ztmp3(ji_sd,jj_sd))
-               IF( zval2.GE.zval1 )THEN
-                  ipivot(ji_sd) = jj_sd
-                  zval1         = zval2
-               ENDIF
-            END DO
-            !
-            DO ji1_sd = 1, ninco
-               zcol1(ji1_sd)               = ztmp3(ji1_sd,ji_sd)
-               zcol2(ji1_sd)               = ztmp3(ji1_sd,ipivot(ji_sd))
-               ztmp3(ji1_sd,ji_sd)         = zcol2(ji1_sd)
-               ztmp3(ji1_sd,ipivot(ji_sd)) = zcol1(ji1_sd)
-            END DO
-            !
-            ipos2(ji_sd)         = ipos1(ipivot(ji_sd))
-            ipos2(ipivot(ji_sd)) = ipos1(ji_sd)
-            ipos1(ji_sd)         = ipos2(ji_sd)
-            ipos1(ipivot(ji_sd)) = ipos2(ipivot(ji_sd))
-            zpivot(ji_sd)        = ztmp3(ji_sd,ji_sd)
-            DO jj_sd = 1, ninco
-               ztmp3(ji_sd,jj_sd) = ztmp3(ji_sd,jj_sd) / zpivot(ji_sd)
-            END DO
-            !
-            DO ji2_sd = ji_sd+1, ninco
-               zpilier(ji2_sd,ji_sd)=ztmp3(ji2_sd,ji_sd)
-               DO jj_sd=1,ninco
-                  ztmp3(ji2_sd,jj_sd)=  ztmp3(ji2_sd,jj_sd) - ztmp3(ji_sd,jj_sd) * zpilier(ji2_sd,ji_sd)
-               END DO
-            END DO
-            !
-         END DO
-         !
-      ENDIF ! End init==1
-
-      DO ji_sd = 1, ninco
-         ztmp4(ji_sd) = ztmp4(ji_sd) / zpivot(ji_sd)
-         DO ji2_sd = ji_sd+1, ninco
-            ztmp4(ji2_sd) = ztmp4(ji2_sd) - ztmp4(ji_sd) * zpilier(ji2_sd,ji_sd)
-         END DO
-      END DO
-
-      !system solving: 
-      ztmpx(ninco) = ztmp4(ninco) / ztmp3(ninco,ninco)
-      ji_sd = ninco
-      DO ji_sd = ninco-1, 1, -1
-         zx1 = 0._wp
-         DO jj_sd = ji_sd+1, ninco
-            zx1 = zx1 + ztmpx(jj_sd) * ztmp3(ji_sd,jj_sd)
-         END DO
-         ztmpx(ji_sd) = ztmp4(ji_sd)-zx1
-      END DO
-
-      DO jj_sd =1, ninco
-         ztmp7(ipos1(jj_sd))=ztmpx(jj_sd)
-      END DO
-
-      CALL wrk_dealloc( jpincomax , ztmpx , zcol1 , zcol2 )
-      CALL wrk_dealloc( jpincomax , ipos2 , ipivot        )
-      !
-   END SUBROUTINE SUR_DETERMINE
-
-#else
-   !!----------------------------------------------------------------------
-   !!   Default case :   Empty module
-   !!----------------------------------------------------------------------
-   LOGICAL, PUBLIC, PARAMETER ::   lk_diaharm = .FALSE.
-CONTAINS
-   SUBROUTINE dia_harm ( kt )     ! Empty routine
-      INTEGER, INTENT( IN ) :: kt  
-      WRITE(*,*) 'dia_harm: you should not have seen this print'
-   END SUBROUTINE dia_harm
-#endif
-
-   !!======================================================================
-END MODULE diaharm
diff --git a/MY_SRC/diaharm_fast.F90 b/MY_SRC/diaharm_fast.F90
deleted file mode 100755
index 66ba75e6cc4444947a299786beee66377f105828..0000000000000000000000000000000000000000
--- a/MY_SRC/diaharm_fast.F90
+++ /dev/null
@@ -1,857 +0,0 @@
-MODULE diaharm_fast 
-   !!======================================================================
-   !!                       ***  MODULE  example  ***
-   !! Ocean physics:  On line harmonic analyser
-   !!                 
-   !!=====================================================================
-
-#if defined key_diaharm_fast 
-
-   !!----------------------------------------------------------------------
-   !!   'key_harm_ana'  :                Calculate harmonic analysis
-   !!----------------------------------------------------------------------
-   !!   harm_ana        :
-   !!   harm_ana_init   :
-   !!   NB: 2017-12 : add 3D harmonic analysis of velocities
-   !!                 integration of Maria Luneva's development
-   !!   'key_3Ddiaharm'
-   !!----------------------------------------------------------------------
-
-   USE oce             ! ocean dynamics and tracers 
-   USE dom_oce         ! ocean space and time domain
-   USE iom
-   USE in_out_manager  ! I/O units
-   USE phycst          ! physical constants
-   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
-   USE bdy_oce         ! ocean open boundary conditions
-   USE bdytides        ! tidal bdy forcing
-   USE daymod          ! calendar
-   USE tideini
-   USE restart
-   USE ioipsl, ONLY : ju2ymds    ! for calendar
-   !
-   !
-   USE timing          ! preformance summary
-   USE zdf_oce
-
-   IMPLICIT NONE
-   PRIVATE
-
-   !! *  Routine accessibility
-   PUBLIC dia_harm_fast                                      ! routine called in step.F90 module
-   LOGICAL, PUBLIC, PARAMETER :: lk_diaharm_fast  = .TRUE.   ! to be run or not
-   LOGICAL, PUBLIC :: lk_diaharm_2D   ! = .TRUE.   ! to run 2d
-   LOGICAL, PUBLIC :: lk_diaharm_3D   ! = .TRUE.   ! to run 3d
-
-   !! * Module variables
-   INTEGER, PARAMETER ::  nharm_max  = jpmax_harmo  ! max number of harmonics to be analysed 
-   INTEGER, PARAMETER ::  nhm_max    = 2*nharm_max+1 
-   INTEGER, PARAMETER ::  nvab       = 2 ! number of 3D variables
-   INTEGER            ::  nharm
-   INTEGER            ::  nhm 
-   INTEGER ::                 & !!! ** toto namelist (namtoto) **
-      nflag  =  1                ! default value of nflag 
-   REAL(wp), DIMENSION(nharm_max) ::                & 
-      om_tide                     ! tidal frequencies ( rads/sec)
-   REAL(wp), ALLOCATABLE,SAVE,DIMENSION(:)   ::                & 
-      bzz,c,x    ! work arrays
-   REAL(wp) :: cca,ssa,zm,bt,dd_cumul
-!
-   REAL(wp), PUBLIC ::   fjulday_startharm       !: Julian Day since start of harmonic analysis
-   REAL(wp), PUBLIC, ALLOCATABLE,DIMENSION(:) :: anau, anav, anaf   ! nodel/phase corrections used by diaharmana
-   REAL(WP), ALLOCATABLE,SAVE,DIMENSION(:,:)   :: cc,a
-!
-   INTEGER ::  nvar_2d, nvar_3d    !: number of 2d and 3d variables to analyse
-   INTEGER, ALLOCATABLE,DIMENSION(:) :: m_posi_2d, m_posi_3d
-
-!  Name of variables used in the restart
-   CHARACTER( LEN = 10 ), DIMENSION(5), PARAMETER :: m_varName2d = (/'ssh','u2d','v2d','ubfr','vbfr'/)
-   CHARACTER( LEN = 10 ), DIMENSION(4), PARAMETER :: m_varName3d = (/'rho','u3d','v3d','w3d'/)
-!
-   REAL(wp), ALLOCATABLE,SAVE,DIMENSION(:,:,:,:  ) :: g_cosamp2D, g_sinamp2D, g_cumul_var2D
-   REAL(wp), ALLOCATABLE,SAVE,DIMENSION(:,:,:,:,:) :: g_cosamp3D, g_sinamp3D, g_cumul_var3D  
-!
-   REAL(wp), ALLOCATABLE,SAVE,DIMENSION(:,:)       :: g_out2D,h_out2D  ! arrays for output
-   REAL(wp), ALLOCATABLE,SAVE,DIMENSION(:,:,:)     :: g_out3D,h_out3D  ! arrays for 3D output
-!
-!  NAMELIST
-   LOGICAL, PUBLIC :: ln_diaharm_store           !: =T  Stores data for harmonic Analysis
-   LOGICAL, PUBLIC :: ln_diaharm_compute         !: =T  Compute harmonic Analysis
-   LOGICAL, PUBLIC :: ln_diaharm_read_restart   !: =T  Read restart from a previous run 
-   LOGICAL, PUBLIC :: ln_ana_ssh, ln_ana_uvbar, ln_ana_bfric, ln_ana_rho, ln_ana_uv3d, ln_ana_w3d
-   INTEGER ::   nb_ana        ! Number of harmonics to analyse
-   CHARACTER (LEN=4), DIMENSION(jpmax_harmo) ::   tname   ! Names of tidal constituents ('M2', 'K1',...)
-   INTEGER , ALLOCATABLE, DIMENSION(:)       ::   ntide_all ! INDEX within the full set of constituents (tide.h90)
-   INTEGER , ALLOCATABLE, DIMENSION(:)       ::   ntide_sub ! INDEX within the subset of constituents pass in input
-
-   !! * Substitutions
-
-   !!----------------------------------------------------------------------
-   !!  OPA 9.0 , LOCEAN-IPSL (2005) 
-   !! or LIM 2.0 , UCL-LOCEAN-IPSL (2005)
-   !! or  TOP 1.0 , LOCEAN-IPSL (2005)
-   !! $Header: /home/opalod/NEMOCVSROOT/NEMO/OPA_SRC/module_example,v 1.3 2005/03/27 18:34:47 opalod Exp $ 
-   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
-   !!----------------------------------------------------------------------
-
-CONTAINS
-
-   SUBROUTINE dia_harm_fast( kt )
-      !!----------------------------------------------------------------------
-      !!                    ***  ROUTINE harm_ana  ***
-      !!
-      !! ** Purpose :   Harmonic analyser
-      !!
-      !! ** Method  :   
-      !!
-      !! ** Action  : - first action (share memory array/varible modified
-      !!                in this routine
-      !!              - second action .....
-      !!              - .....
-      !!
-      !! References :
-      !!   Give references if exist otherwise suppress these lines
-      !!
-      !! History :
-      !!   9.0  !  03-08  (Autor Names)  Original code
-      !!        !  02-08  (Author names)  brief description of modifications
-      !!----------------------------------------------------------------------
-      !! * Modules used
-      
-      !! * arguments
-      INTEGER, INTENT( in  ) ::   &  
-         kt                          ! describe it!!!
-
-      !! * local declarations
-      INTEGER  :: ji, jk, jj          ! dummy loop arguments
-      INTEGER  :: jh, i1, i2, jgrid
-      INTEGER  :: j2d, j3d
-      REAL(WP) :: sec2start
-      !!--------------------------------------------------------------------
-
-      IF( nn_timing == 1 )   CALL timing_start( 'dia_harm_fast' )
-      IF( kt == nit000   )   CALL harm_ana_init    ! Initialization (first time-step only)
-
-     IF ( ln_diaharm_store .and. ( lk_diaharm_2D .or. lk_diaharm_3D) ) THEN
-
-      ! this bit done every time step
-      nhm=2*nb_ana+1
-      c(1) = 1.0
-
-      sec2start = nint( (fjulday-fjulday_startharm)*86400._wp ) 
-      !IF(lwp) WRITE(numout,*) "ztime NEW", kt, sec2start, fjulday_startharm
-
-      DO jh=1,nb_ana
-         c(2*jh  ) = anaf(jh)*cos( sec2start*om_tide(jh) + anau(jh) + anav(jh) )
-         c(2*jh+1) = anaf(jh)*sin( sec2start*om_tide(jh) + anau(jh) + anav(jh) )
-      ENDDO 
-
-      !IF(lwp) WRITE(numout,*) "c init", c, "c end", sec2start, om_tide(1), anau(1), anav(1),"end nodal"
-
-
-      ! CUMULATE
-      DO ji=1,jpi         ! loop lon
-         DO jj=1,jpj      ! loop lat
-            DO jh=1,nhm   ! loop harmonic
-
-               DO j2d=1,nvar_2d
-                  IF ( m_posi_2d(j2d) .eq. 1 ) dd_cumul = c(jh) * sshn(ji,jj) * ssmask (ji,jj)             ! analysis elevation
-                  IF ( m_posi_2d(j2d) .eq. 2 ) dd_cumul = c(jh) * un_b(ji,jj) * ssumask(ji,jj)             ! analysis depth average velocities 
-                  IF ( m_posi_2d(j2d) .eq. 3 ) dd_cumul = c(jh) * vn_b(ji,jj) * ssvmask(ji,jj)
-                  IF ( m_posi_2d(j2d) .eq. 4 ) dd_cumul = c(jh) * bfrua(ji,jj) * un(ji,jj,mbku(ji,jj)) * ssumask(ji,jj) ! analysis bottom friction
-                  IF ( m_posi_2d(j2d) .eq. 5 ) dd_cumul = c(jh) * bfrva(ji,jj) * vn(ji,jj,mbkv(ji,jj)) * ssvmask(ji,jj)
-                  g_cumul_var2D(jh,ji,jj,j2d) = g_cumul_var2D(jh,ji,jj,j2d) + dd_cumul
-               ENDDO
-
-               DO j3d=1,nvar_3d
-                  DO jk=1,jpkm1
-                     IF ( m_posi_3d(j3d) .eq. 1 ) dd_cumul = c(jh) *  rhd(ji,jj,jk)               * tmask(ji,jj,jk)   
-                     IF ( m_posi_3d(j3d) .eq. 2 ) dd_cumul = c(jh) * ( un(ji,jj,jk)-un_b(ji,jj) ) * umask(ji,jj,jk) 
-                     IF ( m_posi_3d(j3d) .eq. 3 ) dd_cumul = c(jh) * ( vn(ji,jj,jk)-vn_b(ji,jj) ) * vmask(ji,jj,jk)
-                     IF ( m_posi_3d(j3d) .eq. 4 ) dd_cumul = c(jh) *   wn(ji,jj,jk)               * wmask(ji,jj,jk)
-                     g_cumul_var3D(jh,ji,jj,jk,j3d) = g_cumul_var3D(jh,ji,jj,jk,j3d) + dd_cumul
-                  ENDDO
-               ENDDO
-
-            ENDDO     ! end loop harmonic
-         ENDDO        ! end loop lat
-      ENDDO           ! end loop lon
-
-      ! Compute nodal factor cumulative cross-product
-      DO i1=1,nhm
-         DO i2=1,nhm
-            cc(i1,i2)=cc(i1,i2)+c(i1)*c(i2)
-         ENDDO
-      ENDDO
-
-      ! Output RESTART
-      IF( kt == nitrst ) THEN
-         CALL harm_rst_write(kt) ! Dump out data for a restarted run 
-      ENDIF
-
-      ! At End of run
-      IF ( kt ==  nitend ) THEN
-
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'harm_ana : harmonic analysis of tides at end of run'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~'
-
-         IF( ln_diaharm_compute ) THEN
-
-             ! INITIALISE TABLE TO 0
-             IF ( nvar_2d .gt. 0 ) THEN
-                g_cosamp2D = 0.0_wp
-                g_sinamp2D = 0.0_wp
-             ENDIF
-             IF ( nvar_3d .gt. 0 ) THEN
-                g_cosamp3D = 0.0_wp
-                g_sinamp3D = 0.0_wp
-             ENDIF
-
-             ! FIRST OUTPUT 2D VARIABLES
-             DO jgrid=1,nvar_2d    ! loop number of 2d variables (ssh, U2d, V2d, UVfric) to analyse harmonically
-                DO ji=1,jpi        ! loop lon
-                   DO jj=1,jpj     ! loop lat
-                      bt = 1.0_wp; bzz(:) = 0.0_wp
-                      DO jh=1,nhm  ! loop harmonic
-                         bzz(jh) = g_cumul_var2D(jh,ji,jj,jgrid)
-                         bt = bt*bzz(jh)
-                      ENDDO
-                      ! Copy back original cumulated nodal factor
-                      a(:,:) = cc(:,:)
-!                     now do gaussian elimination of the system
-!                     a * x = b
-!                     the matrix x is (a0,a1,b1,a2,b2 ...)
-!                     the matrix a and rhs b solved here for x
-                      x=0.0_wp
-                      IF(bt.ne.0.) THEN
-                        CALL gelim( a, bzz, x, nhm )
-!                       Backup output in variables
-                        DO jh=1,nb_ana
-                           g_cosamp2D(jh,ji,jj,jgrid) = x(jh*2  )
-                           g_sinamp2D(jh,ji,jj,jgrid) = x(jh*2+1)
-                        ENDDO
-                        g_cosamp2D( 0,ji,jj,jgrid) = x(1)
-                        g_sinamp2D( 0,ji,jj,jgrid) = 0.0_wp
-                      ENDIF     ! bt.ne.0.
-                   ENDDO        ! jj
-                ENDDO           ! ji
-             ENDDO              ! jgrid
-
-             ! SECOND OUTPUT 3D VARIABLES
-             DO jgrid=1,nvar_3d     ! loop number of 3d variables rho, U, V, W
-                DO jk=1,jpkm1       ! loop over vertical level
-                   DO ji=1,jpi      ! loop over lon
-                      DO jj=1,jpj   ! loop over lat
-                         bt = 1.0_wp; bzz(:) = 0.0_wp
-                         DO jh=1,nhm
-                            bzz(jh) = g_cumul_var3D(jh,ji,jj,jk,jgrid)
-                            bt = bt*bzz(jh)
-                         ENDDO
-                         ! Copy back original cumulated nodal factor
-                         a(:,:) = cc(:,:)                      
-!                        now do gaussian elimination of the system
-!                        a * x = b
-!                        the matrix x is (a0,a1,b1,a2,b2 ...)
-!                        the matrix a and rhs b solved here for x
-                         x=0.0_wp
-                         IF(bt.ne.0.) THEN
-                           CALL gelim( a, bzz, x, nhm )
-!                          Backup output in variables
-                           DO jh=1,nb_ana
-                              g_cosamp3D(jh,ji,jj,jk,jgrid) = x(jh*2  )
-                              g_sinamp3D(jh,ji,jj,jk,jgrid) = x(jh*2+1)
-                           ENDDO
-                           g_cosamp3D   ( 0,ji,jj,jk,jgrid) = x(1)
-                           g_sinamp3D   ( 0,ji,jj,jk,jgrid) = 0.0_wp
-                        ENDIF     ! bt.ne.0.
-                      ENDDO       ! jj
-                   ENDDO          ! ji
-                ENDDO             ! jk
-             ENDDO                ! jgrid
-
-             CALL harm_ana_out     ! output analysis (last time step)
-
-         ELSE    ! ln_harmana_compute = False 
-             IF(lwp) WRITE(numout,*) " Skipping Computing harmonics at last step"
-
-         ENDIF   ! ln_harmana_compute 
-      ENDIF      ! kt ==  nitend
-
-     ENDIF
-
-      IF( nn_timing == 1 )   CALL timing_stop( 'dia_harm_fast' )
-
-   END SUBROUTINE dia_harm_fast 
-
-   SUBROUTINE harm_ana_init
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE harm_ana_init  ***
-      !!                   
-      !! ** Purpose :   initialization of ....
-      !!
-      !! ** Method  :   blah blah blah ...
-      !!
-      !! ** input   :   Namlist namexa
-      !!
-      !! ** Action  :   ...  
-      !!
-      !! history :
-      !!   9.0  !  03-08  (Autor Names)  Original code
-      !!----------------------------------------------------------------------
-      !! * local declarations
-      INTEGER ::   ji, jk, jh  ! dummy loop indices
-      INTEGER ::   ios                  ! Local integer output status for namelist read
-      INTEGER ::   k2d, k3d             ! dummy number of analysis
-      NAMELIST/nam_diaharm_fast/ ln_diaharm_store, ln_diaharm_compute, ln_diaharm_read_restart, ln_ana_ssh, ln_ana_uvbar, ln_ana_bfric, ln_ana_rho, ln_ana_uv3d, ln_ana_w3d, tname
-      !!----------------------------------------------------------------------
-
-      lk_diaharm_2D    = .TRUE.   ! to run 2d
-      lk_diaharm_3D    = .TRUE.   ! to run 3d
-
-      IF(lwp) WRITE(numout,*)
-      IF(lwp) WRITE(numout,*) 'harm_init : initialization of harmonic analysis of tides'
-      IF(lwp) WRITE(numout,*) '~~~~~~~~~'
-
-      ! GET NAMELIST DETAILS
-      REWIND( numnam_ref )              ! Namelist nam_diaharm_fast in reference namelist : Tidal harmonic analysis
-      READ  ( numnam_ref, nam_diaharm_fast, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm_fast in reference namelist', lwp )
-
-      REWIND( numnam_cfg )              ! Namelist nam_diaharm_fast in configuration namelist : Tidal harmonic analysis
-      READ  ( numnam_cfg, nam_diaharm_fast, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm_fast in configuration namelist', lwp )
-      IF(lwm) WRITE ( numond, nam_diaharm_fast )
-
-      ! GET NUMBER OF HARMONIC TO ANALYSE - from diaharm.F90
-      nb_ana = 0
-      DO jk=1,jpmax_harmo
-         DO ji=1,nb_harmo
-            IF(TRIM(tname(jk)) == Wave( ntide(ji) )%cname_tide ) THEN
-               nb_ana=nb_ana+1
-            ENDIF
-         END DO
-      END DO
-      !
-      IF(lwp) THEN
-         WRITE(numout,*) '        Namelist nam_diaharm_fast'
-         WRITE(numout,*) '        nb_ana    = ', nb_ana
-         CALL flush(numout)
-      ENDIF
-      !
-      IF (nb_ana > nharm_max) THEN
-        IF(lwp) WRITE(numout,*) ' E R R O R harm_ana : nb_ana must be lower than nharm_max, stop'
-        IF(lwp) WRITE(numout,*) ' nharm_max = ', nharm_max
-        nstop = nstop + 1
-      ENDIF
-
-      ALLOCATE(ntide_all(nb_ana))
-      ALLOCATE(ntide_sub(nb_ana))
-
-      DO jk=1,nb_ana
-       DO ji=1,nb_harmo
-          IF (TRIM(tname(jk)) .eq. Wave( ntide(ji) )%cname_tide ) THEN
-             ntide_sub(jk) = ji
-             ntide_all(jk) = ntide(ji)
-             EXIT
-          END IF
-       END DO
-      END DO
-
-      ! SEARCH HOW MANY VARIABLES 2D AND 3D TO PROCESS
-      nvar_2d = 0; nvar_3d = 0
-      IF ( ln_ana_ssh   ) nvar_2d = nvar_2d + 1       ! analysis elevation
-      IF ( ln_ana_uvbar ) nvar_2d = nvar_2d + 2       ! analysis depth-averaged velocity
-      IF ( ln_ana_bfric ) nvar_2d = nvar_2d + 2       ! analysis bottom friction 
-            
-      IF ( ln_ana_rho   ) nvar_3d = nvar_3d + 1       ! analysis density
-      IF ( ln_ana_uv3d  ) nvar_3d = nvar_3d + 2       ! analysis 3D horizontal velocities
-      IF ( ln_ana_w3d   ) nvar_3d = nvar_3d + 1       ! analysis 3D vertical velocity
-
-      ! CHECK IF SOMETHING TO RUN
-      IF ( nvar_2d .eq. 0 ) lk_diaharm_2D = .FALSE.   ! no 2d to run
-      IF ( nvar_3d .eq. 0 ) lk_diaharm_3D = .FALSE.   ! no 3d to run
-!      IF ( nvar_2d .gt. 0 .and. nvar_3d .gt. 0 ) lk_diaharm_fast = .FALSE.
-!      IF ( .NOT. ln_diaharm_store ) lk_diaharm_fast = .FALSE.
-
-      IF ( ln_diaharm_store .and. ( lk_diaharm_2D .or. lk_diaharm_3D) ) THEN
-
-         ! DO ALLOCATIONS
-         IF ( lk_diaharm_2D ) THEN
-            ALLOCATE( g_cumul_var2D(nb_ana*2+1,jpi,jpj,    nvar_2d) )
-            ALLOCATE( g_cosamp2D( 0:nb_ana*2+1,jpi,jpj,    nvar_2d) )
-            ALLOCATE( g_sinamp2D( 0:nb_ana*2+1,jpi,jpj,    nvar_2d) )
-            ALLOCATE( g_out2D (jpi,jpj) )
-            ALLOCATE( h_out2D (jpi,jpj) )
-            ALLOCATE( m_posi_2d( nvar_2d ) ); m_posi_2d(:)=0
-         ENDIF
- 
-         IF ( lk_diaharm_3D ) THEN
-            ALLOCATE( g_cumul_var3D(nb_ana*2+1,jpi,jpj,jpk,nvar_3d) )
-            ALLOCATE( g_cosamp3D( 0:nb_ana*2+1,jpi,jpj,jpk,nvar_3d) )
-            ALLOCATE( g_sinamp3D( 0:nb_ana*2+1,jpi,jpj,jpk,nvar_3d) )
-            ALLOCATE( g_out3D (jpi,jpj,jpk) )
-            ALLOCATE( h_out3D (jpi,jpj,jpk) )
-            ALLOCATE( m_posi_3d( nvar_3d ) ); m_posi_3d(:)=0
-         ENDIF
-
-         ALLOCATE( cc(nb_ana*2+1,nb_ana*2+1) )
-         ALLOCATE( a (nb_ana*2+1,nb_ana*2+1) )
-         ALLOCATE( bzz(nb_ana*2+1) )
-         ALLOCATE( x  (nb_ana*2+1) )
-         ALLOCATE( c  (nb_ana*2+1) )
-         ALLOCATE( anau(nb_ana) )
-         ALLOCATE( anav(nb_ana) )
-         ALLOCATE( anaf(nb_ana) )
-         ! END ALLOCATE 
-
-         ! STORE INDEX OF WHAT TO PRODUCE DEPENDING ON ACTIVATED LOGICAL
-         ! MAKES THINGS EASIER AND FASTER LATER
-         ! !!! UGLY !!!
-         jh = 1; k2d = 0; 
-         IF ( ln_ana_ssh   ) THEN
-            k2d = k2d + 1; m_posi_2d(k2d) = jh
-            IF(lwp) WRITE(numout,*) "   - ssh harmonic analysis activated (ln_ana_ssh)"
-         ENDIF
-         jh = jh + 1
-         IF ( ln_ana_uvbar ) THEN
-            k2d = k2d + 1; m_posi_2d(k2d) = jh
-            jh  = jh  + 1 
-            k2d = k2d + 1; m_posi_2d(k2d) = jh
-            IF(lwp) WRITE(numout,*) "   - barotropic currents harmonic analysis activated (ln_ana_uvbar)"
-         ELSE
-            jh  = jh  + 1
-         ENDIF
-         jh = jh + 1
-         IF ( ln_ana_bfric ) THEN
-            k2d = k2d + 1; m_posi_2d(k2d) = jh
-            jh  = jh  + 1; 
-            k2d = k2d + 1; m_posi_2d(k2d) = jh
-            IF(lwp) WRITE(numout,*) "   - bottom friction harmonic analysis activated (ln_ana_vbfr)"
-         ELSE
-            jh  = jh  + 1
-         ENDIF
-
-         ! and for 3D
-         jh = 1; k3d = 0; 
-         IF ( ln_ana_rho  ) THEN
-            k3d = k3d + 1; m_posi_3d(k3d) = jh
-            IF(lwp) WRITE(numout,*) "   - 3D density harmonic analysis activated (ln_ana_rho)"
-         ENDIF
-         jh = jh + 1
-         IF ( ln_ana_uv3d )  THEN
-            k3d = k3d + 1; m_posi_3d(k3d) = jh
-            jh  = jh  + 1 
-            k3d = k3d + 1; m_posi_3d(k3d) = jh
-            IF(lwp) WRITE(numout,*) "   - 3D horizontal currents harmonic analysis activated (ln_ana_uv3d)"
-         ELSE
-            jh  = jh  + 1
-         ENDIF
-         jh = jh + 1
-         IF ( ln_ana_w3d ) THEN
-            k3d = k3d + 1; m_posi_3d(k3d) = jh
-            IF(lwp) WRITE(numout,*) "   - 3D vertical currents harmonic analysis activated (ln_ana_w3d)"
-         ENDIF
-
-         ! SELECT AND STORE FREQUENCIES
-         IF(lwp)    WRITE(numout,*) 'Analysed frequency  : ',nb_ana ,'Frequency '
-         DO jh=1,nb_ana
-            om_tide(jh) = omega_tide( ntide_sub(jh) ) 
-            IF(lwp) WRITE(numout,*) '        - ',tname(jh),' ',om_tide(jh)
-         ENDDO
-
-         ! READ RESTART IF 
-         IF ( ln_diaharm_read_restart ) THEN
-            IF (lwp) WRITE(numout,*) "Reading previous harmonic data from previous run"
-            ! Need to read in  bssh bz, cc anau anav and anaf 
-            call harm_rst_read  ! This reads in from the previous day
-                                ! Currrently the data in in assci format
-         ELSE 
-
-            IF (lwp) WRITE(numout,*) "Starting harmonic analysis from Fresh "
- 
-            IF ( lk_diaharm_2D ) g_cumul_var2D(:,:,:,:  ) = 0.0_wp
-            IF ( lk_diaharm_3D ) g_cumul_var3D(:,:,:,:,:) = 0.0_wp
-            cc           = 0.0_wp
-            a    (:,:)   = 0.0_wp ! NB
-            bzz  (:)     = 0.0_wp
-            x    (:)     = 0.0_wp
-            c    (:)     = 0.0_wp
-            anau (:)     = 0.0_wp
-            anav (:)     = 0.0_wp
-            anaf (:)     = 0.0_wp
-
-            DO jh = 1, nb_ana
-               anau(jh) = utide ( ntide_sub(jh) )
-               anav(jh) = v0tide( ntide_sub(jh) )
-               anaf(jh) = ftide ( ntide_sub(jh) )
-            END DO
-
-            fjulday_startharm=fjulday !Set this at very start and store
-
-            IF (lwp) THEN
-               WRITE(numout,*) '--------------------------'
-               WRITE(numout,*) '   - Output anaf for check'
-               WRITE(numout,*) 'ANA F', anaf
-               WRITE(numout,*) 'ANA U', anau
-               WRITE(numout,*) 'ANA V', anav
-               WRITE(numout,*) fjulday_startharm
-               WRITE(numout,*) '--------------------------'
-            ENDIF
-
-         ENDIF
-
-      ELSE
-
-         IF (lwp) WRITE(numout,*) "No variable setup for harmonic analysis"
-
-      ENDIF
-
-   END SUBROUTINE harm_ana_init
-!
-   SUBROUTINE gelim (a,b,x,n)
-      !!----------------------------------------------------------------------
-      !!                    ***  ROUTINE harm_ana  ***
-      !!
-      !! ** Purpose :   Guassian elimination
-      !!
-      !!
-      !! ** Action  : - first action (share memory array/varible modified
-      !!                in this routine
-      !!              - second action .....
-      !!              - .....
-      !!
-      !! References :
-      !!   Give references if exist otherwise suppress these lines
-      !!
-      !! History :
-        implicit none
-!
-        integer  :: n
-        REAL(WP) :: b(nb_ana*2+1), a(nb_ana*2+1,nb_ana*2+1)
-        REAL(WP) :: x(nb_ana*2+1)
-        INTEGER  :: row,col,prow,pivrow,rrow
-        REAL(WP) :: atemp
-        REAL(WP) :: pivot
-        REAL(WP) :: m
-
-        do row=1,n-1
-           pivrow=row
-           pivot=a(row,n-row+1)
-           do prow=row+1,n
-              if (abs(a(prow,n-row+1)).gt.abs(pivot)  ) then
-                 pivot=a(prow,n-row+1)
-                 pivrow=prow
-              endif
-           enddo
-!	swap row and prow
-           if ( pivrow .ne. row ) then
-              atemp=b(pivrow)
-              b(pivrow)=b(row)
-              b(row)=atemp
-              do col=1,n
-                 atemp=a(pivrow,col)
-                 a(pivrow,col)=a(row,col)
-                 a(row,col)=atemp
-              enddo
-           endif
-
-           do rrow=row+1,n
-              if (a(row,row).ne.0) then
-   
-                 m=-a(rrow,n-row+1)/a(row,n-row+1)
-                 do col=1,n
-                    a(rrow,col)=m*a(row,col)+a(rrow,col)
-                 enddo
-                 b(rrow)=m*b(row)+b(rrow)
-              endif
-           enddo
-        enddo
-!	back substitution now
-
-        x(1)=b(n)/a(n,1)
-        do row=n-1,1,-1
-           x(n-row+1)=b(row)
-           do col=1,(n-row)
-              x(n-row+1)=(x(n-row+1)-a(row,col)*x(col)) 
-           enddo
-
-           x(n-row+1)=(x(n-row+1)/a(row,(n-row)+1))
-        enddo
-
-        return
-   END SUBROUTINE gelim
-
-   SUBROUTINE harm_ana_out
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE harm_ana_init  ***
-      !!                   
-      !! ** Purpose :   initialization of ....
-      !!
-      !! ** Method  :   blah blah blah ...
-      !!
-      !! ** input   :   Namlist namexa
-      !!
-      !! ** Action  :   ...  
-      !!
-      !! history :
-      !!   9.0  !  03-08  (Autor Names)  Original code
-      !!----------------------------------------------------------------------
-        USE dianam          ! build name of file (routine)
- 
-      !! * local declarations
-      INTEGER :: ji, jj, jk, jgrid, jh    ! dummy loop indices
-!      INTEGER :: nh_T
-!      INTEGER :: nid_harm
-!      CHARACTER (len=40) :: clhstnamt, clop1, clop2 ! temporary names 
-!      CHARACTER (len=40) :: clhstnamu, clhstnamv    ! temporary names 
-      CHARACTER (len=40) :: suffix
-!      REAL(wp) :: zsto1, zsto2, zout, zmax, zjulian, zdt, zmdi  ! temporary scalars
-
-      do jgrid=1,nvar_2d
-          do jh=1,nb_ana
-             h_out2D = 0.0
-             g_out2D = 0.0
-             do jj=1,nlcj
-                do ji=1,nlci
-                   cca=g_cosamp2D(jh,ji,jj,jgrid)
-                   ssa=g_sinamp2D(jh,ji,jj,jgrid)
-                   h_out2D(ji,jj)=sqrt(cca**2+ssa**2)
-                   IF (cca.eq.0.0 .and. ssa.eq.0.0) THEN 
-                      g_out2D(ji,jj)= 0.0_wp
-                   ELSE
-                      g_out2D(ji,jj)=(180.0/rpi)*atan2(ssa,cca)       
-                   ENDIF 
-                   IF (h_out2D(ji,jj).ne.0) THEN
-                       h_out2D(ji,jj)=h_out2D(ji,jj)/anaf(jh)
-                   ENDIF
-                   IF (g_out2D(ji,jj).ne.0) THEN  !Correct and take modulus
-                       g_out2D(ji,jj) = g_out2D(ji,jj) + MOD( (anau(jh)+anav(jh))/rad , 360.0)
-                       if (g_out2D(ji,jj).gt.360.0) then
-                           g_out2D(ji,jj)=g_out2D(ji,jj)-360.0
-                       else if (g_out2D(ji,jj).lt.0.0) then
-                           g_out2D(ji,jj)=g_out2D(ji,jj)+360.0
-                       endif
-                   ENDIF
-                enddo
-             enddo
-             !
-             ! NETCDF OUTPUT
-             suffix = TRIM( m_varName2d( m_posi_2d(jgrid) ) )
-             CALL iom_put( TRIM(Wave(ntide_all(jh))%cname_tide)//'amp_'//TRIM(suffix), h_out2D(:,:) )
-             CALL iom_put( TRIM(Wave(ntide_all(jh))%cname_tide)//'pha_'//TRIM(suffix), g_out2D(:,:) )
-
-          enddo
-      enddo
-!
-! DO THE SAME FOR 3D VARIABLES
-!
-      do jgrid=1,nvar_3d
-          do jh=1,nb_ana
-             h_out3D = 0.0
-             g_out3D = 0.0
-             DO jk=1,jpkm1
-                do jj=1,nlcj
-                   do ji=1,nlci
-                      cca=g_cosamp3D(jh,ji,jj,jk,jgrid)
-                      ssa=g_sinamp3D(jh,ji,jj,jk,jgrid)
-                      h_out3D(ji,jj,jk)=sqrt(cca**2+ssa**2)
-                      IF (cca.eq.0.0 .and. ssa.eq.0.0) THEN
-                         g_out3D(ji,jj,jk) = 0.0_wp
-                      ELSE
-                         g_out3D(ji,jj,jk) = (180.0/rpi)*atan2(ssa,cca)
-                      ENDIF
-                      IF (h_out3D(ji,jj,jk).ne.0) THEN
-                          h_out3D(ji,jj,jk) = h_out3D(ji,jj,jk)/anaf(jh)
-                      ENDIF
-                      IF (g_out3D(ji,jj,jk).ne.0) THEN  !Correct and take modulus
-                          g_out3D(ji,jj,jk) = g_out3D(ji,jj,jk) + MOD( (anau(jh)+anav(jh))/rad , 360.0)
-                          if      (g_out3D(ji,jj,jk).gt.360.0) then
-                                   g_out3D(ji,jj,jk) = g_out3D(ji,jj,jk)-360.0
-                          else if (g_out3D(ji,jj,jk).lt.0.0) then
-                                   g_out3D(ji,jj,jk) = g_out3D(ji,jj,jk)+360.0
-                          endif
-                      ENDIF
-                   enddo    ! ji
-                enddo       ! jj
-             ENDDO          ! jk
-             !
-             ! NETCDF OUTPUT
-             suffix = TRIM( m_varName3d( m_posi_3d(jgrid) ) )
-             IF(lwp) WRITE(numout,*) "harm_ana_out", suffix
-             CALL iom_put( TRIM(Wave(ntide_all(jh))%cname_tide)//'amp_'//TRIM(suffix), h_out3D(:,:,:) )
-             CALL iom_put( TRIM(Wave(ntide_all(jh))%cname_tide)//'pha_'//TRIM(suffix), g_out3D(:,:,:) )
-          enddo             ! jh 
-      enddo                 ! jgrid
-!
-   END SUBROUTINE harm_ana_out
-!
-   SUBROUTINE harm_rst_write(kt)
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE harm_ana_init  ***
-      !!                   
-      !! ** Purpose :  To write out cummulated Tidal Harmomnic data to file for
-      !!               restarting
-      !!
-      !! ** Method  :   restart files will be dated by default
-      !!
-      !! ** input   :   
-      !!
-      !! ** Action  :   ...  
-      !!
-      !! history :
-      !!   0.0  !  01-16  (Enda O'Dea)  Original code
-      !! ASSUMES  dated file for rose  , can change later to be more generic
-      !!----------------------------------------------------------------------
-      INTEGER, INTENT(in) ::   kt     ! ocean time-step
-      !!
-      INTEGER             ::   jh, j2d, j3d
-      CHARACTER(LEN=20)   ::   clkt     ! ocean time-step define as a character
-      CHARACTER(LEN=50)   ::   clname   ! ocean output restart file name
-      CHARACTER(LEN=150)  ::   clpath   ! full path to ocean output restart file
-      CHARACTER(LEN=250)  ::   clfinal   ! full name
-
-      !restart file
-      DO j2d=1,nvar_2d
-         CALL iom_rstput( kt, nitrst, numrow, 'Mean_'//TRIM(m_varName2d( m_posi_2d(j2d) )), g_cumul_var2D( 1, :, :, j2d ) )
-         DO jh=1,nb_ana
-            CALL iom_rstput( kt, nitrst, numrow, TRIM(Wave(ntide_all(jh))%cname_tide)//"_"//TRIM(m_varName2d( m_posi_2d(j2d) ))//'_cos', g_cumul_var2D( jh*2  , :, :, j2d ) )
-            CALL iom_rstput( kt, nitrst, numrow, TRIM(Wave(ntide_all(jh))%cname_tide)//"_"//TRIM(m_varName2d( m_posi_2d(j2d) ))//'_sin', g_cumul_var2D( jh*2+1, :, :, j2d ) )
-         ENDDO
-      ENDDO
-
-      DO j3d=1,nvar_3d
-         CALL iom_rstput( kt, nitrst, numrow, 'Mean_'//TRIM(m_varName2d( m_posi_3d(j3d) )), g_cumul_var3D( 1, :, :, :, j3d ) )
-         DO jh=1,nb_ana
-            CALL iom_rstput( kt, nitrst, numrow, TRIM(Wave(ntide_all(jh))%cname_tide)//"_"//TRIM(m_varName3d( m_posi_3d(j3d) ))//'_cos', g_cumul_var3D( jh*2  , :, :, :, j3d ) )
-            CALL iom_rstput( kt, nitrst, numrow, TRIM(Wave(ntide_all(jh))%cname_tide)//"_"//TRIM(m_varName3d( m_posi_3d(j3d) ))//'_sin', g_cumul_var3D( jh*2+1, :, :, :, j3d ) )
-         ENDDO
-      ENDDO
-
-      IF(lwp) THEN
-        IF( kt > 999999999 ) THEN ; WRITE(clkt, *       ) kt
-        ELSE                      ; WRITE(clkt, '(i8.8)') kt
-        ENDIF
-        clname = TRIM(cexper)//"_"//TRIM(ADJUSTL(clkt))//"_restart_harm_ana.bin"
-        clpath = TRIM(cn_ocerst_outdir)
-        IF( clpath(LEN_TRIM(clpath):) /= '/' ) clpath = TRIM(clpath) // '/'
-        IF (lwp) WRITE(numout,*) 'Open tidal harmonics restart file for writing: ',TRIM(clpath)//clname
-
-        WRITE(clfinal,'(a)') trim(clpath)//trim(clname)
-        OPEN( 66, file=TRIM(clfinal), form='unformatted', access="stream" )
-        WRITE(66) cc
-        WRITE(66) anau
-        WRITE(66) anav
-        WRITE(66) anaf
-        WRITE(66) fjulday_startharm
-        CLOSE(66)
-        WRITE(numout,*) '----------------------------'
-        WRITE(numout,*) '   harm_rst_write: DONE '
-        WRITE(numout,*) cc
-        WRITE(numout,*) anaf
-        WRITE(numout,*) fjulday_startharm
-        WRITE(numout,*) '----------------------------'
-      ENDIF
- 
-   END SUBROUTINE harm_rst_write
-
-   SUBROUTINE harm_rst_read
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE harm_ana_init  ***
-      !!                   
-      !! ** Purpose :  To read in  cummulated Tidal Harmomnic data to file for
-      !!               restarting
-      !!
-      !! ** Method  :   
-      !!
-      !! ** input   :   
-      !!
-      !! ** Action  :   ...  
-      !!
-      !! history :
-      !!   0.0  !  01-16  (Enda O'Dea)  Original code
-      !! ASSUMES  dated file for rose  , can change later to be more generic
-      !!----------------------------------------------------------------------
-      CHARACTER(LEN=20)   ::   clkt     ! ocean time-step define as a character
-      CHARACTER(LEN=50)   ::   clname   ! ocean output restart file name
-      CHARACTER(LEN=150)  ::   clpath   ! full path to ocean output restart file
-      CHARACTER(LEN=250)  ::   clfinal   ! full name
-      INTEGER             ::   jh, j2d, j3d
-
-      IF( nit000 > 999999999 ) THEN ; WRITE(clkt, *       ) nit000-1
-      ELSE                      ; WRITE(clkt, '(i8.8)') nit000-1
-      ENDIF
-      clname = TRIM(cexper)//"_"//TRIM(ADJUSTL(clkt))//"_restart_harm_ana.bin"
-      clpath = TRIM(cn_ocerst_outdir)
-      IF( clpath(LEN_TRIM(clpath):) /= '/' ) clpath = TRIM(clpath) // '/'
-
-      IF (lwp) WRITE(numout,*) 'Open tidal harmonics restart file for reading: ',TRIM(clpath)//clname
-
-      DO j2d=1,nvar_2d
-         CALL iom_get( numror,jpdom_autoglo, 'Mean_'//TRIM(m_varName2d( m_posi_2d(j2d) )), g_cumul_var2D( 1, :, :, j2d ) )
-         IF(lwp) WRITE(numout,*) "2D", j2d, m_posi_2d(j2d), m_varName2d( m_posi_2d(j2d) )
-         DO jh=1,nb_ana
-            CALL iom_get( numror,jpdom_autoglo, TRIM(Wave(ntide_all(jh))%cname_tide)//"_"//TRIM(m_varName2d( m_posi_2d(j2d) ))//'_cos', g_cumul_var2D( jh*2  , :, :, j2d ) )
-            CALL iom_get( numror,jpdom_autoglo, TRIM(Wave(ntide_all(jh))%cname_tide)//"_"//TRIM(m_varName2d( m_posi_2d(j2d) ))//'_sin', g_cumul_var2D( jh*2+1, :, :, j2d ) )
-         ENDDO
-      ENDDO
-
-      DO j3d=1,nvar_3d
-         CALL iom_get( numror,jpdom_autoglo, 'Mean_'//TRIM(m_varName2d( m_posi_3d(j3d) )), g_cumul_var3D( 1, :, :, :, j3d ) )
-         IF(lwp) WRITE(numout,*) "3D", j3d,  m_posi_3d(j3d), m_varName3d( m_posi_3d(j3d) )
-
-         DO jh=1,nb_ana
-            CALL iom_get( numror,jpdom_autoglo, TRIM(Wave(ntide_all(jh))%cname_tide)//"_"//TRIM(m_varName3d( m_posi_3d(j3d) ))//'_cos', g_cumul_var3D( jh*2  , :, :, :, j3d ) )
-            CALL iom_get( numror,jpdom_autoglo, TRIM(Wave(ntide_all(jh))%cname_tide)//"_"//TRIM(m_varName3d( m_posi_3d(j3d) ))//'_sin', g_cumul_var3D( jh*2+1, :, :, :, j3d ) )
-         ENDDO
-      ENDDO
-
-      WRITE(clfinal,'(a)') trim(clpath)//trim(clname)
-      OPEN( 66, file=TRIM(clfinal), form='unformatted', access="stream" )
-      READ(66) cc
-      READ(66) anau
-      READ(66) anav
-      READ(66) anaf
-      READ(66) fjulday_startharm
-      CLOSE(66)
-
-      IF(lwp) THEN
-        WRITE(numout,*) '----------------------------'
-        WRITE(numout,*) '   Checking anaf is correct'
-        WRITE(numout,*) cc
-        WRITE(numout,*) anaf
-        WRITE(numout,*) fjulday_startharm
-        WRITE(numout,*) '----------------------------'
-      ENDIF
- 
-   END SUBROUTINE harm_rst_read
-
-   !!======================================================================
-#else
-!!---------------------------------------------------------------------------------
-!!   Dummy module                                   NO harmonic Analysis
-!!---------------------------------------------------------------------------------
-        LOGICAL, PUBLIC, PARAMETER :: lk_diaharm_fast  = .FALSE.   ! to be run or not
-
-        CONTAINS
-           SUBROUTINE harm_rst_write(kt)     ! Dummy routine
-           END SUBROUTINE harm_rst_write
-           SUBROUTINE harm_rst_read    ! Dummy routine
-           END SUBROUTINE harm_rst_read
-           SUBROUTINE harm_ana_out      ! Dummy routine
-           END SUBROUTINE harm_ana_out
-           SUBROUTINE harm_ana_init
-           END SUBROUTINE harm_ana_init
-           SUBROUTINE harm_ana( kt )
-!--- NB : end call not properly written
-           END SUBROUTINE harm_ana
-!           END SUBROUTINE harm_ana_init
-!--- END NB
-           SUBROUTINE gelim (a,b,x,n)
-!--- NB : end call not properly written
-           END SUBROUTINE gelim
-!           END SUBROUTINE gelim (a,b,x,n)
-!--- END NB           
-#endif
-
-END MODULE diaharm_fast 
diff --git a/MY_SRC/dommsk.F90 b/MY_SRC/dommsk.F90
deleted file mode 100755
index 29d4b888dd6187d18b98f35df3cb63d1a9e98c14..0000000000000000000000000000000000000000
--- a/MY_SRC/dommsk.F90
+++ /dev/null
@@ -1,303 +0,0 @@
-MODULE dommsk
-   !!======================================================================
-   !!                       ***  MODULE dommsk   ***
-   !! Ocean initialization : domain land/sea mask 
-   !!======================================================================
-   !! History :  OPA  ! 1987-07  (G. Madec)  Original code
-   !!            6.0  ! 1993-03  (M. Guyon)  symetrical conditions (M. Guyon)
-   !!            7.0  ! 1996-01  (G. Madec)  suppression of common work arrays
-   !!             -   ! 1996-05  (G. Madec)  mask computed from tmask
-   !!            8.0  ! 1997-02  (G. Madec)  mesh information put in domhgr.F
-   !!            8.1  ! 1997-07  (G. Madec)  modification of kbat and fmask
-   !!             -   ! 1998-05  (G. Roullet)  free surface
-   !!            8.2  ! 2000-03  (G. Madec)  no slip accurate
-   !!             -   ! 2001-09  (J.-M. Molines)  Open boundaries
-   !!   NEMO     1.0  ! 2002-08  (G. Madec)  F90: Free form and module
-   !!             -   ! 2005-11  (V. Garnier) Surface pressure gradient organization
-   !!            3.2  ! 2009-07  (R. Benshila) Suppression of rigid-lid option
-   !!            3.6  ! 2015-05  (P. Mathiot) ISF: add wmask,wumask and wvmask
-   !!            4.0  ! 2016-06  (G. Madec, S. Flavoni)  domain configuration / user defined interface
-   !!----------------------------------------------------------------------
-
-   !!----------------------------------------------------------------------
-   !!   dom_msk       : compute land/ocean mask
-   !!----------------------------------------------------------------------
-   USE oce            ! ocean dynamics and tracers
-   USE dom_oce        ! ocean space and time domain
-   USE usrdef_fmask   ! user defined fmask
-   USE bdy_oce      
-   USE in_out_manager ! I/O manager
-   USE iom
-   USE lbclnk         ! ocean lateral boundary conditions (or mpp link)
-   USE lib_mpp        ! Massively Parallel Processing library
-   USE wrk_nemo       ! Memory allocation
-   USE timing         ! Timing
-
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC   dom_msk    ! routine called by inidom.F90
-
-   !                            !!* Namelist namlbc : lateral boundary condition *
-   REAL(wp)        :: rn_shlat   ! type of lateral boundary condition on velocity
-   LOGICAL, PUBLIC :: ln_vorlat  !  consistency of vorticity boundary condition 
-   !                                            with analytical eqs.
-
-   !! * Substitutions
-#  include "vectopt_loop_substitute.h90"
-   !!----------------------------------------------------------------------
-   !! NEMO/OPA 3.2 , LODYC-IPSL  (2009)
-   !! $Id: dommsk.F90 7753 2017-03-03 11:46:59Z mocavero $ 
-   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-   SUBROUTINE dom_msk( k_top, k_bot )
-      !!---------------------------------------------------------------------
-      !!                 ***  ROUTINE dom_msk  ***
-      !!
-      !! ** Purpose :   Compute land/ocean mask arrays at tracer points, hori-
-      !!      zontal velocity points (u & v), vorticity points (f) points.
-      !!
-      !! ** Method  :   The ocean/land mask  at t-point is deduced from ko_top 
-      !!      and ko_bot, the indices of the fist and last ocean t-levels which 
-      !!      are either defined in usrdef_zgr or read in zgr_read.
-      !!                The velocity masks (umask, vmask, wmask, wumask, wvmask) 
-      !!      are deduced from a product of the two neighboring tmask.
-      !!                The vorticity mask (fmask) is deduced from tmask taking
-      !!      into account the choice of lateral boundary condition (rn_shlat) :
-      !!         rn_shlat = 0, free slip  (no shear along the coast)
-      !!         rn_shlat = 2, no slip  (specified zero velocity at the coast)
-      !!         0 < rn_shlat < 2, partial slip   | non-linear velocity profile
-      !!         2 < rn_shlat, strong slip        | in the lateral boundary layer
-      !!
-      !!      tmask_i : interior ocean mask at t-point, i.e. excluding duplicated
-      !!                rows/lines due to cyclic or North Fold boundaries as well
-      !!                as MPP halos.
-      !!      tmask_h : halo mask at t-point, i.e. excluding duplicated rows/lines
-      !!                due to cyclic or North Fold boundaries as well as MPP halos.
-      !!
-      !! ** Action :   tmask, umask, vmask, wmask, wumask, wvmask : land/ocean mask 
-      !!                         at t-, u-, v- w, wu-, and wv-points (=0. or 1.)
-      !!               fmask   : land/ocean mask at f-point (=0., or =1., or 
-      !!                         =rn_shlat along lateral boundaries)
-      !!               tmask_i : interior ocean mask 
-      !!               tmask_h : halo mask
-      !!               ssmask , ssumask, ssvmask, ssfmask : 2D ocean mask
-      !!----------------------------------------------------------------------
-      INTEGER, DIMENSION(:,:), INTENT(in) ::   k_top, k_bot   ! first and last ocean level
-      !
-      INTEGER  ::   ji, jj, jk     ! dummy loop indices
-      INTEGER  ::   iif, iil       ! local integers
-      INTEGER  ::   ijf, ijl       !   -       -
-      INTEGER  ::   iktop, ikbot   !   -       -
-      INTEGER  ::   ios, inum
-      REAL(wp), POINTER, DIMENSION(:,:) ::   zwf   ! 2D workspace
-      !!
-      NAMELIST/namlbc/ rn_shlat, ln_vorlat
-      NAMELIST/nambdy/ ln_bdy ,nb_bdy, ln_coords_file, cn_coords_file,         &
-         &             ln_mask_file, cn_mask_file, cn_dyn2d, nn_dyn2d_dta,     &
-         &             cn_dyn3d, nn_dyn3d_dta, cn_tra, nn_tra_dta,             &
-         &             ln_tra_dmp, ln_dyn3d_dmp, rn_time_dmp, rn_time_dmp_out, &
-         &             cn_ice_lim, nn_ice_lim_dta,                           &
-         &             rn_ice_tem, rn_ice_sal, rn_ice_age,                 &
-         &             ln_vol, nn_volctl, nn_rimwidth, nb_jpk_bdy
-      !!---------------------------------------------------------------------
-      !
-      IF( nn_timing == 1 )  CALL timing_start('dom_msk')
-      !
-      REWIND( numnam_ref )              ! Namelist namlbc in reference namelist : Lateral momentum boundary condition
-      READ  ( numnam_ref, namlbc, IOSTAT = ios, ERR = 901 )
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in reference namelist', lwp )
-
-      REWIND( numnam_cfg )              ! Namelist namlbc in configuration namelist : Lateral momentum boundary condition
-      READ  ( numnam_cfg, namlbc, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in configuration namelist', lwp )
-      IF(lwm) WRITE ( numond, namlbc )
-      
-      IF(lwp) THEN                  ! control print
-         WRITE(numout,*)
-         WRITE(numout,*) 'dommsk : ocean mask '
-         WRITE(numout,*) '~~~~~~'
-         WRITE(numout,*) '   Namelist namlbc'
-         WRITE(numout,*) '      lateral momentum boundary cond.    rn_shlat  = ',rn_shlat
-         WRITE(numout,*) '      consistency with analytical form   ln_vorlat = ',ln_vorlat 
-      ENDIF
-
-      IF     (      rn_shlat == 0.               ) THEN   ;   IF(lwp) WRITE(numout,*) '   ocean lateral  free-slip '
-      ELSEIF (      rn_shlat == 2.               ) THEN   ;   IF(lwp) WRITE(numout,*) '   ocean lateral  no-slip '
-      ELSEIF ( 0. < rn_shlat .AND. rn_shlat < 2. ) THEN   ;   IF(lwp) WRITE(numout,*) '   ocean lateral  partial-slip '
-      ELSEIF ( 2. < rn_shlat                     ) THEN   ;   IF(lwp) WRITE(numout,*) '   ocean lateral  strong-slip '
-      ELSE
-         WRITE(ctmp1,*) ' rn_shlat is negative = ', rn_shlat
-         CALL ctl_stop( ctmp1 )
-      ENDIF
-
-
-      !  Ocean/land mask at t-point  (computed from ko_top and ko_bot)
-      ! ----------------------------
-      !
-      tmask(:,:,:) = 0._wp
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            iktop = k_top(ji,jj)
-            ikbot = k_bot(ji,jj)
-            IF( iktop /= 0 ) THEN       ! water in the column
-               tmask(ji,jj,iktop:ikbot  ) = 1._wp
-            ENDIF
-         END DO  
-      END DO  
-!SF  add here lbc_lnk: bug not still understood : cause now domain configuration is read !
-!!gm I don't understand why...  
-      CALL lbc_lnk( tmask  , 'T', 1._wp )      ! Lateral boundary conditions
-
-     ! Mask corrections for bdy (read in mppini2)
-      REWIND( numnam_ref )              ! Namelist nambdy in reference namelist :Unstructured open boundaries
-      READ  ( numnam_ref, nambdy, IOSTAT = ios, ERR = 903)
-903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist', lwp )
-
-      REWIND( numnam_cfg )              ! Namelist nambdy in configuration namelist :Unstructured open boundaries
-      READ  ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 904 )
-904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist', lwp )
-      ! ------------------------
-      IF ( ln_bdy .AND. ln_mask_file ) THEN
-         CALL iom_open( cn_mask_file, inum )
-         CALL iom_get ( inum, jpdom_data, 'bdy_msk', bdytmask(:,:) )
-         CALL iom_close( inum )
-         DO jk = 1, jpkm1
-            DO jj = 1, jpj
-               DO ji = 1, jpi
-                  tmask(ji,jj,jk) = tmask(ji,jj,jk) * bdytmask(ji,jj)
-               END DO
-            END DO
-         END DO
-      ENDIF
-         
-      !  Ocean/land mask at u-, v-, and f-points   (computed from tmask)
-      ! ----------------------------------------
-      ! NB: at this point, fmask is designed for free slip lateral boundary condition
-      DO jk = 1, jpk
-         DO jj = 1, jpjm1
-            DO ji = 1, fs_jpim1   ! vector loop
-               umask(ji,jj,jk) = tmask(ji,jj  ,jk) * tmask(ji+1,jj  ,jk)
-               vmask(ji,jj,jk) = tmask(ji,jj  ,jk) * tmask(ji  ,jj+1,jk)
-            END DO
-            DO ji = 1, jpim1      ! NO vector opt.
-               fmask(ji,jj,jk) = tmask(ji,jj  ,jk) * tmask(ji+1,jj  ,jk)   &
-                  &            * tmask(ji,jj+1,jk) * tmask(ji+1,jj+1,jk)
-            END DO
-         END DO
-      END DO
-      CALL lbc_lnk( umask  , 'U', 1._wp )      ! Lateral boundary conditions
-      CALL lbc_lnk( vmask  , 'V', 1._wp )
-      CALL lbc_lnk( fmask  , 'F', 1._wp )
-
- 
-      ! Ocean/land mask at wu-, wv- and w points    (computed from tmask)
-      !-----------------------------------------
-      wmask (:,:,1) = tmask(:,:,1)     ! surface
-      wumask(:,:,1) = umask(:,:,1)
-      wvmask(:,:,1) = vmask(:,:,1)
-      DO jk = 2, jpk                   ! interior values
-         wmask (:,:,jk) = tmask(:,:,jk) * tmask(:,:,jk-1)
-         wumask(:,:,jk) = umask(:,:,jk) * umask(:,:,jk-1)   
-         wvmask(:,:,jk) = vmask(:,:,jk) * vmask(:,:,jk-1)
-      END DO
-
-
-      ! Ocean/land column mask at t-, u-, and v-points   (i.e. at least 1 wet cell in the vertical)
-      ! ----------------------------------------------
-      ssmask (:,:) = MAXVAL( tmask(:,:,:), DIM=3 )
-      ssumask(:,:) = MAXVAL( umask(:,:,:), DIM=3 )
-      ssvmask(:,:) = MAXVAL( vmask(:,:,:), DIM=3 )
-
-
-      ! Interior domain mask  (used for global sum)
-      ! --------------------
-      !
-      iif = jpreci   ;   iil = nlci - jpreci + 1
-      ijf = jprecj   ;   ijl = nlcj - jprecj + 1
-      !
-      !                          ! halo mask : 0 on the halo and 1 elsewhere
-      tmask_h(:,:) = 1._wp                  
-      tmask_h( 1 :iif,   :   ) = 0._wp      ! first columns
-      tmask_h(iil:jpi,   :   ) = 0._wp      ! last  columns (including mpp extra columns)
-      tmask_h(   :   , 1 :ijf) = 0._wp      ! first rows
-      tmask_h(   :   ,ijl:jpj) = 0._wp      ! last  rows (including mpp extra rows)
-      !
-      !                          ! north fold mask
-      tpol(1:jpiglo) = 1._wp 
-      fpol(1:jpiglo) = 1._wp
-      IF( jperio == 3 .OR. jperio == 4 ) THEN      ! T-point pivot
-         tpol(jpiglo/2+1:jpiglo) = 0._wp
-         fpol(     1    :jpiglo) = 0._wp
-         IF( mjg(nlej) == jpjglo ) THEN                  ! only half of the nlcj-1 row for tmask_h
-            DO ji = iif+1, iil-1
-               tmask_h(ji,nlej-1) = tmask_h(ji,nlej-1) * tpol(mig(ji))
-            END DO
-         ENDIF
-      ENDIF
-      !
-      IF( jperio == 5 .OR. jperio == 6 ) THEN      ! F-point pivot
-         tpol(     1    :jpiglo) = 0._wp
-         fpol(jpiglo/2+1:jpiglo) = 0._wp
-      ENDIF
-      !
-      !                          ! interior mask : 2D ocean mask x halo mask 
-      tmask_i(:,:) = ssmask(:,:) * tmask_h(:,:)
-
-
-      ! Lateral boundary conditions on velocity (modify fmask)
-      ! ---------------------------------------  
-      IF( rn_shlat /= 0 ) THEN      ! Not free-slip lateral boundary condition
-         !
-         CALL wrk_alloc( jpi,jpj,   zwf )
-         !
-         DO jk = 1, jpk
-            zwf(:,:) = fmask(:,:,jk)         
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  IF( fmask(ji,jj,jk) == 0._wp ) THEN
-                     fmask(ji,jj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(ji+1,jj), zwf(ji,jj+1),   &
-                        &                                           zwf(ji-1,jj), zwf(ji,jj-1)  )  )
-                  ENDIF
-               END DO
-            END DO
-            DO jj = 2, jpjm1
-               IF( fmask(1,jj,jk) == 0._wp ) THEN
-                  fmask(1  ,jj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(2,jj), zwf(1,jj+1), zwf(1,jj-1) ) )
-               ENDIF
-               IF( fmask(jpi,jj,jk) == 0._wp ) THEN
-                  fmask(jpi,jj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(jpi,jj+1), zwf(jpim1,jj), zwf(jpi,jj-1) ) )
-               ENDIF
-            END DO         
-            DO ji = 2, jpim1
-               IF( fmask(ji,1,jk) == 0._wp ) THEN
-                  fmask(ji, 1 ,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(ji+1,1), zwf(ji,2), zwf(ji-1,1) ) )
-               ENDIF
-               IF( fmask(ji,jpj,jk) == 0._wp ) THEN
-                  fmask(ji,jpj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(ji+1,jpj), zwf(ji-1,jpj), zwf(ji,jpjm1) ) )
-               ENDIF
-            END DO
-         END DO
-         !
-         CALL wrk_dealloc( jpi,jpj,   zwf )
-         !
-         CALL lbc_lnk( fmask, 'F', 1._wp )      ! Lateral boundary conditions on fmask
-         !
-         ! CAUTION : The fmask may be further modified in dyn_vor_init ( dynvor.F90 ) depending on ln_vorlat
-         !
-      ENDIF
-      
-      ! User defined alteration of fmask (use to reduce ocean transport in specified straits)
-      ! -------------------------------- 
-      !
-      CALL usr_def_fmask( cn_cfg, nn_cfg, fmask )
-      !
-      !
-      IF( nn_timing == 1 )  CALL timing_stop('dom_msk')
-      !
-   END SUBROUTINE dom_msk
-   
-   !!======================================================================
-END MODULE dommsk
diff --git a/MY_SRC/sbctide.F90 b/MY_SRC/sbctide.F90
deleted file mode 100755
index ea6d4feeb381da5f2d051bcb02ad1528e809dcdd..0000000000000000000000000000000000000000
--- a/MY_SRC/sbctide.F90
+++ /dev/null
@@ -1,137 +0,0 @@
-MODULE sbctide
-   !!======================================================================
-   !!                       ***  MODULE  sbctide  ***
-   !! Initialization of tidal forcing
-   !!======================================================================
-   !! History :  9.0  !  2007  (O. Le Galloudec)  Original code
-   !!----------------------------------------------------------------------
-   USE oce            ! ocean dynamics and tracers variables
-   USE dom_oce        ! ocean space and time domain
-   USE phycst         ! physical constant
-   USE daymod         ! calandar
-   USE tideini        ! 
-   !
-   USE in_out_manager ! I/O units
-   USE iom            ! xIOs server
-   USE ioipsl         ! NetCDF IPSL library
-   USE lbclnk         ! ocean lateral boundary conditions (or mpp link)
-   ! NB - to access love number 
-   USE bdytides
-   ! END NB
-
-   IMPLICIT NONE
-   PUBLIC
-
-   REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) ::   pot_astro   !
-
-   !!----------------------------------------------------------------------
-   !!   tidal potential
-   !!----------------------------------------------------------------------
-   !!   sbc_tide            : 
-   !!   tide_init_potential :
-   !!----------------------------------------------------------------------
-
-   REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   amp_pot, phi_pot
-
-   !!----------------------------------------------------------------------
-   !! NEMO/OPA 3.5 , NEMO Consortium (2013)
-   !! $Id: sbctide.F90 7646 2017-02-06 09:25:03Z timgraham $
-   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-   SUBROUTINE sbc_tide( kt )
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE sbc_tide  ***
-      !!----------------------------------------------------------------------      
-      INTEGER, INTENT( in ) ::   kt     ! ocean time-step
-      INTEGER               ::   jk     ! dummy loop index
-      INTEGER               ::   nsec_day_orig     ! Temporary variable
-      !!----------------------------------------------------------------------
-      
-      IF( nsec_day == NINT(0.5_wp * rdt) .OR. kt == nit000 ) THEN      ! start a new day
-         !
-         IF( kt == nit000 ) THEN
-            ALLOCATE( amp_pot(jpi,jpj,nb_harmo),                      &
-               &      phi_pot(jpi,jpj,nb_harmo), pot_astro(jpi,jpj)   )
-         ENDIF
-         !
-         amp_pot(:,:,:) = 0._wp
-         phi_pot(:,:,:) = 0._wp
-         pot_astro(:,:) = 0._wp
-         !
-         ! If the run does not start from midnight then need to initialise tides
-         ! at the start of the current day (only occurs when kt==nit000)
-         ! Temporarily set nsec_day to beginning of day.
-         nsec_day_orig = nsec_day
-         IF ( nsec_day /= NINT(0.5_wp * rdt) ) THEN 
-            kt_tide = kt - (nsec_day - 0.5_wp * rdt)/rdt
-            nsec_day = NINT(0.5_wp * rdt)
-         ELSE
-            kt_tide = kt 
-         ENDIF
-         CALL tide_harmo( omega_tide, v0tide, utide, ftide, ntide, nb_harmo )
-         !
-         !
-         IF(lwp) THEN
-            WRITE(numout,*)
-            WRITE(numout,*) 'sbc_tide : Update of the components and (re)Init. the potential at kt=', kt
-            WRITE(numout,*) '~~~~~~~~ '
-            DO jk = 1, nb_harmo
-               WRITE(numout,*) Wave(ntide(jk))%cname_tide, utide(jk), ftide(jk), v0tide(jk), omega_tide(jk)
-            END DO
-         ENDIF
-         !
-         IF( ln_tide_pot )   CALL tide_init_potential
-         !
-         ! Reset nsec_day
-         nsec_day = nsec_day_orig 
-      ENDIF
-      !
-   END SUBROUTINE sbc_tide
-
-
-   SUBROUTINE tide_init_potential
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE tide_init_potential  ***
-      !!----------------------------------------------------------------------
-      INTEGER  ::   ji, jj, jk   ! dummy loop indices
-      REAL(wp) ::   zcons, ztmp1, ztmp2, zlat, zlon, ztmp, zamp, zcs   ! local scalar
-      !!----------------------------------------------------------------------
-
-      DO jk = 1, nb_harmo
-!--- NB 11/2017
-! love number now provides in tide namelist
-         zcons = dn_love_number * Wave(ntide(jk))%equitide * ftide(jk)
-! ORIGINAL zcons = 0.7_wp * Wave(ntide(jk))%equitide * ftide(jk)
-!--- END NB
-         DO ji = 1, jpi
-            DO jj = 1, jpj
-               ztmp1 =  amp_pot(ji,jj,jk) * COS( phi_pot(ji,jj,jk) )
-               ztmp2 = -amp_pot(ji,jj,jk) * SIN( phi_pot(ji,jj,jk) )
-               zlat = gphit(ji,jj)*rad !! latitude en radian
-               zlon = glamt(ji,jj)*rad !! longitude en radian
-               ztmp = v0tide(jk) + utide(jk) + Wave(ntide(jk))%nutide * zlon
-               ! le potentiel est composé des effets des astres:
-               IF    ( Wave(ntide(jk))%nutide == 1 )  THEN  ;  zcs = zcons * SIN( 2._wp*zlat )
-               ELSEIF( Wave(ntide(jk))%nutide == 2 )  THEN  ;  zcs = zcons * COS( zlat )**2
-!--- NB 11/2017
-! Add tide potential for long period tides
-               ELSEIF( Wave(ntide(jk))%nutide == 0 )  THEN  ;  zcs = zcons * (0.5_wp-1.5_wp*SIN(zlat)**2._wp)
-!--- END NB
-               ELSE                                         ;  zcs = 0._wp
-               ENDIF
-               ztmp1 = ztmp1 + zcs * COS( ztmp )
-               ztmp2 = ztmp2 - zcs * SIN( ztmp )
-               zamp = SQRT( ztmp1*ztmp1 + ztmp2*ztmp2 )
-               amp_pot(ji,jj,jk) = zamp
-               phi_pot(ji,jj,jk) = ATAN2( -ztmp2 / MAX( 1.e-10_wp , zamp ) ,   &
-                  &                        ztmp1 / MAX( 1.e-10_wp,  zamp )   )
-            END DO
-         END DO
-      END DO
-      !
-   END SUBROUTINE tide_init_potential
-
-  !!======================================================================
-END MODULE sbctide
diff --git a/MY_SRC/step.F90 b/MY_SRC/step.F90
deleted file mode 100755
index fe08ea36635f29df0e6b8a92084e1b374bb8132c..0000000000000000000000000000000000000000
--- a/MY_SRC/step.F90
+++ /dev/null
@@ -1,364 +0,0 @@
-MODULE step
-   !!======================================================================
-   !!                       ***  MODULE step  ***
-   !! Time-stepping   : manager of the ocean, tracer and ice time stepping
-   !!======================================================================
-   !! History :  OPA  !  1991-03  (G. Madec)  Original code
-   !!             -   !  1991-11  (G. Madec)
-   !!             -   !  1992-06  (M. Imbard)  add a first output record
-   !!             -   !  1996-04  (G. Madec)  introduction of dynspg
-   !!             -   !  1996-04  (M.A. Foujols)  introduction of passive tracer
-   !!            8.0  !  1997-06  (G. Madec)  new architecture of call
-   !!            8.2  !  1997-06  (G. Madec, M. Imbard, G. Roullet)  free surface
-   !!             -   !  1999-02  (G. Madec, N. Grima)  hpg implicit
-   !!             -   !  2000-07  (J-M Molines, M. Imbard)  Open Bondary Conditions
-   !!   NEMO     1.0  !  2002-06  (G. Madec)  free form, suppress macro-tasking
-   !!             -   !  2004-08  (C. Talandier) New trends organization
-   !!             -   !  2005-01  (C. Ethe) Add the KPP closure scheme
-   !!             -   !  2005-11  (G. Madec)  Reorganisation of tra and dyn calls
-   !!             -   !  2006-01  (L. Debreu, C. Mazauric)  Agrif implementation
-   !!             -   !  2006-07  (S. Masson)  restart using iom
-   !!            3.2  !  2009-02  (G. Madec, R. Benshila)  reintroduicing z*-coordinate
-   !!             -   !  2009-06  (S. Masson, G. Madec)  TKE restart compatible with key_cpl
-   !!            3.3  !  2010-05  (K. Mogensen, A. Weaver, M. Martin, D. Lea) Assimilation interface
-   !!             -   !  2010-10  (C. Ethe, G. Madec) reorganisation of initialisation phase + merge TRC-TRA
-   !!            3.4  !  2011-04  (G. Madec, C. Ethe) Merge of dtatem and dtasal
-   !!            3.6  !  2012-07  (J. Simeon, G. Madec. C. Ethe)  Online coarsening of outputs
-   !!            3.6  !  2014-04  (F. Roquet, G. Madec) New equations of state
-   !!            3.6  !  2014-10  (E. Clementi, P. Oddo) Add Qiao vertical mixing in case of waves
-   !!            3.7  !  2014-10  (G. Madec)  LDF simplication 
-   !!             -   !  2014-12  (G. Madec) remove KPP scheme
-   !!             -   !  2015-11  (J. Chanut) free surface simplification
-   !!----------------------------------------------------------------------
-
-   !!----------------------------------------------------------------------
-   !!   stp             : OPA system time-stepping
-   !!----------------------------------------------------------------------
-   USE step_oce         ! time stepping definition modules
-   !
-   USE iom              ! xIOs server
-
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC   stp   ! called by nemogcm.F90
-
-   !!----------------------------------------------------------------------
-   !! NEMO/OPA 3.7 , NEMO Consortium (2015)
-   !! $Id: step.F90 7753 2017-03-03 11:46:59Z mocavero $
-   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-#if defined key_agrif
-   RECURSIVE SUBROUTINE stp( )
-      INTEGER             ::   kstp   ! ocean time-step index
-#else
-   SUBROUTINE stp( kstp )
-      INTEGER, INTENT(in) ::   kstp   ! ocean time-step index
-#endif
-      !!----------------------------------------------------------------------
-      !!                     ***  ROUTINE stp  ***
-      !!
-      !! ** Purpose : - Time stepping of OPA (momentum and active tracer eqs.)
-      !!              - Time stepping of LIM (dynamic and thermodynamic eqs.)
-      !!              - Tme stepping  of TRC (passive tracer eqs.)
-      !!
-      !! ** Method  : -1- Update forcings and data
-      !!              -2- Update ocean physics
-      !!              -3- Compute the t and s trends
-      !!              -4- Update t and s
-      !!              -5- Compute the momentum trends
-      !!              -6- Update the horizontal velocity
-      !!              -7- Compute the diagnostics variables (rd,N2, hdiv,w)
-      !!              -8- Outputs and diagnostics
-      !!----------------------------------------------------------------------
-      INTEGER ::   ji,jj,jk ! dummy loop indice
-      INTEGER ::   indic    ! error indicator if < 0
-      INTEGER ::   kcall    ! optional integer argument (dom_vvl_sf_nxt)
-      !! ---------------------------------------------------------------------
-#if defined key_agrif
-      kstp = nit000 + Agrif_Nb_Step()
-      IF( lk_agrif_debug ) THEN
-         IF( Agrif_Root() .and. lwp)   WRITE(*,*) '---'
-         IF(lwp)   WRITE(*,*) 'Grid Number', Agrif_Fixed(),' time step ', kstp, 'int tstep', Agrif_NbStepint()
-      ENDIF
-      IF( kstp == nit000 + 1 )   lk_agrif_fstep = .FALSE.
-# if defined key_iomput
-      IF( Agrif_Nbstepint() == 0 )   CALL iom_swap( cxios_context )
-# endif
-#endif
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! update I/O and calendar 
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                             indic = 0                ! reset to no error condition
-                             
-      IF( kstp == nit000 ) THEN                       ! initialize IOM context (must be done after nemo_init for AGRIF+XIOS+OASIS)
-                             CALL iom_init(      cxios_context          )  ! for model grid (including passible AGRIF zoom)
-         IF( ln_crs      )   CALL iom_init( TRIM(cxios_context)//"_crs" )  ! for coarse grid
-      ENDIF
-      IF( kstp /= nit000 )   CALL day( kstp )         ! Calendar (day was already called at nit000 in day_init)
-                             CALL iom_setkt( kstp - nit000 + 1,      cxios_context          )   ! tell IOM we are at time step kstp
-      IF( ln_crs         )   CALL iom_setkt( kstp - nit000 + 1, TRIM(cxios_context)//"_crs" )   ! tell IOM we are at time step kstp
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Update external forcing (tides, open boundaries, and surface boundary condition (including sea-ice)
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-      IF( ln_tide    )   CALL sbc_tide( kstp )                   ! update tide potential
-      IF( ln_apr_dyn )   CALL sbc_apr ( kstp )                   ! atmospheric pressure (NB: call before bdy_dta which needs ssh_ib) 
-      IF( ln_bdy     )   CALL bdy_dta ( kstp, time_offset=+1 )   ! update dynamic & tracer data at open boundaries
-                         CALL sbc     ( kstp )                   ! Sea Boundary Condition (including sea-ice)
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Update stochastic parameters and random T/S fluctuations
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      IF( ln_sto_eos ) CALL sto_par( kstp )          ! Stochastic parameters
-      IF( ln_sto_eos ) CALL sto_pts( tsn  )          ! Random T/S fluctuations
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Ocean physics update                (ua, va, tsa used as workspace)
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-      !  THERMODYNAMICS
-                         CALL eos_rab( tsb, rab_b )       ! before local thermal/haline expension ratio at T-points
-                         CALL eos_rab( tsn, rab_n )       ! now    local thermal/haline expension ratio at T-points
-                         CALL bn2    ( tsb, rab_b, rn2b ) ! before Brunt-Vaisala frequency
-                         CALL bn2    ( tsn, rab_n, rn2  ) ! now    Brunt-Vaisala frequency
-
-      !
-      !  VERTICAL PHYSICS
-                         CALL zdf_bfr( kstp )         ! bottom friction (if quadratic)
-      !                                               ! Vertical eddy viscosity and diffusivity coefficients
-      IF( lk_zdfric  )   CALL zdf_ric ( kstp )             ! Richardson number dependent Kz
-      IF( lk_zdftke  )   CALL zdf_tke ( kstp )             ! TKE closure scheme for Kz
-      IF( lk_zdfgls  )   CALL zdf_gls ( kstp )             ! GLS closure scheme for Kz
-      IF( ln_zdfqiao )   CALL zdf_qiao( kstp )             ! Qiao vertical mixing 
-      !
-      IF( lk_zdfcst  ) THEN                                ! Constant Kz (reset avt, avm[uv] to the background value)
-         avt (:,:,:) = rn_avt0 * wmask (:,:,:)
-         avmu(:,:,:) = rn_avm0 * wumask(:,:,:)
-         avmv(:,:,:) = rn_avm0 * wvmask(:,:,:)
-      ENDIF
-
-      IF( ln_rnf_mouth ) THEN                         ! increase diffusivity at rivers mouths
-         DO jk = 2, nkrnf   ;   avt(:,:,jk) = avt(:,:,jk) + 2._wp * rn_avt_rnf * rnfmsk(:,:) * tmask(:,:,jk)   ;   END DO
-      ENDIF
-      IF( ln_zdfevd  )   CALL zdf_evd( kstp )         ! enhanced vertical eddy diffusivity
-
-      IF( lk_zdftmx  )   CALL zdf_tmx( kstp )         ! tidal vertical mixing
-
-      IF( lk_zdfddm  )   CALL zdf_ddm( kstp )         ! double diffusive mixing
-
-                         CALL zdf_mxl( kstp )         ! mixed layer depth
-
-                                                      ! write TKE or GLS information in the restart file
-      IF( lrst_oce .AND. lk_zdftke )   CALL tke_rst( kstp, 'WRITE' )
-      IF( lrst_oce .AND. lk_zdfgls )   CALL gls_rst( kstp, 'WRITE' )
-      !
-      !  LATERAL  PHYSICS
-      !
-      IF( l_ldfslp ) THEN                             ! slope of lateral mixing
-                         CALL eos( tsb, rhd, gdept_0(:,:,:) )               ! before in situ density
-
-         IF( ln_zps .AND. .NOT. ln_isfcav)                               &
-            &            CALL zps_hde    ( kstp, jpts, tsb, gtsu, gtsv,  &  ! Partial steps: before horizontal gradient
-            &                                          rhd, gru , grv    )  ! of t, s, rd at the last ocean level
-
-         IF( ln_zps .AND.       ln_isfcav)                               &
-            &            CALL zps_hde_isf( kstp, jpts, tsb, gtsu, gtsv, gtui, gtvi,  &  ! Partial steps for top cell (ISF)
-            &                                          rhd, gru , grv , grui, grvi   )  ! of t, s, rd at the first ocean level
-         IF( ln_traldf_triad ) THEN 
-                         CALL ldf_slp_triad( kstp )                       ! before slope for triad operator
-         ELSE     
-                         CALL ldf_slp     ( kstp, rhd, rn2b )             ! before slope for standard operator
-         ENDIF
-      ENDIF
-      !                                                                   ! eddy diffusivity coeff.
-      IF( l_ldftra_time .OR. l_ldfeiv_time )   CALL ldf_tra( kstp )       !       and/or eiv coeff.
-      IF( l_ldfdyn_time                    )   CALL ldf_dyn( kstp )       ! eddy viscosity coeff. 
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      !  Ocean dynamics : hdiv, ssh, e3, u, v, w
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
-                            CALL ssh_nxt       ( kstp )  ! after ssh (includes call to div_hor)
-      IF(.NOT.ln_linssh )   CALL dom_vvl_sf_nxt( kstp )  ! after vertical scale factors 
-                            CALL wzv           ( kstp )  ! now cross-level velocity 
-                            CALL eos    ( tsn, rhd, rhop, gdept_n(:,:,:) )  ! now in situ density for hpg computation
-                            
-!!jc: fs simplification
-!!jc: lines below are useless if ln_linssh=F. Keep them here (which maintains a bug if ln_linssh=T and ln_zps=T, cf ticket #1636) 
-!!                                         but ensures reproductible results
-!!                                         with previous versions using split-explicit free surface          
-            IF( ln_zps .AND. .NOT. ln_isfcav )                               &
-               &            CALL zps_hde    ( kstp, jpts, tsn, gtsu, gtsv,   &  ! Partial steps: before horizontal gradient
-               &                                          rhd, gru , grv     )  ! of t, s, rd at the last ocean level
-            IF( ln_zps .AND.       ln_isfcav )                                          &
-               &            CALL zps_hde_isf( kstp, jpts, tsn, gtsu, gtsv, gtui, gtvi,  &  ! Partial steps for top cell (ISF)
-               &                                          rhd, gru , grv , grui, grvi   )  ! of t, s, rd at the first ocean level
-!!jc: fs simplification
-                            
-                         ua(:,:,:) = 0._wp            ! set dynamics trends to zero
-                         va(:,:,:) = 0._wp
-
-      IF(  lk_asminc .AND. ln_asmiau .AND. ln_dyninc )   &
-               &         CALL dyn_asm_inc   ( kstp )  ! apply dynamics assimilation increment
-      IF( ln_bdy     )   CALL bdy_dyn3d_dmp ( kstp )  ! bdy damping trends
-#if defined key_agrif
-      IF(.NOT. Agrif_Root())  & 
-               &         CALL Agrif_Sponge_dyn        ! momentum sponge
-#endif
-                         CALL dyn_adv       ( kstp )  ! advection (vector or flux form)
-                         CALL dyn_vor       ( kstp )  ! vorticity term including Coriolis
-                         CALL dyn_ldf       ( kstp )  ! lateral mixing
-                         CALL dyn_hpg       ( kstp )  ! horizontal gradient of Hydrostatic pressure
-                         CALL dyn_spg       ( kstp )  ! surface pressure gradient
-
-                                                      ! With split-explicit free surface, since now transports have been updated and ssha as well
-      IF( ln_dynspg_ts ) THEN                         ! vertical scale factors and vertical velocity need to be updated
-                            CALL div_hor    ( kstp )              ! Horizontal divergence  (2nd call in time-split case)
-         IF(.NOT.ln_linssh) CALL dom_vvl_sf_nxt( kstp, kcall=2 )  ! after vertical scale factors (update depth average component)
-                            CALL wzv        ( kstp )              ! now cross-level velocity 
-      ENDIF
-
-                         CALL dyn_bfr       ( kstp )  ! bottom friction
-                         CALL dyn_zdf       ( kstp )  ! vertical diffusion
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! cool skin
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<      
-      IF ( ln_diurnal )  CALL stp_diurnal( kstp )
-      
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! diagnostics and outputs             (ua, va, tsa used as workspace)
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-      IF( lk_floats  )   CALL flo_stp( kstp )         ! drifting Floats
-      IF( nn_diacfl == 1 )   CALL dia_cfl( kstp )         ! Courant number diagnostics
-      IF( lk_diahth  )   CALL dia_hth( kstp )         ! Thermocline depth (20 degres isotherm depth)
-      IF( lk_diadct  )   CALL dia_dct( kstp )         ! Transports
-                         CALL dia_ar5( kstp )         ! ar5 diag
-      IF( lk_diaharm )   CALL dia_harm( kstp )        ! Tidal harmonic analysis
-      ! NB - new harmonic analysis 
-      IF( lk_diaharm_fast )                           &
-            &            CALL dia_harm_fast( kstp )   ! Tidal harmonic analysis - restart and faster version
-      ! END NB
-                         CALL dia_wri( kstp )         ! ocean model: outputs
-      !
-      IF( ln_crs     )   CALL crs_fld       ( kstp )  ! ocean model: online field coarsening & output
-      
-#if defined key_top
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Passive Tracer Model
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                         CALL trc_stp       ( kstp )  ! time-stepping
-#endif
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Active tracers                              
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                         tsa(:,:,:,:) = 0._wp         ! set tracer trends to zero
-
-      IF(  lk_asminc .AND. ln_asmiau .AND. &
-         & ln_trainc )   CALL tra_asm_inc   ( kstp )  ! apply tracer assimilation increment
-                         CALL tra_sbc       ( kstp )  ! surface boundary condition
-      IF( ln_traqsr  )   CALL tra_qsr       ( kstp )  ! penetrative solar radiation qsr
-      IF( ln_trabbc  )   CALL tra_bbc       ( kstp )  ! bottom heat flux
-      IF( lk_trabbl  )   CALL tra_bbl       ( kstp )  ! advective (and/or diffusive) bottom boundary layer scheme
-      IF( ln_tradmp  )   CALL tra_dmp       ( kstp )  ! internal damping trends
-      IF( ln_bdy     )   CALL bdy_tra_dmp   ( kstp )  ! bdy damping trends
-#if defined key_agrif
-      IF(.NOT. Agrif_Root())  & 
-               &         CALL Agrif_Sponge_tra        ! tracers sponge
-#endif
-                         CALL tra_adv       ( kstp )  ! horizontal & vertical advection
-                         CALL tra_ldf       ( kstp )  ! lateral mixing
-
-!!gm : why CALL to dia_ptr has been moved here??? (use trends info?)
-      IF( ln_diaptr  )   CALL dia_ptr                 ! Poleward adv/ldf TRansports diagnostics
-!!gm
-                         CALL tra_zdf       ( kstp )  ! vertical mixing and after tracer fields
-      IF( ln_zdfnpc  )   CALL tra_npc       ( kstp )  ! update after fields by non-penetrative convection
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Set boundary conditions and Swap
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-!!jc1: For agrif, it would be much better to finalize tracers/momentum here (e.g. bdy conditions) and move the swap 
-!!    (and time filtering) after Agrif update. Then restart would be done after and would contain updated fields. 
-!!    If so: 
-!!    (i) no need to call agrif update at initialization time
-!!    (ii) no need to update "before" fields 
-!!
-!!    Apart from creating new tra_swp/dyn_swp routines, this however: 
-!!    (i) makes boundary conditions at initialization time computed from updated fields which is not the case between 
-!!    two restarts => restartability issue. One can circumvent this, maybe, by assuming "interface separation", 
-!!    e.g. a shift of the feedback interface inside child domain. 
-!!    (ii) requires that all restart outputs of updated variables by agrif (e.g. passive tracers/tke/barotropic arrays) are done at the same
-!!    place.
-!! 
-!!jc2: dynnxt must be the latest call. e3t_b are indeed updated in that routine
-                         CALL tra_nxt       ( kstp )  ! finalize (bcs) tracer fields at next time step and swap
-                         CALL dyn_nxt       ( kstp )  ! finalize (bcs) velocities at next time step and swap
-                         CALL ssh_swp       ( kstp )  ! swap of sea surface height
-      IF(.NOT.ln_linssh) CALL dom_vvl_sf_swp( kstp )  ! swap of vertical scale factors
-      !
-      IF( ln_diahsb        )   CALL dia_hsb( kstp )         ! - ML - global conservation diagnostics
-
-!!gm : This does not only concern the dynamics ==>>> add a new title
-!!gm2: why ouput restart before AGRIF update?
-!!
-!!jc: That would be better, but see comment above
-!!
-      IF( lrst_oce         )   CALL rst_write    ( kstp )   ! write output ocean restart file
-      IF( ln_sto_eos       )   CALL sto_rst_write( kstp )   ! write restart file for stochastic parameters
-
-#if defined key_agrif
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! AGRIF
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<      
-                         CALL Agrif_Integrate_ChildGrids( stp )  
-
-      IF( Agrif_NbStepint() == 0 ) THEN               ! AGRIF Update 
-!!jc in fact update is useless at last time step, but do it for global diagnostics
-                         CALL Agrif_Update_Tra()      ! Update active tracers
-                         CALL Agrif_Update_Dyn()      ! Update momentum
-      ENDIF
-#endif
-      IF( ln_diaobs  )   CALL dia_obs( kstp )         ! obs-minus-model (assimilation) diagnostics (call after dynamics update)
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Control
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                         CALL stp_ctl       ( kstp, indic )
-      IF( indic < 0  ) THEN
-                         CALL ctl_stop( 'step: indic < 0' )
-                         CALL dia_wri_state( 'output.abort', kstp )
-      ENDIF
-!#if defined key_harm_ana
-!--- NB Restart for the tidal harmonic analysis
-!      IF( ln_harm_ana_store   )   CALL harm_ana( kstp )        ! Harmonic analysis of tides 
-!--- END NB -----------------------------------
-!# endif
-      IF( kstp == nit000 ) THEN
-                 CALL iom_close( numror )     ! close input  ocean restart file
-         IF(lwm) CALL FLUSH    ( numond )     ! flush output namelist oce
-         IF(lwm.AND.numoni /= -1 )   &
-            &    CALL FLUSH    ( numoni )     ! flush output namelist ice (if exist)
-      ENDIF
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Coupled mode
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-!!gm why lk_oasis and not lk_cpl ????
-      IF( lk_oasis   )   CALL sbc_cpl_snd( kstp )     ! coupled mode : field exchanges
-      !
-#if defined key_iomput
-      IF( kstp == nitend .OR. indic < 0 ) THEN 
-                      CALL iom_context_finalize(      cxios_context          ) ! needed for XIOS+AGRIF
-         IF( ln_crs ) CALL iom_context_finalize( trim(cxios_context)//"_crs" ) ! 
-      ENDIF
-#endif
-      !
-      IF( nn_timing == 1 .AND.  kstp == nit000  )   CALL timing_reset
-      !
-   END SUBROUTINE stp
-   
-END MODULE step
diff --git a/MY_SRC/step_oce.F90 b/MY_SRC/step_oce.F90
deleted file mode 100755
index d4e0cbce067fcd26a77b1da754e5f5cb2827f961..0000000000000000000000000000000000000000
--- a/MY_SRC/step_oce.F90
+++ /dev/null
@@ -1,127 +0,0 @@
-MODULE step_oce
-   !!======================================================================
-   !!                       ***  MODULE step_oce  ***
-   !! Ocean time-stepping : module used in both initialisation phase and time stepping
-   !!======================================================================
-   !! History :   3.3  !  2010-08  (C. Ethe)  Original code - reorganisation of the initial phase
-   !!             3.7  !  2014-01  (G. Madec) LDF simplication 
-   !!----------------------------------------------------------------------
-   USE oce              ! ocean dynamics and tracers variables
-   USE dom_oce          ! ocean space and time domain variables
-   USE zdf_oce          ! ocean vertical physics variables
-
-   USE daymod           ! calendar                         (day     routine)
-
-   USE sbc_oce          ! surface boundary condition: ocean
-   USE sbcmod           ! surface boundary condition       (sbc     routine)
-   USE sbcrnf           ! surface boundary condition: runoff variables
-   USE sbccpl           ! surface boundary condition: coupled formulation (call send at end of step)
-   USE sbcapr           ! surface boundary condition: atmospheric pressure
-   USE sbctide          ! Tide initialisation
-   USE sbcwave          ! Wave intialisation
-
-   USE traqsr           ! solar radiation penetration      (tra_qsr routine)
-   USE trasbc           ! surface boundary condition       (tra_sbc routine)
-   USE trabbc           ! bottom boundary condition        (tra_bbc routine)
-   USE trabbl           ! bottom boundary layer            (tra_bbl routine)
-   USE tradmp           ! internal damping                 (tra_dmp routine)
-   USE traadv           ! advection scheme control     (tra_adv_ctl routine)
-   USE traldf           ! lateral mixing                   (tra_ldf routine)
-   USE trazdf           ! vertical mixing                  (tra_zdf routine)
-   USE tranxt           ! time-stepping                    (tra_nxt routine)
-   USE tranpc           ! non-penetrative convection       (tra_npc routine)
-
-   USE eosbn2           ! equation of state                (eos_bn2 routine)
-
-   USE divhor           ! horizontal divergence            (div_hor routine)
-   USE dynadv           ! advection                        (dyn_adv routine)
-   USE dynbfr           ! Bottom friction terms            (dyn_bfr routine)
-   USE dynvor           ! vorticity term                   (dyn_vor routine)
-   USE dynhpg           ! hydrostatic pressure grad.       (dyn_hpg routine)
-   USE dynldf           ! lateral momentum diffusion       (dyn_ldf routine)
-   USE dynzdf           ! vertical diffusion               (dyn_zdf routine)
-   USE dynspg           ! surface pressure gradient        (dyn_spg routine)
-
-   USE dynnxt           ! time-stepping                    (dyn_nxt routine)
-
-   USE stopar           ! Stochastic parametrization       (sto_par routine)
-   USE stopts 
-
-   USE bdy_oce    , ONLY: ln_bdy
-   USE bdydta           ! open boundary condition data     (bdy_dta routine)
-   USE bdytra           ! bdy cond. for tracers            (bdy_tra routine)
-   USE bdydyn3d         ! bdy cond. for baroclinic vel.  (bdy_dyn3d routine)
-
-   USE sshwzv           ! vertical velocity and ssh        (ssh_nxt routine)
-   !                                                       (ssh_swp routine)
-   !                                                       (wzv     routine)
-   USE domvvl           ! variable vertical scale factors  (dom_vvl_sf_nxt routine)
-   !                                                       (dom_vvl_sf_swp routine)
-
-   USE ldfslp           ! iso-neutral slopes               (ldf_slp routine)
-   USE ldfdyn           ! lateral eddy viscosity coef.     (ldf_dyn routine)
-   USE ldftra           ! lateral eddy diffusive coef.     (ldf_tra routine)
-
-   USE zdftmx           ! tide-induced vertical mixing     (zdf_tmx routine)
-   USE zdfbfr           ! bottom friction                  (zdf_bfr routine)
-   USE zdftke           ! TKE vertical mixing              (zdf_tke routine)
-   USE zdfgls           ! GLS vertical mixing              (zdf_gls routine)
-   USE zdfddm           ! double diffusion mixing          (zdf_ddm routine)
-   USE zdfevd           ! enhanced vertical diffusion      (zdf_evd routine)
-   USE zdfric           ! Richardson vertical mixing       (zdf_ric routine)
-   USE zdfmxl           ! Mixed-layer depth                (zdf_mxl routine)
-   USE zdfqiao          !Qiao module wave induced mixing   (zdf_qiao routine)
-
-   USE step_diu        ! Time stepping for diurnal sst
-   USE diurnal_bulk    ! diurnal SST bulk routines  (diurnal_sst_takaya routine) 
-   USE cool_skin       ! diurnal cool skin correction (diurnal_sst_coolskin routine)   
-   USE sbc_oce         ! surface fluxes  
-   
-   USE zpshde           ! partial step: hor. derivative     (zps_hde routine)
-
-   USE diawri           ! Standard run outputs             (dia_wri routine)
-   USE diaptr           ! poleward transports              (dia_ptr routine)
-   USE diadct           ! sections transports              (dia_dct routine)
-   USE diaar5           ! AR5 diagnosics                   (dia_ar5 routine)
-   USE diahth           ! thermocline depth                (dia_hth routine)
-   USE diahsb           ! heat, salt and volume budgets    (dia_hsb routine)
-   USE diaharm
-!--- NB for restart hamonic analysis
-   USE diaharm_fast     ! harmonic analysis of tides (harm_ana routine) 
-!--- END NB -----------------------------------
-   USE diacfl
-   USE flo_oce          ! floats variables
-   USE floats           ! floats computation               (flo_stp routine)
-
-   USE crsfld           ! Standard output on coarse grid   (crs_fld routine)
-
-   USE asminc           ! assimilation increments      (tra_asm_inc routine)
-   !                                                   (dyn_asm_inc routine)
-   USE asmbkg
-   USE stpctl           ! time stepping control            (stp_ctl routine)
-   USE restart          ! ocean restart                    (rst_wri routine)
-   USE prtctl           ! Print control                    (prt_ctl routine)
-
-   USE diaobs           ! Observation operator
-
-   USE in_out_manager   ! I/O manager
-   USE iom              !
-   USE lbclnk
-   USE timing           ! Timing
-
-#if defined key_iomput
-   USE xios
-#endif
-#if defined key_agrif
-   USE agrif_opa_sponge ! Momemtum and tracers sponges
-   USE agrif_opa_update ! Update (2-way nesting)
-#endif
-#if defined key_top
-   USE trcstp           ! passive tracer time-stepping      (trc_stp routine)
-#endif
-   !!----------------------------------------------------------------------
-   !! NEMO/OPA 3.7 , NEMO Consortium (2014)
-   !! $Id: step_oce.F90 7646 2017-02-06 09:25:03Z timgraham $
-   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
-   !!======================================================================
-END MODULE step_oce
diff --git a/MY_SRC/tide_FES14.h90 b/MY_SRC/tide_FES14.h90
deleted file mode 100755
index 3998e80a65f317c34b401b26514a0f0bd5c90332..0000000000000000000000000000000000000000
--- a/MY_SRC/tide_FES14.h90
+++ /dev/null
@@ -1,114 +0,0 @@
-   !!----------------------------------------------------------------------
-   !! History :  3.2  !  2007  (O. Le Galloudec)  Original code
-   !!----------------------------------------------------------------------
-   !! TIDES ADDED  ! 2017 (Nico Bruneau) 
-   !! Following this document that seems to match implemented code 
-   !!    https://docs.lib.noaa.gov/rescue/cgs_specpubs/QB275U35no981924.pdf
-   !! see page 189 for some proposed values
-   !!
-   !! The convention which seems to have been chosen is the Shureman one and 
-   !! not the Cartwright and Tayer (1971)
-   !! This is probably due to the fact the Schureman has a solar calendar 
-   !! while Cartwright and Tayer is based on a lunar calendar
-   !!
-   !! Therefore the coefficient are not the Doodson number but the one 
-   !! defined by Schureman. For example :
-   !! M2 : Doodson   : 2  0 0 0 0 0
-   !!      Schureman : 2 -2 2 0 0 0
-   !!
-   !! Components 1-34 are for FES 2014
-   !! Components >= 35 are the one that were initially present in NEMO and not in FES14
-   !!                  keep in mind than equitide coefficient have been ajusted for the
-   !!                  34 FES 2014 constituents
-   !! 
-   !! The different coefficient are as follows
-   !!   - nt   = T  = Number of Julian centuries (36625 days) from Greenwich mean noon on December 31, 1899.
-   !!               = Hour angle of mean sun
-   !!   - ns   = s  = mean longitude of the moon
-   !!   - nh   = h  = mean longitude of the sun
-   !!   - np   = p  = mean longitude of the lunar perigee
-   !!   - np1  = p1 = mean longitude of the solar perigee
-   !!   - shift appears in table as a bias in degree
-   !!   - nksi Coefficient for the longitude in moon's orbit of lunar intersection
-   !!   - nu0 Coefficient for the right ascension of lunar intersection
-   !!   - nu1 Coefficient for the term in argument of lunisolar constituent K1
-   !!   - nu2 Coefficient for the term in argument of lunisolar constituent K2
-   !!   - R = ??? 
-   !!   - Formula = Nodal factor function; see the table of Schureman. Implemented in tide_mod.F90 
-   !! 
-   !! The equitide parameter seems to be the equilibrium tide amplitude corrected
-   !! with the C_n^m coefficient: see Cartwright and Tayer (1971) equation 12 
-   !! and Table 2
-   !! As an example in their Table 4c (p66), M2 (200000) has an amplitude of 
-   !! around 0.63186 m
-   !! Table 2, give us a correction of m = 2, n = 2 (semi-diurnal)
-   !! 0.63186*3*sqrt( 5 / 96 / pi ) = 0.24407 
-   !! very close to the one define originally here : 0.242297
-   !! Third order terms are neglected
-   !!
-   !! So to correct (to match what is implemented in sbctide.F90 - take care CT71 uses co-latitude):
-   !!    - long wave : Amplitude from CT71 * [ -1   * sqrt( 5 /  4 / pi ) ]
-   !!    - diurnal   : Amplitude from CT71 * [ -3/2 * sqrt( 5 / 24 / pi ) ]
-   !!    - semi-diur : Amplitude from CT71 * [  3   * sqrt( 5 / 96 / pi ) ]
-   !!
-   !! ATTENTION: convention seems to be to have a positive coefficient and a 180 shift to 
-   !!            represent negative value. to be confirmed though.
-   !!
-   !! All equtide were computed using the last epocs from Cartwright and Tayer (1971) multiply by
-   !! the corresponding coefficient of their table 2
-   !! 
-   !! nutide is used to compute tide potential - it uses a different formulation depending of nutide
-   !! see sbctide.F90 in function tide_init_potential
-   !!
-   !! Some random note
-   !! in cnes fes tool:
-   !!        Msf has nksi = 2 and nnu0 = -2 which is reverse from Schureman (I kept the Schureman one)
-   !!
-   !!----------------------------------------------------------------------
-   !
-   !             !! name_tide , equitide , nutide , nt , ns , nh , np , np1 , shift , nksi , nnu0 , nnu1 , nnu2 , R , formula !!
-   !             !!           !          !        !    !    !    !    !     !       !      !      !      !      !   !         !!
-   !
-   ! Long Period Tides
-   Wave( 1) = tide(  'SA'     , 0.003103 ,    0   ,  0 ,  0 ,  1 ,  0 ,  0  ,    0  ,  0   ,  0   ,  0   ,  0   , 0 ,    0    )
-   Wave( 2) = tide(  'SSA'    , 0.019523 ,    0   ,  0 ,  0 ,  2 ,  0 ,  0  ,    0  ,  0   ,  0   ,  0   ,  0   , 0 ,    0    )
-   Wave( 3) = tide(  'MM'     , 0.022191 ,    0   ,  0 ,  1 ,  0 , -1 ,  0  ,    0  ,  0   ,  0   ,  0   ,  0   , 0 ,   73    )
-   Wave( 4) = tide(  'MF'     , 0.042023 ,    0   ,  0 ,  2 ,  0 ,  0 ,  0  ,    0  , -2   ,  0   ,  0   ,  0   , 0 ,   74    )
-   Wave( 5) = tide(  'MTM'    , 0.008042 ,    0   ,  0 ,  3 ,  0 , -1 ,  0  ,    0  , -2   ,  0   ,  0   ,  0   , 0 ,   74    )
-   Wave( 6) = tide(  'MSF'    , 0.003671 ,    0   ,  0 ,  2 , -2 ,  0 ,  0  ,    0  , -2   ,  2   ,  0   ,  0   , 0 ,   78    )
-   Wave( 7) = tide(  'MSQM'   , 0.001293 ,    0   ,  0 ,  4 , -2 ,  0 ,  0  ,    0  , -2   ,  0   ,  0   ,  0   , 0 ,   74    )
-   !
-   ! Diurnal Tides
-   Wave( 8) = tide(  'K1'     ,-0.142442 ,    1   ,  1 ,  0 ,  1 ,  0 ,  0  ,  -90  ,  0   ,  0   , -1   ,  0   , 0 ,   227   )
-   Wave( 9) = tide(  'O1'     , 0.101277 ,    1   ,  1 , -2 ,  1 ,  0 ,  0  ,  +90  ,  2   , -1   ,  0   ,  0   , 0 ,    75   )
-   Wave(10) = tide(  'Q1'     , 0.019383 ,    1   ,  1 , -3 ,  1 ,  1 ,  0  ,  +90  ,  2   , -1   ,  0   ,  0   , 0 ,    75   )
-   Wave(11) = tide(  'P1'     , 0.047145 ,    1   ,  1 ,  0 , -1 ,  0 ,  0  ,  +90  ,  0   ,  0   ,  0   ,  0   , 0 ,     0   )
-   Wave(12) = tide(  'S1'     ,-0.001116 ,    1   ,  1 ,  0 ,  0 ,  0 ,  0  ,    0  ,  0   ,  0   ,  0   ,  0   , 0 ,     0   )
-   Wave(13) = tide(  'J1'     ,-0.007961 ,    1   ,  1 ,  1 ,  1 , -1 ,  0  ,  -90  ,  0   , -1   ,  0   ,  0   , 0 ,    76   )
-   !
-   ! Semi-Diurnal Tides
-   Wave(14) = tide(  'M2'     , 0.244083 ,    2   ,  2 , -2 ,  2 ,  0 ,  0  ,    0  ,  2   , -2   ,  0   ,  0   , 0 ,    78   )
-   Wave(15) = tide(  'N2'     , 0.046720 ,    2   ,  2 , -3 ,  2 ,  1 ,  0  ,    0  ,  2   , -2   ,  0   ,  0   , 0 ,    78   )
-   Wave(16) = tide(  'S2'     , 0.113565 ,    2   ,  2 ,  0 ,  0 ,  0 ,  0  ,    0  ,  0   ,  0   ,  0   ,  0   , 0 ,     0   )
-   Wave(17) = tide(  'K2'     , 0.030875 ,    2   ,  2 ,  0 ,  2 ,  0 ,  0  ,    0  ,  0   ,  0   ,  0   , -2   , 0 ,   235   )
-   Wave(18) = tide(  'L2'     , 0.006903 ,    2   ,  2 , -1 ,  2 , -1 ,  0  , +180  ,  2   , -2   ,  0   ,  0   , 0 ,   215   )
-   Wave(19) = tide(  'T2'     , 0.006644 ,    2   ,  2 ,  0 , -1 ,  0 ,  1  ,    0  ,  0   ,  0   ,  0   ,  0   , 0 ,     0   )
-   Wave(20) = tide(  'R2'     , 0.000950 ,    2   ,  2 ,  0 ,  1 ,  0 , -1  , +180  ,  2   ,  0   ,  0   ,  0   , 0 ,     0   )
-   !
-   Wave(21) = tide(  'MU2'    , 0.007451 ,    2   ,  2 , -4 ,  4 ,  0 ,  0  ,    0  ,  2   , -2   ,  0   ,  0   , 0 ,    78   )
-   Wave(22) = tide(  'NU2'    , 0.008873 ,    2   ,  2 , -3 ,  4 , -1 ,  0  ,    0  ,  2   , -2   ,  0   ,  0   , 0 ,    78   )
-   Wave(23) = tide( '2N2'     , 0.006176 ,    2   ,  2 , -4 ,  2 ,  2 ,  0  ,    0  ,  2   , -2   ,  0   ,  0   , 0 ,    78   )
-   Wave(24) = tide(  'MKS2'   , 0.000000 ,    2   ,  2 , -2 ,  4 ,  0 ,  0  ,    0  ,  2   , -2   ,  0   , -2   , 0 ,     4   )
-   Wave(25) = tide(  'LA2'    , 0.001800 ,    2   ,  2 , -1 ,  0 ,  1 ,  0  , +180  ,  2   , -2   ,  0   ,  0   , 0 ,    78   )
-   Wave(26) = tide(  'EPS2'   , 0.001796 ,    2   ,  2 , -5 ,  4 ,  1 ,  0  ,    0  ,  2   , -2   ,  0   ,  0   , 0 ,    78   )
-   !
-   ! Harmonic and others
-   Wave(27) = tide(  'M3'     , 0.000000 ,    3   ,  3 , -3 ,  3 ,  0 ,  0  ,    0  ,  3   , -3   ,  0   ,  0   , 0 ,   149   )
-   Wave(28) = tide(  'M4'     , 0.000000 ,    4   ,  4 , -4 ,  4 ,  0 ,  0  ,    0  ,  4   , -4   ,  0   ,  0   , 0 ,     1   )
-   Wave(29) = tide(  'M6'     , 0.000000 ,    6   ,  6 , -6 ,  6 ,  0 ,  0  ,    0  ,  6   , -6   ,  0   ,  0   , 0 ,    18   )
-   Wave(30) = tide(  'M8'     , 0.000000 ,    8   ,  8 , -8 ,  8 ,  0 ,  0  ,    0  ,  8   , -8   ,  0   ,  0   , 0 ,    20   )
-   Wave(31) = tide(  'N4'     , 0.000000 ,    4   ,  4 , -6 ,  4 ,  2 ,  0  ,    0  ,  4   , -4   ,  0   ,  0   , 0 ,     1   )
-   Wave(32) = tide(  'S4'     , 0.000000 ,    4   ,  4 ,  0 ,  0 ,  0 ,  0  ,    0  ,  0   ,  0   ,  0   ,  0   , 0 ,     0   )
-   Wave(33) = tide(  'MN4'    , 0.000000 ,    4   ,  4 , -5 ,  4 ,  1 ,  0  ,    0  ,  4   , -4   ,  0   ,  0   , 0 ,     1   )
-   Wave(34) = tide(  'MS4'    , 0.000000 ,    4   ,  4 , -2 ,  2 ,  0 ,  0  ,    0  ,  2   , -2   ,  0   ,  0   , 0 ,    78   )
-   ! 
diff --git a/MY_SRC/tide_mod.F90 b/MY_SRC/tide_mod.F90
deleted file mode 100755
index d14af9bc1ec32d566d8e76476231385d75949844..0000000000000000000000000000000000000000
--- a/MY_SRC/tide_mod.F90
+++ /dev/null
@@ -1,430 +0,0 @@
-MODULE tide_mod
-   !!======================================================================
-   !!                       ***  MODULE  tide_mod  ***
-   !! Compute nodal modulations corrections and pulsations
-   !!======================================================================
-   !! History :  1.0  !  2007  (O. Le Galloudec)  Original code
-   !!----------------------------------------------------------------------
-   USE dom_oce        ! ocean space and time domain
-   USE phycst         ! physical constant
-   USE daymod         ! calendar
-
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC   tide_harmo       ! called by tideini and diaharm modules
-   PUBLIC   tide_init_Wave   ! called by tideini and diaharm modules
-
-!--- NB - extend number of constituents for tide
-# if defined key_FES14_tides
-   INTEGER, PUBLIC, PARAMETER ::   jpmax_harmo = 34   !: maximum number of harmonic
-# else
-   INTEGER, PUBLIC, PARAMETER ::   jpmax_harmo = 19   !: maximum number of harmonic
-# endif
-!--- END NB
-
-
-   TYPE, PUBLIC ::    tide
-      CHARACTER(LEN=4) ::   cname_tide
-      REAL(wp)         ::   equitide
-      INTEGER          ::   nutide
-      INTEGER          ::   nt, ns, nh, np, np1, shift
-      INTEGER          ::   nksi, nnu0, nnu1, nnu2, R
-      INTEGER          ::   nformula
-   END TYPE tide
-
-   TYPE(tide), PUBLIC, DIMENSION(jpmax_harmo) ::   Wave   !:
-
-   REAL(wp) ::   sh_T, sh_s, sh_h, sh_p, sh_p1             ! astronomic angles
-   REAL(wp) ::   sh_xi, sh_nu, sh_nuprim, sh_nusec, sh_R   !
-   REAL(wp) ::   sh_I, sh_x1ra, sh_N                       !
-
-   !!----------------------------------------------------------------------
-   !! NEMO/OPA 3.3 , LOCEAN-IPSL (2010) 
-   !! $Id: tide_mod.F90 5215 2015-04-15 16:11:56Z nicolasmartin $ 
-   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-   SUBROUTINE tide_init_Wave
-!! NB
-# if defined key_FES14_tides
-#     include "tide_FES14.h90"
-# else
-!! END NB
-#     include "tide.h90"
-# endif
-   END SUBROUTINE tide_init_Wave
-
-
-   SUBROUTINE tide_harmo( pomega, pvt, put , pcor, ktide ,kc)
-      !!----------------------------------------------------------------------
-      !!----------------------------------------------------------------------
-      INTEGER , DIMENSION(kc), INTENT(in ) ::   ktide            ! Indice of tidal constituents
-      INTEGER                , INTENT(in ) ::   kc               ! Total number of tidal constituents
-      REAL(wp), DIMENSION(kc), INTENT(out) ::   pomega           ! pulsation in radians/s
-      REAL(wp), DIMENSION(kc), INTENT(out) ::   pvt, put, pcor   !
-      !!----------------------------------------------------------------------
-      !
-      CALL astronomic_angle
-      CALL tide_pulse( pomega, ktide ,kc )
-      CALL tide_vuf  ( pvt, put, pcor, ktide ,kc )
-      !
-   END SUBROUTINE tide_harmo
-
-
-   SUBROUTINE astronomic_angle
-      !!----------------------------------------------------------------------
-      !!  tj is time elapsed since 1st January 1900, 0 hour, counted in julian
-      !!  century (e.g. time in days divide by 36525)
-      !!----------------------------------------------------------------------
-      REAL(wp) ::   cosI, p, q, t2, t4, sin2I, s2, tgI2, P1, sh_tgn2, at1, at2
-      REAL(wp) ::   zqy , zsy, zday, zdj, zhfrac
-      !!----------------------------------------------------------------------
-      !
-      zqy = AINT( (nyear-1901.)/4. )
-      zsy = nyear - 1900.
-      !
-      zdj  = dayjul( nyear, nmonth, nday )
-      zday = zdj + zqy - 1.
-      !
-      zhfrac = nsec_day / 3600.
-      !
-      !----------------------------------------------------------------------
-      !  Sh_n Longitude of ascending lunar node
-      !----------------------------------------------------------------------
-      sh_N=(259.1560564-19.328185764*zsy-.0529539336*zday-.0022064139*zhfrac)*rad
-      !----------------------------------------------------------------------
-      ! T mean solar angle (Greenwhich time)
-      !----------------------------------------------------------------------
-      sh_T=(180.+zhfrac*(360./24.))*rad
-      !----------------------------------------------------------------------
-      ! h mean solar Longitude
-      !----------------------------------------------------------------------
-      sh_h=(280.1895014-.238724988*zsy+.9856473288*zday+.0410686387*zhfrac)*rad
-      !----------------------------------------------------------------------
-      ! s mean lunar Longitude
-      !----------------------------------------------------------------------
-      sh_s=(277.0256206+129.38482032*zsy+13.176396768*zday+.549016532*zhfrac)*rad
-      !----------------------------------------------------------------------
-      ! p1 Longitude of solar perigee
-      !----------------------------------------------------------------------
-      sh_p1=(281.2208569+.01717836*zsy+.000047064*zday+.000001961*zhfrac)*rad
-      !----------------------------------------------------------------------
-      ! p Longitude of lunar perigee
-      !----------------------------------------------------------------------
-      sh_p=(334.3837214+40.66246584*zsy+.111404016*zday+.004641834*zhfrac)*rad
-
-      sh_N = MOD( sh_N ,2*rpi )
-      sh_s = MOD( sh_s ,2*rpi )
-      sh_h = MOD( sh_h, 2*rpi )
-      sh_p = MOD( sh_p, 2*rpi )
-      sh_p1= MOD( sh_p1,2*rpi )
-
-      cosI = 0.913694997 -0.035692561 *cos(sh_N)
-
-      sh_I = ACOS( cosI )
-
-      sin2I   = sin(sh_I)
-      sh_tgn2 = tan(sh_N/2.0)
-
-      at1=atan(1.01883*sh_tgn2)
-      at2=atan(0.64412*sh_tgn2)
-
-      sh_xi=-at1-at2+sh_N
-
-      IF( sh_N > rpi )   sh_xi=sh_xi-2.0*rpi
-
-      sh_nu = at1 - at2
-
-      !----------------------------------------------------------------------
-      ! For constituents l2 k1 k2
-      !----------------------------------------------------------------------
-
-      tgI2 = tan(sh_I/2.0)
-      P1   = sh_p-sh_xi
-
-      t2 = tgI2*tgI2
-      t4 = t2*t2
-      sh_x1ra = sqrt( 1.0-12.0*t2*cos(2.0*P1)+36.0*t4 )
-
-      p = sin(2.0*P1)
-      q = 1.0/(6.0*t2)-cos(2.0*P1)
-      sh_R = atan(p/q)
-
-      p = sin(2.0*sh_I)*sin(sh_nu)
-      q = sin(2.0*sh_I)*cos(sh_nu)+0.3347
-      sh_nuprim = atan(p/q)
-
-      s2 = sin(sh_I)*sin(sh_I)
-      p  = s2*sin(2.0*sh_nu)
-      q  = s2*cos(2.0*sh_nu)+0.0727
-      sh_nusec = 0.5*atan(p/q)
-      !
-   END SUBROUTINE astronomic_angle
-
-
-   SUBROUTINE tide_pulse( pomega, ktide ,kc )
-      !!----------------------------------------------------------------------
-      !!                     ***  ROUTINE tide_pulse  ***
-      !!                      
-      !! ** Purpose : Compute tidal frequencies
-      !!----------------------------------------------------------------------
-      INTEGER                , INTENT(in ) ::   kc       ! Total number of tidal constituents
-      INTEGER , DIMENSION(kc), INTENT(in ) ::   ktide    ! Indice of tidal constituents
-      REAL(wp), DIMENSION(kc), INTENT(out) ::   pomega   ! pulsation in radians/s
-      !
-      INTEGER  ::   jh
-      REAL(wp) ::   zscale
-      REAL(wp) ::   zomega_T =  13149000.0_wp
-      REAL(wp) ::   zomega_s =    481267.892_wp
-      REAL(wp) ::   zomega_h =     36000.76892_wp
-      REAL(wp) ::   zomega_p =      4069.0322056_wp
-      REAL(wp) ::   zomega_n =      1934.1423972_wp
-      REAL(wp) ::   zomega_p1=         1.719175_wp
-      !!----------------------------------------------------------------------
-      !
-      zscale =  rad / ( 36525._wp * 86400._wp ) 
-      !
-      DO jh = 1, kc
-         pomega(jh) = (  zomega_T * Wave( ktide(jh) )%nT   &
-            &          + zomega_s * Wave( ktide(jh) )%ns   &
-            &          + zomega_h * Wave( ktide(jh) )%nh   &
-            &          + zomega_p * Wave( ktide(jh) )%np   &
-            &          + zomega_p1* Wave( ktide(jh) )%np1  ) * zscale
-      END DO
-      !
-   END SUBROUTINE tide_pulse
-
-
-   SUBROUTINE tide_vuf( pvt, put, pcor, ktide ,kc )
-      !!----------------------------------------------------------------------
-      !!                     ***  ROUTINE tide_vuf  ***
-      !!                      
-      !! ** Purpose : Compute nodal modulation corrections
-      !!
-      !! ** Outputs : vt: Phase of tidal potential relative to Greenwich (radians)
-      !!              ut: Phase correction u due to nodal motion (radians)
-      !!              ft: Nodal correction factor
-      !!----------------------------------------------------------------------
-      INTEGER                , INTENT(in ) ::   kc               ! Total number of tidal constituents
-      INTEGER , DIMENSION(kc), INTENT(in ) ::   ktide            ! Indice of tidal constituents
-      REAL(wp), DIMENSION(kc), INTENT(out) ::   pvt, put, pcor   !
-      !
-      INTEGER ::   jh   ! dummy loop index
-      !!----------------------------------------------------------------------
-      !
-      DO jh = 1, kc
-         !  Phase of the tidal potential relative to the Greenwhich 
-         !  meridian (e.g. the position of the fictuous celestial body). Units are radian:
-         pvt(jh) = sh_T * Wave( ktide(jh) )%nT    &
-            &    + sh_s * Wave( ktide(jh) )%ns    &
-            &    + sh_h * Wave( ktide(jh) )%nh    &
-            &    + sh_p * Wave( ktide(jh) )%np    &
-            &    + sh_p1* Wave( ktide(jh) )%np1   &
-            &    +        Wave( ktide(jh) )%shift * rad
-         !
-         !  Phase correction u due to nodal motion. Units are radian:
-         put(jh) = sh_xi     * Wave( ktide(jh) )%nksi   &
-            &    + sh_nu     * Wave( ktide(jh) )%nnu0   &
-            &    + sh_nuprim * Wave( ktide(jh) )%nnu1   &
-            &    + sh_nusec  * Wave( ktide(jh) )%nnu2   &
-            &    + sh_R      * Wave( ktide(jh) )%R
-
-         !  Nodal correction factor:
-         pcor(jh) = nodal_factort( Wave( ktide(jh) )%nformula )
-      END DO
-      !
-   END SUBROUTINE tide_vuf
-
-
-   RECURSIVE FUNCTION nodal_factort( kformula ) RESULT( zf )
-      !!----------------------------------------------------------------------
-      !!----------------------------------------------------------------------
-      INTEGER, INTENT(in) :: kformula
-      !
-      REAL(wp) :: zf
-      REAL(wp) :: zs, zf1, zf2
-      !!----------------------------------------------------------------------
-      !
-      SELECT CASE( kformula )
-      !
-      CASE( 0 )                  !==  formule 0, solar waves
-         zf = 1.0
-         !
-      CASE( 1 )                  !==  formule 1, compound waves (78 x 78)
-         zf=nodal_factort(78)
-         zf = zf * zf
-         !
-      CASE ( 2 )                 !==  formule 2, compound waves (78 x 0)  ===  (78) 
-       zf1= nodal_factort(78)
-       zf = nodal_factort( 0)
-       zf = zf1 * zf
-       !
-      CASE ( 4 )                 !==  formule 4,  compound waves (78 x 235) 
-         zf1 = nodal_factort( 78)
-         zf  = nodal_factort(235)
-         zf  = zf1 * zf
-         !
-      CASE ( 5 )                 !==  formule 5,  compound waves (78 *78 x 235)
-         zf1 = nodal_factort( 78)
-         zf  = nodal_factort(235)
-         zf  = zf * zf1 * zf1
-         !
-      CASE ( 6 )                 !==  formule 6,  compound waves (78 *78 x 0)
-         zf1 = nodal_factort(78)
-         zf  = nodal_factort( 0)
-         zf  = zf * zf1 * zf1 
-         !
-      CASE( 7 )                  !==  formule 7, compound waves (75 x 75)
-         zf = nodal_factort(75)
-         zf = zf * zf
-         !
-      CASE( 8 )                  !==  formule 8,  compound waves (78 x 0 x 235)
-         zf  = nodal_factort( 78)
-         zf1 = nodal_factort(  0)
-         zf2 = nodal_factort(235)
-         zf  = zf * zf1 * zf2
-         !
-      CASE( 9 )                  !==  formule 9,  compound waves (78 x 0 x 227)
-         zf  = nodal_factort( 78)
-         zf1 = nodal_factort(  0)
-         zf2 = nodal_factort(227)
-         zf  = zf * zf1 * zf2
-         !
-      CASE( 10 )                 !==  formule 10,  compound waves (78 x 227)
-         zf  = nodal_factort( 78)
-         zf1 = nodal_factort(227)
-         zf  = zf * zf1
-         !
-      CASE( 11 )                 !==  formule 11,  compound waves (75 x 0)
-!!gm bug???? zf 2 fois !
-         zf = nodal_factort(75)
-         zf = nodal_factort( 0)
-         zf = zf * zf1
-         !
-      CASE( 12 )                 !==  formule 12,  compound waves (78 x 78 x 78 x 0) 
-         zf1 = nodal_factort(78)
-         zf  = nodal_factort( 0)
-         zf  = zf * zf1 * zf1 * zf1
-         !
-      CASE( 13 )                 !==  formule 13, compound waves (78 x 75)
-         zf1 = nodal_factort(78)
-         zf  = nodal_factort(75)
-         zf  = zf * zf1
-         !
-      CASE( 14 )                 !==  formule 14, compound waves (235 x 0)  ===  (235)
-         zf  = nodal_factort(235)
-         zf1 = nodal_factort(  0)
-         zf  = zf * zf1
-         !
-      CASE( 15 )                 !==  formule 15, compound waves (235 x 75) 
-         zf  = nodal_factort(235)
-         zf1 = nodal_factort( 75)
-         zf  = zf * zf1
-         !
-      CASE( 16 )                 !==  formule 16, compound waves (78 x 0 x 0)  ===  (78)
-         zf  = nodal_factort(78)
-         zf1 = nodal_factort( 0)
-         zf  = zf * zf1 * zf1
-         !
-      CASE( 17 )                 !==  formule 17,  compound waves (227 x 0) 
-         zf1 = nodal_factort(227)
-         zf  = nodal_factort(  0)
-         zf  = zf * zf1
-         !
-      CASE( 18 )                 !==  formule 18,  compound waves (78 x 78 x 78 )
-         zf1 = nodal_factort(78)
-         zf  = zf1 * zf1 * zf1
-         !
-      CASE( 19 )                 !==  formule 19, compound waves (78 x 0 x 0 x 0)  ===  (78)
-!!gm bug2 ==>>>   here identical to formule 16,  a third multiplication by zf1 is missing
-         zf  = nodal_factort(78)
-         zf1 = nodal_factort( 0)
-         zf = zf * zf1 * zf1
-         !
-!--- NB 11/2017
-      CASE( 20 )                 !==  formule 20,  compound waves ( 78 x 78 x 78 x 78 )
-         zf1 = nodal_factort(78)
-         zf  = zf1 * zf1 * zf1 * zf1
-!--- END NB
-!
-      CASE( 73 )                 !==  formule 73
-         zs = sin(sh_I)
-         zf = (2./3.-zs*zs)/0.5021
-         !
-      CASE( 74 )                 !==  formule 74
-         zs = sin(sh_I)
-         zf = zs * zs / 0.1578
-         !
-      CASE( 75 )                 !==  formule 75
-         zs = cos(sh_I/2)
-         zf = sin(sh_I) * zs * zs / 0.3800
-         !
-      CASE( 76 )                 !==  formule 76
-         zf = sin(2*sh_I) / 0.7214
-         !
-      CASE( 77 )                 !==  formule 77
-         zs = sin(sh_I/2)
-         zf = sin(sh_I) * zs * zs / 0.0164
-         !
-      CASE( 78 )                 !==  formule 78
-         zs = cos(sh_I/2)
-         zf = zs * zs * zs * zs / 0.9154
-         !
-      CASE( 79 )                 !==  formule 79
-         zs = sin(sh_I)
-         zf = zs * zs / 0.1565
-         !
-      CASE( 144 )                !==  formule 144
-         zs = sin(sh_I/2)
-         zf = ( 1-10*zs*zs+15*zs*zs*zs*zs ) * cos(sh_I/2) / 0.5873
-         !
-      CASE( 149 )                !==  formule 149
-         zs = cos(sh_I/2)
-         zf = zs*zs*zs*zs*zs*zs / 0.8758
-         !
-      CASE( 215 )                !==  formule 215
-         zs = cos(sh_I/2)
-         zf = zs*zs*zs*zs / 0.9154 * sh_x1ra
-         !
-      CASE( 227 )                !==  formule 227 
-         zs = sin(2*sh_I)
-         zf = sqrt( 0.8965*zs*zs+0.6001*zs*cos (sh_nu)+0.1006 )
-         !
-      CASE ( 235 )               !==  formule 235 
-         zs = sin(sh_I)
-         zf = sqrt( 19.0444*zs*zs*zs*zs + 2.7702*zs*zs*cos(2*sh_nu) + .0981 )
-         !
-      END SELECT
-      !
-   END FUNCTION nodal_factort
-
-
-   FUNCTION dayjul( kyr, kmonth, kday )
-      !!----------------------------------------------------------------------
-      !!  *** THIS ROUTINE COMPUTES THE JULIAN DAY (AS A REAL VARIABLE)
-      !!----------------------------------------------------------------------
-      INTEGER,INTENT(in) ::   kyr, kmonth, kday
-      !
-      INTEGER,DIMENSION(12) ::  idayt, idays
-      INTEGER  ::   inc, ji
-      REAL(wp) ::   dayjul, zyq
-      !
-      DATA idayt/0.,31.,59.,90.,120.,151.,181.,212.,243.,273.,304.,334./
-      !!----------------------------------------------------------------------
-      !
-      idays(1) = 0.
-      idays(2) = 31.
-      inc = 0.
-      zyq = MOD( kyr-1900. , 4. )
-      IF( zyq == 0.)   inc = 1.
-      DO ji = 3, 12
-         idays(ji)=idayt(ji)+inc
-      END DO
-      dayjul = idays(kmonth) + kday
-      !
-   END FUNCTION dayjul
-
-   !!======================================================================
-END MODULE tide_mod
diff --git a/MY_SRC/tideini.F90 b/MY_SRC/tideini.F90
deleted file mode 100755
index 7094de87d43b1cb268c8554229aa7f7e1532c0af..0000000000000000000000000000000000000000
--- a/MY_SRC/tideini.F90
+++ /dev/null
@@ -1,125 +0,0 @@
-MODULE tideini
-   !!======================================================================
-   !!                       ***  MODULE  tideini  ***
-   !! Initialization of tidal forcing
-   !!======================================================================
-   !! History :  1.0  !  2007  (O. Le Galloudec)  Original code
-   !!----------------------------------------------------------------------
-   USE oce            ! ocean dynamics and tracers variables
-   USE dom_oce        ! ocean space and time domain
-   USE phycst         ! physical constant
-   USE daymod         ! calandar
-   USE tide_mod       ! 
-   !
-   USE in_out_manager ! I/O units
-   USE iom            ! xIOs server
-   USE ioipsl         ! NetCDF IPSL library
-   USE lbclnk         ! ocean lateral boundary conditions (or mpp link)
-
-   IMPLICIT NONE
-   PUBLIC
-
-   REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:) ::   omega_tide   !:
-   REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:) ::   v0tide       !:
-   REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:) ::   utide        !:
-   REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:) ::   ftide        !:
-
-   LOGICAL , PUBLIC ::   ln_tide         !:
-   LOGICAL , PUBLIC ::   ln_tide_pot     !:
-   LOGICAL , PUBLIC ::   ln_tide_ramp    !:
-   INTEGER , PUBLIC ::   nb_harmo        !:
-   INTEGER , PUBLIC ::   kt_tide         !:
-   REAL(wp), PUBLIC ::   rdttideramp     !:
-   ! NB - read love number from namelist
-   REAL(wp), PUBLIC ::   dn_love_number  !:
-   ! END NB
-   INTEGER , PUBLIC, ALLOCATABLE, DIMENSION(:) ::   ntide   !:
-
-   !!----------------------------------------------------------------------
-   !! NEMO/OPA 3.5 , NEMO Consortium (2013)
-   !! $Id: tideini.F90 7646 2017-02-06 09:25:03Z timgraham $
-   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-CONTAINS
-   
-   SUBROUTINE tide_init
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE tide_init  ***
-      !!----------------------------------------------------------------------      
-      INTEGER  :: ji, jk
-      CHARACTER(LEN=4), DIMENSION(jpmax_harmo) :: clname
-      INTEGER  ::   ios                 ! Local integer output status for namelist read
-      !
-      ! NB - read love number from namelist
-      !NAMELIST/nam_tide/ln_tide, ln_tide_pot, ln_tide_ramp, rdttideramp, clname
-      NAMELIST/nam_tide/ln_tide, ln_tide_pot, ln_tide_ramp, rdttideramp, dn_love_number, clname
-      ! END NB
-      !!----------------------------------------------------------------------
-      !
-      ! Read Namelist nam_tide
-      REWIND( numnam_ref )              ! Namelist nam_tide in reference namelist : Tides
-      READ  ( numnam_ref, nam_tide, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nam_tide in reference namelist', lwp )
-      !
-      REWIND( numnam_cfg )              ! Namelist nam_tide in configuration namelist : Tides
-      READ  ( numnam_cfg, nam_tide, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nam_tide in configuration namelist', lwp )
-      IF(lwm) WRITE ( numond, nam_tide )
-      !
-      IF (ln_tide) THEN
-         IF (lwp) THEN
-            WRITE(numout,*)
-            WRITE(numout,*) 'tide_init : Initialization of the tidal components'
-            WRITE(numout,*) '~~~~~~~~~ '
-            WRITE(numout,*) '   Namelist nam_tide'
-            WRITE(numout,*) '              Use tidal components : ln_tide      = ', ln_tide
-            WRITE(numout,*) '      Apply astronomical potential : ln_tide_pot  = ', ln_tide_pot
-!            WRITE(numout,*) '                                     nb_harmo     = ', nb_harmo
-            WRITE(numout,*) '                                     ln_tide_ramp = ', ln_tide_ramp
-! NB - Love number
-            WRITE(numout,*) '                                     dn_love_number = ', dn_love_number
-! End NB
-         ENDIF
-      ELSE
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'tide_init : tidal components not used (ln_tide = F)'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~ '
-         RETURN
-      ENDIF
-      !
-      CALL tide_init_Wave
-      !
-      nb_harmo=0
-      DO jk = 1, jpmax_harmo
-         DO ji = 1,jpmax_harmo
-            IF( TRIM(clname(jk)) == Wave(ji)%cname_tide )   nb_harmo = nb_harmo + 1
-         END DO
-      END DO
-      IF (ln_tide .and.lwp) WRITE(numout,*) '                                     nb_harmo     = ', nb_harmo
-
-      ! Ensure that tidal components have been set in namelist_cfg
-      IF( nb_harmo == 0 )   CALL ctl_stop( 'tide_init : No tidal components set in nam_tide' )
-      !
-      IF( ln_tide_ramp.AND.((nitend-nit000+1)*rdt/rday < rdttideramp) )   &
-         &   CALL ctl_stop('rdttideramp must be lower than run duration')
-      IF( ln_tide_ramp.AND.(rdttideramp<0.) ) &
-         &   CALL ctl_stop('rdttideramp must be positive')
-      !
-      ALLOCATE( ntide(nb_harmo) )
-      DO jk = 1, nb_harmo
-         DO ji = 1, jpmax_harmo
-            IF( TRIM(clname(jk)) == Wave(ji)%cname_tide ) THEN
-               ntide(jk) = ji
-               EXIT
-            ENDIF
-         END DO
-      END DO
-      !
-      ALLOCATE( omega_tide(nb_harmo), v0tide    (nb_harmo),   &
-         &      utide     (nb_harmo), ftide     (nb_harmo)  )
-      kt_tide = nit000
-      !
-   END SUBROUTINE tide_init
-     
-   !!======================================================================
-END MODULE tideini
diff --git a/MY_SRC/usrdef_istate.F90 b/MY_SRC/usrdef_istate.F90
deleted file mode 100755
index e7f1502489bf536c1072c4dde63619a3de4497a4..0000000000000000000000000000000000000000
--- a/MY_SRC/usrdef_istate.F90
+++ /dev/null
@@ -1,73 +0,0 @@
-MODULE usrdef_istate
-   !!======================================================================
-   !!                   ***  MODULE  usrdef_istate   ***
-   !!
-   !!                     ===  GYRE configuration  ===
-   !!
-   !! User defined : set the initial state of a user configuration
-   !!======================================================================
-   !! History :  NEMO ! 2016-03  (S. Flavoni) Original code
-   !!----------------------------------------------------------------------
-
-   !!----------------------------------------------------------------------
-   !!  usr_def_istate : initial state in Temperature and salinity
-   !!----------------------------------------------------------------------
-   USE par_oce        ! ocean space and time domain
-   USE phycst         ! physical constants
-   !
-   USE in_out_manager ! I/O manager
-   USE lib_mpp        ! MPP library
-   
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC   usr_def_istate   ! called in istate.F90
-
-   !!----------------------------------------------------------------------
-   !! NEMO/OPA 4.0 , NEMO Consortium (2016)
-   !! $Id$ 
-   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-CONTAINS
-  
-   SUBROUTINE usr_def_istate( pdept, ptmask, pts, pu, pv, pssh )
-      !!----------------------------------------------------------------------
-      !!                   ***  ROUTINE usr_def_istate  ***
-      !! 
-      !! ** Purpose :   Initialization of the dynamics and tracers
-      !!                Here GYRE configuration example : (double gyre with rotated domain)
-      !!
-      !! ** Method  : - set temprature field
-      !!              - set salinity   field
-      !!----------------------------------------------------------------------
-      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(in   ) ::   pdept   ! depth of t-point               [m]
-      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(in   ) ::   ptmask  ! t-point ocean mask             [m]
-      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(  out) ::   pts     ! T & S fields      [Celsius ; g/kg]
-      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(  out) ::   pu      ! i-component of the velocity  [m/s] 
-      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(  out) ::   pv      ! j-component of the velocity  [m/s] 
-      REAL(wp), DIMENSION(jpi,jpj)         , INTENT(  out) ::   pssh    ! sea-surface height
-      !
-      INTEGER :: ji, jj, jk  ! dummy loop indices
-      !!----------------------------------------------------------------------
-      !
-      IF(lwp) WRITE(numout,*)
-      IF(lwp) WRITE(numout,*) 'usr_def_istate : analytical definition of initial state '
-      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~   Ocean at rest, with an horizontally uniform T and S profiles'
-      !
-      pu  (:,:,:) = 0._wp        ! ocean at rest
-      pv  (:,:,:) = 0._wp
-      pssh(:,:)   = 0._wp
-      !
-      DO jk = 1, jpk             ! horizontally uniform T & S profiles
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               pts(ji,jj,jk,jp_tem) = 20._wp * ptmask(ji,jj,jk)
-               pts(ji,jj,jk,jp_sal) = 36.25_wp * ptmask(ji,jj,jk)
-            END DO
-         END DO
-      END DO
-      !   
-   END SUBROUTINE usr_def_istate
-
-   !!======================================================================
-END MODULE usrdef_istate
diff --git a/MY_SRC/usrdef_sbc.F90 b/MY_SRC/usrdef_sbc.F90
deleted file mode 100755
index 9f0ef2f81603651b5b50a9f2740c4091ab949b14..0000000000000000000000000000000000000000
--- a/MY_SRC/usrdef_sbc.F90
+++ /dev/null
@@ -1,86 +0,0 @@
-MODULE usrdef_sbc
-   !!======================================================================
-   !!                       ***  MODULE usrdef_sbc  ***
-   !! 
-   !!                  ===  WAD_TEST_CASES configuration  ===
-   !!
-   !! User defined :   surface forcing of a user configuration
-   !!======================================================================
-   !! History :  4.0   ! 2016-03  (S. Flavoni, G. Madec)  user defined interface
-   !!----------------------------------------------------------------------
-
-   !!----------------------------------------------------------------------
-   !!   usrdef_sbc     : user defined surface bounday conditions in WAD_TEST_CASES case
-   !!----------------------------------------------------------------------
-   USE oce             ! ocean dynamics and tracers
-   USE dom_oce         ! ocean space and time domain
-   USE sbc_oce         ! Surface boundary condition: ocean fields
-   USE phycst          ! physical constants
-   !
-   USE in_out_manager  ! I/O manager
-   USE lib_mpp         ! distribued memory computing library
-   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
-   USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
-
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC   usrdef_sbc_oce    ! routine called in sbcmod module
-   PUBLIC   usrdef_sbc_ice_tau  ! routine called by sbcice_lim.F90 for ice dynamics
-   PUBLIC   usrdef_sbc_ice_flx  ! routine called by sbcice_lim.F90 for ice thermo
-
-   !! * Substitutions
-#  include "vectopt_loop_substitute.h90"
-   !!----------------------------------------------------------------------
-   !! NEMO/OPA 4.0 , NEMO Consortium (2016)
-   !! $Id$
-   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-   SUBROUTINE usrdef_sbc_oce( kt )
-      !!---------------------------------------------------------------------
-      !!                    ***  ROUTINE usr_def_sbc  ***
-      !!              
-      !! ** Purpose :   provide at each time-step the surface boundary
-      !!              condition, i.e. the momentum, heat and freshwater fluxes.
-      !!
-      !! ** Method  :   all 0 fields, for WAD_TEST_CASES case
-      !!                CAUTION : never mask the surface stress field !
-      !!
-      !! ** Action  : - set to ZERO all the ocean surface boundary condition, i.e.   
-      !!                   utau, vtau, taum, wndm, qns, qsr, emp, sfx
-      !!
-      !!----------------------------------------------------------------------
-      INTEGER, INTENT(in) ::   kt   ! ocean time step
-      !!---------------------------------------------------------------------
-      !
-      IF( kt == nit000 ) THEN
-         !
-         IF(lwp) WRITE(numout,*)' usr_sbc : WAD_TEST_CASES case: NO surface forcing'
-         IF(lwp) WRITE(numout,*)' ~~~~~~~~~~~   utau = vtau = taum = wndm = qns = qsr = emp = sfx = 0'
-         !
-         utau(:,:) = 0._wp
-         vtau(:,:) = 0._wp
-         taum(:,:) = 0._wp
-         wndm(:,:) = 0._wp
-         !
-         emp (:,:) = 0._wp
-         sfx (:,:) = 0._wp
-         qns (:,:) = 0._wp
-         qsr (:,:) = 0._wp
-         !         
-      ENDIF
-      !
-   END SUBROUTINE usrdef_sbc_oce
-
-   SUBROUTINE usrdef_sbc_ice_tau( kt )
-      INTEGER, INTENT(in) ::   kt   ! ocean time step
-   END SUBROUTINE usrdef_sbc_ice_tau
-
-   SUBROUTINE usrdef_sbc_ice_flx( kt )
-      INTEGER, INTENT(in) ::   kt   ! ocean time step
-   END SUBROUTINE usrdef_sbc_ice_flx
-
-   !!======================================================================
-END MODULE usrdef_sbc
diff --git a/README.md b/README.md
index 5eca51ca80715898cc53ba10d112348268761f06..96b521a1d89de66165205a715a6ff5259f3aabff 100644
--- a/README.md
+++ b/README.md
@@ -19,38 +19,5 @@ BoBEAS
 | |----fix_elevations.sh
 | |____interpolate_gebco.sh
 |
-|____ARCH
-| |____arch-XC_ARCHER.fcm
-|____arch_xios
-| |____arch-XC_ARCHER.env
-| |____arch-XC_ARCHER.fcm
-| |____arch-XC_ARCHER.path
-|____cpp_MYCONFIG.fcm
-!____EXP_README.txt
-|____EXP00
-| |____1_namelist_cfg
-| |____1_namelist_ice_cfg
-| |____1_namelist_ice_ref
-| |____1_namelist_ref
-| |____context_nemo.xml
-| |____domain_def_nemo.xml
-| |____field_def_nemo-lim.xml
-| |____field_def_nemo-opa.xml
-| |____field_def_nemo-pisces.xml
-| |____file_def_nemo.xml
-| |____iodef.xml
-| |____namelist_cfg
-| |____namelist_ice_cfg
-| |____namelist_ice_ref
-| |____namelist_pisces_cfg
-| |____namelist_pisces_ref
-| |____namelist_ref
-| |____namelist_top_cfg
-| |____namelist_top_ref
-| |____runscript
-|____MY_SRC
-| |____*.F90
-|____INPUTS
-| |____namelist.bdy
 |____README.md
 </pre>
diff --git a/SCRIPTS/setup_python_tide.sh~ b/SCRIPTS/setup_python_tide.sh~
new file mode 100755
index 0000000000000000000000000000000000000000..dcb9510c8939ef5ecf76442286e70b8dceb738bd
--- /dev/null
+++ b/SCRIPTS/setup_python_tide.sh~
@@ -0,0 +1,35 @@
+module unload anaconda/2.2.0-python2
+
+module load anaconda
+
+git clone https://ashbre@bitbucket.org/jdha/nrct.git $WORK/nrct
+
+module unload anaconda
+
+module load anaconda/2.2.0-python2
+
+
+yes | conda create --name nrct_tide scipy=0.17.0 numpy matplotlib basemap netcdf4 libgfortran=1.0.0
+source activate nrct_tide
+yes | conda install -c https://conda.anaconda.org/conda-forge seawater=3.3.4 # Note had to add https path
+yes | conda install -c https://conda.anaconda.org/srikanthnagella thredds_crawler
+yes | conda install -c https://conda.anaconda.org/srikanthnagella pyjnius
+
+#module load java
+LD_LIBRARY_PATH=/opt/java/jdk1.8.0_51/jre/lib/amd64/server/:$LD_LIBRARY_PATH
+
+source deactivate nrct_tide
+
+
+cd $WORK/nrct/Python
+
+git checkout Generalise-tide-input
+
+python setup.py build
+export PYTHONPATH=~/.conda/envs/nrct_tide/lib/python2.7/site-packages/:$PYTHONPATH
+#export PYTHONPATH=/work/n01/n01/jelt/jelt-conda/envs/nrct_tide/lib/python2.7/site-packages/:$PYTHONPATH
+
+python setup.py install --prefix ~/.conda/envs/nrct_tide
+#python setup.py install --prefix /work/n01/n01/jelt/jelt-conda/envs/nrct_tide
+
+cd $WDIR
diff --git a/arch_xios/arch-XC30_ARCHER.env b/arch_xios/arch-XC30_ARCHER.env
deleted file mode 100755
index bc15dbc3f99febea2a9820fcb386722731df4d2c..0000000000000000000000000000000000000000
--- a/arch_xios/arch-XC30_ARCHER.env
+++ /dev/null
@@ -1,4 +0,0 @@
-export HDF5_INC_DIR=${HDF5_DIR}/include
-export HDF5_LIB_DIR=${HDF5_DIR}/lib
-export NETCDF_INC_DIR=${NETCDF_DIR}/include
-export NETCDF_LIB_DIR=${NETCDF_DIR}/lib
diff --git a/arch_xios/arch-XC30_ARCHER.fcm b/arch_xios/arch-XC30_ARCHER.fcm
deleted file mode 100755
index 1cc8c36e8ec8beea3af51a5cd36c2652f4b2cf01..0000000000000000000000000000000000000000
--- a/arch_xios/arch-XC30_ARCHER.fcm
+++ /dev/null
@@ -1,20 +0,0 @@
-%CCOMPILER           CC
-%FCOMPILER           ftn
-%LINKER              ftn -nofor-main -v
-
-%BASE_CFLAGS
-%PROD_CFLAGS    -O3 -D BOOST_DISABLE_ASSERTS
-%DEV_CFLAGS     -g -traceback
-%DEBUG_CFLAGS   -DBZ_DEBUG -g -traceback -fno-inline
-
-%BASE_FFLAGS    -D__NONE__
-%PROD_FFLAGS    -O2
-%DEV_FFLAGS     -g -O2 -traceback
-%DEBUG_FFLAGS   -g -traceback
-
-%BASE_INC       -D__NONE__
-%BASE_LD        -lstdc++
-
-%CPP            CC -EP
-%FPP            cpp -P
-%MAKE           gmake
diff --git a/arch_xios/arch-XC30_ARCHER.path b/arch_xios/arch-XC30_ARCHER.path
deleted file mode 100755
index 60aa44a2722e148d870654cfc4dc263b081fac77..0000000000000000000000000000000000000000
--- a/arch_xios/arch-XC30_ARCHER.path
+++ /dev/null
@@ -1,18 +0,0 @@
-NETCDF_INCDIR="-I $NETCDF_INC_DIR"
-NETCDF_LIBDIR='-Wl,"--allow-multiple-definition" -Wl,"-Bstatic" -L $NETCDF_LIB_DIR'
-NETCDF_LIB="-lnetcdf -lnetcdff"
-
-MPI_INCDIR=""
-MPI_LIBDIR=""
-MPI_LIB=""
-
-#HDF5_INCDIR="-I $HDF5_INC_DIR"
-HDF5_LIBDIR="-L $HDF5_LIB_DIR"
-HDF5_LIB="-lhdf5_hl -lhdf5 -lz"
-
-OASIS_INCDIR=""
-OASIS_LIBDIR=""
-OASIS_LIB=""
-#OASIS_INCDIR="-I$PWD/../../prism/X64/build/lib/psmile.MPI1"
-#OASIS_LIBDIR="-L$PWD/../../prism/X64/lib"
-#OASIS_LIB="-lpsmile.MPI1 -lmpp_io"
diff --git a/cpp_file.fcm b/cpp_file.fcm
deleted file mode 100755
index e2cd67559fe9eabdd7d55167fd40591f64bec79c..0000000000000000000000000000000000000000
--- a/cpp_file.fcm
+++ /dev/null
@@ -1,6 +0,0 @@
-bld::tool::fppkeys key_zdfgls \
-key_FES14_tides \
-key_diaharm_fast \
-key_mpp_mpi \
-key_iomput \
-key_nosignedzero