Index: /branches/2011/dev_r2787_NOCS_NEPTUNE/DOC/TexFiles/Biblio/Biblio.bib
===================================================================
--- /branches/2011/dev_r2787_NOCS_NEPTUNE/DOC/TexFiles/Biblio/Biblio.bib	(revision 2914)
+++ /branches/2011/dev_r2787_NOCS_NEPTUNE/DOC/TexFiles/Biblio/Biblio.bib	(revision 2915)
@@ -1275,4 +1275,47 @@
   url = {http://dx.doi.org/10.1016/j.ocemod.2009.12.003},
   issn = {1463-5003},
+}
+
+@ARTICLE{HollowayOM86,
+  author = {Greg Holloway},
+  title = {A Shelf Wave/Topographic Pump Drives Mean Coastal Circulation (part I)},
+  journal = OM,
+  year = {1986},
+  volume = {68},  
+}
+
+@ARTICLE{HollowayJPO92,
+  author = {Greg Holloway},
+  title = {Representing Topographic Stress for Large-Scale Ocean Models},
+  journal = JPO,
+  year = {1992},
+  volume = {22},  
+  pages = {1033--1046},
+}
+
+@ARTICLE{HollowayJPO94,
+  author = {Michael Eby and Greg Holloway},
+  title = {Sensitivity of a Large-Scale Ocean Model to a Parameterization of Topographic Stress},
+  journal = JPO,
+  year = {1994},
+  volume = {24},  
+  pages = {2577--2587},
+}
+
+@ARTICLE{HollowayJGR09,
+  author = {Greg Holloway and Zeliang Wang},
+  title = {Representing eddy stress in an Arctic Ocean model},
+  journal = JGR,
+  year = {2009},
+  doi = {10.1029/2008JC005169},  
+}
+
+@ARTICLE{HollowayOM08,
+  author = {Mathew Maltrud and Greg Holloway},
+  title = {Implementing biharmonic neptune in a global eddying ocean model},
+  journal = OM,
+  year = {2008},
+  volume = {21},  
+  pages = {22--34},
 }
 
Index: /branches/2011/dev_r2787_NOCS_NEPTUNE/DOC/TexFiles/Chapters/Chap_DYN.tex
===================================================================
--- /branches/2011/dev_r2787_NOCS_NEPTUNE/DOC/TexFiles/Chapters/Chap_DYN.tex	(revision 2914)
+++ /branches/2011/dev_r2787_NOCS_NEPTUNE/DOC/TexFiles/Chapters/Chap_DYN.tex	(revision 2915)
@@ -1162,2 +1162,85 @@
 
 % ================================================================
+% Neptune effect 
+% ================================================================
+\section  [Neptune effect (\textit{dynnept})]
+                {Neptune effect (\mdl{dynnept})}
+\label{DYN_nept}
+
+The "Neptune effect" (thus named in \citep{HollowayOM86}) is a
+parameterisation of the potentially large effect of topographic form stress
+(caused by eddies) in driving the ocean circulation. Originally developed for
+low-resolution models, in which it was applied via a Laplacian (second-order)
+diffusion-like term in the momentum equation, it can also be applied in eddy
+permitting or resolving models, in which a more scale-selective bilaplacian
+(fourth-order) implementation is preferred. This mechanism has a
+significant effect on boundary currents (including undercurrents), and the
+upwelling of deep water near continental shelves.
+
+The theoretical basis for the method can be found in 
+\citep{HollowayJPO92}, including the explanation of why form stress is not
+necessarily a drag force, but may actually drive the flow. 
+\citep{HollowayJPO94} demonstrate the effects of the parameterisation in
+the GFDL-MOM model, at a horizontal resolution of about 1.8 degrees. 
+\citep{HollowayOM08} demonstrate the biharmonic version of the
+parameterisation in a global run of the POP model, with an average horizontal
+grid spacing of about 32km.
+
+The NEMO implementation is a simplified form of that supplied by
+Greg Holloway, the testing of which was described in \citep{HollowayJGR09}.
+The major simplification is that a time invariant Neptune velocity
+field is assumed.  This is computed only once, during start-up, and
+made available to the rest of the code via a module.  Vertical
+diffusive terms are also ignored, and the model topography itself
+is used, rather than a separate topographic dataset as in
+\citep{HollowayOM08}.  This implementation is only in the iso-level
+formulation, as is the case anyway for the bilaplacian operator.
+
+The velocity field is derived from a transport stream function given by:
+
+\begin{equation} \label{Eq_dynnept_sf}
+\psi = -fL^2H
+\end{equation}
+
+where $L$ is a latitude-dependant length scale given by:
+
+\begin{equation} \label{Eq_dynnept_ls}
+L = l_1 + (l_2 -l_1)\left ( {1 + \cos 2\phi \over 2 } \right )
+\end{equation}
+
+where $\phi$ is latitude and $l_1$ and $l_2$ are polar and equatorial length scales respectively.
+Neptune velocity components, $u^*$, $v^*$ are derived from the stremfunction as:
+
+\begin{equation} \label{Eq_dynnept_vel}
+u^* = -{1\over H} {\partial \psi \over \partial y}\ \ \  ,\ \ \ v^* = {1\over H} {\partial \psi \over \partial x}
+\end{equation}
+
+\smallskip
+%----------------------------------------------namdom----------------------------------------------------
+\namdisplay{namdyn_nept}
+%--------------------------------------------------------------------------------------------------------
+\smallskip
+
+The Neptune effect is enabled when \np{ln\_neptsimp}=true (default=false).
+\np{ln\_smooth\_neptvel} controls whether a scale-selective smoothing is applied
+to the Neptune effect flow field (default=false) (this smoothing method is as
+used by Holloway).  \np{rn\_tslse} and \np{rn\_tslsp} are the equatorial and
+polar values respectively of the length-scale parameter $L$ used in determining
+the Neptune stream function \eqref{Eq_dynnept_sf} and \eqref{Eq_dynnept_ls}.
+Values at intermediate latitudes are given by a cosine fit, mimicking the
+variation of the deformation radius with latitude.  The default values of 12km
+and 3km are those given in \citep{HollowayJPO94}, appropriate for a coarse
+resolution model. The finer resolution study of \citep{HollowayOM08} increased
+the values of L by a factor of $\sqrt 2$ to 17km and 4.2km, thus doubling the
+stream function for a given topography.
+
+The simple formulation for ($u^*$, $v^*$) can give unacceptably large velocities
+in shallow water, and \citep{HollowayOM08} add an offset to the depth in the
+denominator to control this problem. In this implementation we offer instead (at
+the suggestion of G. Madec) the option of ramping down the Neptune flow field to
+zero over a finite depth range. The switch \np{ln\_neptramp} activates this
+option (default=false), in which case velocities at depths greater than
+\np{rn\_htrmax} are unaltered, but ramp down linearly with depth to zero at a
+depth of \np{rn\_htrmin} (and shallower).
+
+% ================================================================
Index: /branches/2011/dev_r2787_NOCS_NEPTUNE/DOC/TexFiles/Namelist/namdyn_nept
===================================================================
--- /branches/2011/dev_r2787_NOCS_NEPTUNE/DOC/TexFiles/Namelist/namdyn_nept	(revision 2915)
+++ /branches/2011/dev_r2787_NOCS_NEPTUNE/DOC/TexFiles/Namelist/namdyn_nept	(revision 2915)
@@ -0,0 +1,15 @@
+!-----------------------------------------------------------------------
+&nam_dynnept  !   Neptune effect (simplified: lateral and vertical diffusions removed)
+!-----------------------------------------------------------------------
+   ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model
+   ln_neptsimp       = .false.  ! yes/no use simplified neptune
+
+   ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep
+   rn_tslse          =  1.2e4   ! value of lengthscale L at the equator
+   rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole
+   ! Specify whether to ramp down the Neptune velocity in shallow
+   ! water, and if so the depth range controlling such ramping down
+   ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water
+   rn_htrmin         =  100.0   ! min. depth of transition range
+   rn_htrmax         =  200.0   ! max. depth of transition range
+/
Index: /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/GYRE/EXP00/namelist
===================================================================
--- /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/GYRE/EXP00/namelist	(revision 2914)
+++ /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/GYRE/EXP00/namelist	(revision 2915)
@@ -864,16 +864,16 @@
 /
 !-----------------------------------------------------------------------
-&nam_dynnept  !   Neptune effect (simplified: lateral and vertical diffusions removed)
-!-----------------------------------------------------------------------
-! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model
-   ln_neptsimp    = .false.  ! yes/no use simplified neptune
-
-   ln_smoothtopo  = .false.  ! yes/no smooth tsu, tsv
-   rn_tslse       =  1.2e4   ! value of lengthscale L at the equator
-   rn_tslsp       =  3.0e3   ! value of lengthscale L at the pole
-! Specify whether to ramp down the Neptune velocity in shallow
-! water, and if so the depth range controlling such ramping down
-   ln_neptramp    = .false.  ! ramp down Neptune velocity in shallow water
-   rn_htrmin      =  100.0   ! min. depth of transition range
-   rn_htrmax      =  200.0   ! max. depth of transition range
-/
+&namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed)
+!-----------------------------------------------------------------------
+   ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model
+   ln_neptsimp       = .false.  ! yes/no use simplified neptune
+
+   ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep
+   rn_tslse          =  1.2e4   ! value of lengthscale L at the equator
+   rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole
+   ! Specify whether to ramp down the Neptune velocity in shallow
+   ! water, and if so the depth range controlling such ramping down
+   ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water
+   rn_htrmin         =  100.0   ! min. depth of transition range
+   rn_htrmax         =  200.0   ! max. depth of transition range
+/
Index: /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist
===================================================================
--- /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist	(revision 2914)
+++ /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist	(revision 2915)
@@ -864,16 +864,16 @@
 /
 !-----------------------------------------------------------------------
-&nam_dynnept  !   Neptune effect (simplified: lateral and vertical diffusions removed)
-!-----------------------------------------------------------------------
-! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model
-   ln_neptsimp    = .false.  ! yes/no use simplified neptune
-
-   ln_smoothtopo  = .false.  ! yes/no smooth tsu, tsv
-   rn_tslse       =  1.2e4   ! value of lengthscale L at the equator
-   rn_tslsp       =  3.0e3   ! value of lengthscale L at the pole
-! Specify whether to ramp down the Neptune velocity in shallow
-! water, and if so the depth range controlling such ramping down
-   ln_neptramp    = .false.  ! ramp down Neptune velocity in shallow water
-   rn_htrmin      =  100.0   ! min. depth of transition range
-   rn_htrmax      =  200.0   ! max. depth of transition range
-/
+&namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed)
+!-----------------------------------------------------------------------
+   ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model
+   ln_neptsimp       = .true.   ! yes/no use simplified neptune
+
+   ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep
+   rn_tslse          =  1.2e4   ! value of lengthscale L at the equator
+   rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole
+   ! Specify whether to ramp down the Neptune velocity in shallow
+   ! water, and if so the depth range controlling such ramping down
+   ln_neptramp       = .true.   ! ramp down Neptune velocity in shallow water
+   rn_htrmin         =  100.0   ! min. depth of transition range
+   rn_htrmax         =  200.0   ! max. depth of transition range
+/
Index: /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist
===================================================================
--- /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist	(revision 2914)
+++ /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist	(revision 2915)
@@ -879,10 +879,16 @@
 /
 !-----------------------------------------------------------------------
-&nam_dynnept  !   Neptune effect (simplified: lateral and vertical diffusions removed)
-!-----------------------------------------------------------------------
-   ln_neptsimp          = .false.  ! yes/no use simplified neptune
-
-   ln_smoothtopo        = .false.  ! yes/no smooth tsu, tsv
-   rn_tslse             =  1.2e4   ! value of L at the equator
-   rn_tslsp             =  3.0e3   ! value of L at the pole
-/
+&namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed)
+!-----------------------------------------------------------------------
+   ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model
+   ln_neptsimp       = .false.  ! yes/no use simplified neptune
+
+   ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep
+   rn_tslse          =  1.2e4   ! value of lengthscale L at the equator
+   rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole
+   ! Specify whether to ramp down the Neptune velocity in shallow
+   ! water, and if so the depth range controlling such ramping down
+   ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water
+   rn_htrmin         =  100.0   ! min. depth of transition range
+   rn_htrmax         =  200.0   ! max. depth of transition range
+/
Index: /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/POMME/EXP00/namelist
===================================================================
--- /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/POMME/EXP00/namelist	(revision 2914)
+++ /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/CONFIG/POMME/EXP00/namelist	(revision 2915)
@@ -869,16 +869,16 @@
 /
 !-----------------------------------------------------------------------
-&nam_dynnept  !   Neptune effect (simplified: lateral and vertical diffusions removed)
-!-----------------------------------------------------------------------
-! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model
-   ln_neptsimp    = .false.  ! yes/no use simplified neptune
-
-   ln_smoothtopo  = .false.  ! yes/no smooth tsu, tsv
-   rn_tslse       =  1.2e4   ! value of lengthscale L at the equator
-   rn_tslsp       =  3.0e3   ! value of lengthscale L at the pole
-! Specify whether to ramp down the Neptune velocity in shallow
-! water, and if so the depth range controlling such ramping down
-   ln_neptramp    = .false.  ! ramp down Neptune velocity in shallow water
-   rn_htrmin      =  100.0   ! min. depth of transition range
-   rn_htrmax      =  200.0   ! max. depth of transition range
-/
+&namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed)
+!-----------------------------------------------------------------------
+   ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model
+   ln_neptsimp       = .false.  ! yes/no use simplified neptune
+
+   ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep
+   rn_tslse          =  1.2e4   ! value of lengthscale L at the equator
+   rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole
+   ! Specify whether to ramp down the Neptune velocity in shallow
+   ! water, and if so the depth range controlling such ramping down
+   ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water
+   rn_htrmin         =  100.0   ! min. depth of transition range
+   rn_htrmax         =  200.0   ! max. depth of transition range
+/
Index: /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/NEMO/OPA_SRC/DYN/dynnept.F90
===================================================================
--- /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/NEMO/OPA_SRC/DYN/dynnept.F90	(revision 2914)
+++ /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/NEMO/OPA_SRC/DYN/dynnept.F90	(revision 2915)
@@ -15,9 +15,10 @@
    !!                                               to zero added in shallow depths added
    !!----------------------------------------------------------------------
+   !! dynnept_alloc        :
    !! dyn_nept_init        :
-   !! div_cur_nept_init    :
-   !! dyn_cor_topo         :
-   !! dyn_topo_neptunevel  :
-   !! smooth_topo2         :
+   !! dyn_nept_div_cur_init:
+   !! dyn_nept_cor         :
+   !! dyn_nept_vel         :
+   !! dyn_nept_smooth_vel  :
    !!----------------------------------------------------------------------
    USE oce              ! ocean dynamics and tracers
@@ -35,8 +36,8 @@
    !! * Routine accessibility
    PUBLIC dyn_nept_init      ! routine called by nemogcm.F90
-   PUBLIC dyn_cor_topo       ! routine called by step.F90
-   !! dynnept_alloc()     is called only by dyn_nept_init, within this module
-   !! div_cur_nept_init   is called only by dyn_nept_init, within this module
-   !! dyn_topo_neptunevel is called only by dyn_cor_topo,  within this module
+   PUBLIC dyn_nept_cor       ! routine called by step.F90
+   !! dynnept_alloc()         is called only by dyn_nept_init, within this module
+   !! dyn_nept_div_cur_init   is called only by dyn_nept_init, within this module
+   !! dyn_nept_vel            is called only by dyn_nept_cor,  within this module
 
    !! * Shared module variables
@@ -46,15 +47,15 @@
 
 
-   !! * Namelist nam_dynnept variables
-   LOGICAL, PUBLIC  ::  ln_neptsimp    = .FALSE.  ! yes/no simplified neptune
-
-   LOGICAL          ::  ln_smoothtopo  = .FALSE.  ! yes/no smooth zunep, zvnep
-   REAL(wp)         ::  rn_tslse       =  1.2e4   ! value of lengthscale L at the equator
-   REAL(wp)         ::  rn_tslsp       =  3.0e3   ! value of lengthscale L at the pole
+   !! * Namelist namdyn_nept variables
+   LOGICAL, PUBLIC  ::  ln_neptsimp        = .FALSE.  ! yes/no simplified neptune
+
+   LOGICAL          ::  ln_smooth_neptvel  = .FALSE.  ! yes/no smooth zunep, zvnep
+   REAL(wp)         ::  rn_tslse           =  1.2e4   ! value of lengthscale L at the equator
+   REAL(wp)         ::  rn_tslsp           =  3.0e3   ! value of lengthscale L at the pole
 !! Specify whether to ramp down the Neptune velocity in shallow
 !! water, and the depth range controlling such ramping down
-   LOGICAL          ::  ln_neptramp    = .FALSE.  ! ramp down Neptune velocity in shallow water
-   REAL(wp)         ::  rn_htrmin      =  100.0   ! min. depth of transition range
-   REAL(wp)         ::  rn_htrmax      =  200.0   ! max. depth of transition range
+   LOGICAL          ::  ln_neptramp        = .FALSE.  ! ramp down Neptune velocity in shallow water
+   REAL(wp)         ::  rn_htrmin          =  100.0   ! min. depth of transition range
+   REAL(wp)         ::  rn_htrmax          =  200.0   ! max. depth of transition range
 
    !! * Module variables
@@ -117,6 +118,6 @@
       REAL(wp) :: hramp                         ! depth over which Neptune vel. is ramped down
       !!
-      NAMELIST/nam_dynnept/ ln_neptsimp,      &
-                            ln_smoothtopo,    &
+      NAMELIST/namdyn_nept/ ln_neptsimp,      &
+                            ln_smooth_neptvel,&
 			    rn_tslse,	      &
 			    rn_tslsp,	      &
@@ -131,6 +132,6 @@
 !!    WRITE(numout,*) ' start dynnept namelist'
 !!    CALL FLUSH(numout)
-      REWIND( numnam )                  ! Read Namelist nam_dynnept:  Simplified Neptune
-      READ  ( numnam, nam_dynnept )
+      REWIND( numnam )                  ! Read Namelist namdyn_nept:  Simplified Neptune
+      READ  ( numnam, namdyn_nept )
 !!    WRITE(numout,*) ' dynnept namelist done'
 !!    CALL FLUSH(numout)
@@ -140,8 +141,8 @@
          WRITE(numout,*) 'dyn_nept_init : Simplified Neptune module enabled'
          WRITE(numout,*) '~~~~~~~~~~~~~'
-         WRITE(numout,*) ' -->   Reading namelist nam_dynnept parameters:'
+         WRITE(numout,*) ' -->   Reading namelist namdyn_nept parameters:'
          WRITE(numout,*) '       ln_neptsimp          = ', ln_neptsimp
          WRITE(numout,*)
-         WRITE(numout,*) '       ln_smoothtopo        = ', ln_smoothtopo
+         WRITE(numout,*) '       ln_smooth_neptvel    = ', ln_smooth_neptvel
          WRITE(numout,*) '       rn_tslse             = ', rn_tslse
          WRITE(numout,*) '       rn_tslsp             = ', rn_tslsp
@@ -154,5 +155,5 @@
       ENDIF
 
-      IF( ln_smoothtopo ) THEN
+      IF( ln_smooth_neptvel ) THEN
          IF(lwp) WRITE(numout,*) ' -->   neptune velocities will be smoothed'
       ELSE
@@ -213,6 +214,6 @@
       END DO
 
-      IF( ln_smoothtopo ) THEN
-         CALL smooth_topo2( htn, ht, .TRUE. )
+      IF( ln_smooth_neptvel ) THEN
+         CALL dyn_nept_smooth_vel( htn, ht, .TRUE. )
       !! overwrites ht with a smoothed version of htn
       ELSE
@@ -224,6 +225,6 @@
       !! Compute tsp, a stream function for the Neptune velocity,
       !! with the usual geophysical sign convention
-      !! Then zunep = -latitudinal derivative "-d(tsp)/dy"
-      !!      zvnep = longitudinal derivative " d(tsp)/dx"
+      !! Then zunep = -latitudinal derivative "-(1/H)*d(tsp)/dy"
+      !!      zvnep = longitudinal derivative " (1/H)*d(tsp)/dx"
 
       tsp(:,:)    = 0.0_wp
@@ -235,6 +236,6 @@
 
 
-      IF( ln_smoothtopo ) THEN
-         CALL smooth_topo2( hu, hu_n, .TRUE. )
+      IF( ln_smooth_neptvel ) THEN
+         CALL dyn_nept_smooth_vel( hu, hu_n, .TRUE. )
       !! overwrites hu_n with a smoothed version of hu
       ELSE
@@ -252,6 +253,6 @@
 
 
-      IF( ln_smoothtopo ) THEN
-         CALL smooth_topo2( hv, hv_n, .TRUE. )
+      IF( ln_smooth_neptvel ) THEN
+         CALL dyn_nept_smooth_vel( hv, hv_n, .TRUE. )
       !! overwrites hv_n with a smoothed version of hv
       ELSE
@@ -324,5 +325,5 @@
       !!  Compute, once and for all, the horizontal divergence (zhdivnep)
       !!  and the curl (zmrotnep) of the Neptune velocity field (zunep, zvnep)
-      CALL div_cur_nept_init
+      CALL dyn_nept_div_cur_init
 
       !! Check the ranges of the computed divergence & vorticity
@@ -353,7 +354,7 @@
 
 
-   SUBROUTINE div_cur_nept_init
-      !!----------------------------------------------------------------------
-      !!             ***  ROUTINE div_cur_nept_init  ***
+   SUBROUTINE dyn_nept_div_cur_init
+      !!----------------------------------------------------------------------
+      !!             ***  ROUTINE dyn_nept_div_cur_init  ***
       !!
       !! ** Purpose :   compute the horizontal divergence and the relative
@@ -394,5 +395,5 @@
 
       IF(lwp) WRITE(numout,*)
-      IF(lwp) WRITE(numout,*) 'div_cur_nept_init :'
+      IF(lwp) WRITE(numout,*) 'dyn_nept_div_cur_init :'
       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~~~~~'
       IF(lwp) WRITE(numout,*) 'horizontal velocity divergence and'
@@ -471,10 +472,10 @@
       CALL lbc_lnk( zhdivnep, 'T', 1. )   ;   CALL lbc_lnk( zmrotnep , 'F', 1. )     ! lateral boundary cond. (no sign change)
       !
-   END SUBROUTINE div_cur_nept_init
-
-
-   SUBROUTINE dyn_cor_topo( kt )
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE dyn_cor_topo  ***
+   END SUBROUTINE dyn_nept_div_cur_init
+
+
+   SUBROUTINE dyn_nept_cor( kt )
+      !!----------------------------------------------------------------------
+      !!                  ***  ROUTINE dyn_nept_cor  ***
       !!
       !! ** Purpose :  Add or subtract the Neptune velocity from the now velocities
@@ -492,8 +493,8 @@
          !
          IF( lastkt /= kt ) THEN          ! 1st call for this kt: subtract the Neptune velocities zunep, zvnep from un, vn
-            CALL dyn_topo_neptunevel( -1 )      ! -1 = subtract
+            CALL dyn_nept_vel( -1 )      ! -1 = subtract
             !
          ELSE                              ! 2nd call for this kt: add the Neptune velocities zunep, zvnep to un, vn
-            CALL dyn_topo_neptunevel(  1 )      !  1 = add
+            CALL dyn_nept_vel(  1 )      !  1 = add
             !
          ENDIF
@@ -503,10 +504,10 @@
       ENDIF
       !
-   END SUBROUTINE dyn_cor_topo
-
-
-   SUBROUTINE dyn_topo_neptunevel( ksign )
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE dyn_topo_neptunevel  ***
+   END SUBROUTINE dyn_nept_cor
+
+
+   SUBROUTINE dyn_nept_vel( ksign )
+      !!----------------------------------------------------------------------
+      !!                  ***  ROUTINE dyn_nept_vel  ***
       !!
       !! ** Purpose :  Add or subtract the Neptune velocity from the now
@@ -525,11 +526,11 @@
       END DO
       !
-   END SUBROUTINE dyn_topo_neptunevel
-
-
-   SUBROUTINE smooth_topo2( htold, htnew, option )
-
-      !!----------------------------------------------------------------------
-      !!                  ***  ROUTINE smooth_topo2  ***
+   END SUBROUTINE dyn_nept_vel
+
+
+   SUBROUTINE dyn_nept_smooth_vel( htold, htnew, option )
+
+      !!----------------------------------------------------------------------
+      !!                  ***  ROUTINE dyn_nept_smooth_vel  ***
       !!
       !! ** Purpose :  Compute smoothed topography field.
@@ -616,5 +617,5 @@
       DEALLOCATE( work, nb, iwork )
 
-   END SUBROUTINE smooth_topo2
+   END SUBROUTINE dyn_nept_smooth_vel
 
 END MODULE dynnept
Index: /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/NEMO/OPA_SRC/step.F90
===================================================================
--- /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/NEMO/OPA_SRC/step.F90	(revision 2914)
+++ /branches/2011/dev_r2787_NOCS_NEPTUNE/NEMOGCM/NEMO/OPA_SRC/step.F90	(revision 2915)
@@ -221,9 +221,9 @@
       IF(  ln_asmiau .AND. &
          & ln_dyninc       )   CALL dyn_asm_inc( kstp )     ! apply dynamics assimilation increment
-      IF( ln_neptsimp )        CALL dyn_cor_topo( kstp )    ! subtract Neptune velocities (simplified)
+      IF( ln_neptsimp )        CALL dyn_nept_cor( kstp )    ! subtract Neptune velocities (simplified)
                                CALL dyn_adv( kstp )         ! advection (vector or flux form)
                                CALL dyn_vor( kstp )         ! vorticity term including Coriolis
                                CALL dyn_ldf( kstp )         ! lateral mixing
-      IF( ln_neptsimp )        CALL dyn_cor_topo( kstp )    ! add Neptune velocities (simplified)
+      IF( ln_neptsimp )        CALL dyn_nept_cor( kstp )    ! add Neptune velocities (simplified)
 #if defined key_agrif
       IF(.NOT. Agrif_Root())   CALL Agrif_Sponge_dyn        ! momemtum sponge
