Index: trunk/NEMO/OPA_SRC/opa.F90
===================================================================
--- trunk/NEMO/OPA_SRC/opa.F90	(revision 1598)
+++ trunk/NEMO/OPA_SRC/opa.F90	(revision 1601)
@@ -47,4 +47,5 @@
    USE istate          ! initial state setting          (istate_init routine)
    USE eosbn2          ! equation of state                 (eos_init routine)
+   USE dynhpg          ! hydrostatic pressure gradient
    USE ldfdyn          ! lateral viscosity setting      (ldfdyn_init routine)
    USE ldftra          ! lateral diffusivity setting    (ldftra_init routine)
@@ -176,6 +177,6 @@
       INTEGER                         ::   ji   ! local loop indices
       !!
-      NAMELIST/namctl/ ln_ctl, nprint, nictls, nictle,   &
-         &             isplt , jsplt , njctls, njctle, nbench, nbit_cmp
+      NAMELIST/namctl/ ln_ctl  , nn_print, nn_ictls, nn_ictle,   &
+         &             nn_isplt, nn_jsplt, nn_jctls, nn_jctle, nn_bench, nn_bit_cmp
       !!----------------------------------------------------------------------
       !
@@ -283,23 +284,35 @@
       !!              - Read in namilist namflg logical flags
       !!----------------------------------------------------------------------
-      NAMELIST/namflg/ ln_dynhpg_imp, nn_dynhpg_rst
-      !!----------------------------------------------------------------------
-
-      IF(lwp) THEN                ! Parameter print
+      NAMELIST/namdyn_hpg/ ln_hpg_zco   , ln_hpg_zps   , ln_hpg_sco, ln_hpg_hel,   &
+         &                 ln_hpg_wdj   , ln_hpg_djc   , ln_hpg_rot, rn_gamma  ,   &
+         &                 ln_dynhpg_imp, nn_dynhpg_rst
+      !!----------------------------------------------------------------------
+
+      IF(lwp) THEN                 ! Parameter print
          WRITE(numout,*)
          WRITE(numout,*) 'opa_flg: Control prints & Benchmark'
          WRITE(numout,*) '~~~~~~~ '
          WRITE(numout,*) '   Namelist namctl'
-         WRITE(numout,*) '      run control (for debugging)     ln_ctl    = ', ln_ctl
-         WRITE(numout,*) '      level of print                  nprint    = ', nprint
-         WRITE(numout,*) '      Start i indice for SUM control  nictls    = ', nictls
-         WRITE(numout,*) '      End i indice for SUM control    nictle    = ', nictle
-         WRITE(numout,*) '      Start j indice for SUM control  njctls    = ', njctls
-         WRITE(numout,*) '      End j indice for SUM control    njctle    = ', njctle
-         WRITE(numout,*) '      number of proc. following i     isplt     = ', isplt
-         WRITE(numout,*) '      number of proc. following j     jsplt     = ', jsplt
-         WRITE(numout,*) '      benchmark parameter (0/1)       nbench    = ', nbench
-         WRITE(numout,*) '      bit comparison mode (0/1)       nbit_cmp  = ', nbit_cmp
-      ENDIF
+         WRITE(numout,*) '      run control (for debugging)     ln_ctl     = ', ln_ctl
+         WRITE(numout,*) '      level of print                  nn_print   = ', nn_print
+         WRITE(numout,*) '      Start i indice for SUM control  nn_ictls   = ', nn_ictls
+         WRITE(numout,*) '      End i indice for SUM control    nn_ictle   = ', nn_ictle
+         WRITE(numout,*) '      Start j indice for SUM control  nn_jctls   = ', nn_jctls
+         WRITE(numout,*) '      End j indice for SUM control    nn_jctle   = ', nn_jctle
+         WRITE(numout,*) '      number of proc. following i     nn_isplt   = ', nn_isplt
+         WRITE(numout,*) '      number of proc. following j     nn_jsplt   = ', nn_jsplt
+         WRITE(numout,*) '      benchmark parameter (0/1)       nn_bench   = ', nn_bench
+         WRITE(numout,*) '      bit comparison mode (0/1)       nn_bit_cmp = ', nn_bit_cmp
+      ENDIF
+
+      nprint    = nn_print          ! convert DOCTOR namelist names into OLD names
+      nictls    = nn_ictls
+      nictle    = nn_ictle
+      njctls    = nn_jctls
+      njctle    = nn_jctle
+      isplt     = nn_isplt
+      jsplt     = nn_jsplt
+      nbench    = nn_bench
+      nbit_cmp  = nn_bit_cmp
 
       !                           ! Parameter control
@@ -355,18 +368,6 @@
       ENDIF
 
-
-      REWIND( numnam )            ! Read Namelist namflg : algorithm FLaG
-      READ  ( numnam, namflg )
-
-      IF(lwp) THEN                ! Parameter print
-         WRITE(numout,*)
-         WRITE(numout,*) 'opa_flg : Hydrostatic pressure gradient algorithm'
-         WRITE(numout,*) '~~~~~~~'
-         WRITE(numout,*) '   Namelist namflg : hydrostatic pressure gradient time stepping'
-         WRITE(numout,*) '      centered (F) or semi-implicit (T)        ln_dynhpg_imp = ', ln_dynhpg_imp
-         WRITE(numout,*) '      ensure restartability (=1) or not (=0)   nn_dynhpg_rst = ', nn_dynhpg_rst
-      ENDIF
-      !
-      IF( .NOT. ln_dynhpg_imp )   nn_dynhpg_rst = 0      ! force no adding dynhpg implicit variables in restart
+      REWIND( numnam )              ! Read Namelist namdyn_hpg : ln_dynhpg_imp must be read at the initialisation phase
+      READ  ( numnam, namdyn_hpg )
       !
    END SUBROUTINE opa_flg
