Index: /branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90
===================================================================
--- /branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90	(revision 4793)
+++ /branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90	(revision 4794)
@@ -388,4 +388,48 @@
       ENDIF
 
+#if defined key_surge
+      ! Surface value
+      DO jj = 2, jpjm1
+         DO ji = fs_2, fs_jpim1   ! vector opt.
+            ! hydrostatic pressure gradient along s-surfaces
+            zhpi(ji,jj,1) = zcoef0 / e1u(ji,jj) * ( fse3w(ji+1,jj  ,1) * ( znad )   &
+               &                                  - fse3w(ji  ,jj  ,1) * ( znad ) )
+            zhpj(ji,jj,1) = zcoef0 / e2v(ji,jj) * ( fse3w(ji  ,jj+1,1) * ( znad )   &
+               &                                  - fse3w(ji  ,jj  ,1) * ( znad ) )
+            ! s-coordinate pressure gradient correction
+            zuap = -zcoef0 * ( 2._wp * znad )   &
+               &           * ( fsde3w(ji+1,jj,1) - fsde3w(ji,jj,1) ) / e1u(ji,jj)
+            zvap = -zcoef0 * ( 2._wp * znad )   &
+               &           * ( fsde3w(ji,jj+1,1) - fsde3w(ji,jj,1) ) / e2v(ji,jj)
+            ! add to the general momentum trend
+            ua(ji,jj,1) = ua(ji,jj,1) + zhpi(ji,jj,1) + zuap
+            va(ji,jj,1) = va(ji,jj,1) + zhpj(ji,jj,1) + zvap
+         END DO
+      END DO
+
+      ! interior value (2=<jk=<jpkm1)
+      DO jk = 2, jpkm1
+         DO jj = 2, jpjm1
+            DO ji = fs_2, fs_jpim1   ! vector opt.
+               ! hydrostatic pressure gradient along s-surfaces
+               zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1) + zcoef0 / e1u(ji,jj)   &
+                  &           * (  fse3w(ji+1,jj,jk) * ( 2*znad )   &
+                  &              - fse3w(ji  ,jj,jk) * ( 2*znad )  )
+               zhpj(ji,jj,jk) = zhpj(ji,jj,jk-1) + zcoef0 / e2v(ji,jj)   &
+                  &           * (  fse3w(ji,jj+1,jk) * ( 2*znad )   &
+                  &              - fse3w(ji,jj  ,jk) * ( 2*znad )  )
+               ! s-coordinate pressure gradient correction
+               zuap = -zcoef0 * ( 2._wp * znad )   &
+                  &           * ( fsde3w(ji+1,jj  ,jk) - fsde3w(ji,jj,jk) ) / e1u(ji,jj)
+               zvap = -zcoef0 * ( 2._wp * znad )   &
+                  &           * ( fsde3w(ji  ,jj+1,jk) - fsde3w(ji,jj,jk) ) / e2v(ji,jj)
+               ! add to the general momentum trend
+               ua(ji,jj,jk) = ua(ji,jj,jk) + zhpi(ji,jj,jk) + zuap
+               va(ji,jj,jk) = va(ji,jj,jk) + zhpj(ji,jj,jk) + zvap
+            END DO
+         END DO
+      END DO
+      !
+#else
       ! Surface value
       DO jj = 2, jpjm1
@@ -429,4 +473,5 @@
          END DO
       END DO
+#endif
       !
       CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zhpj )
Index: /branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
===================================================================
--- /branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90	(revision 4793)
+++ /branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90	(revision 4794)
@@ -442,5 +442,7 @@
                             CALL dyn_ldf_init   ! lateral mixing
                             CALL dyn_hpg_init   ! horizontal gradient of Hydrostatic pressure
+#if ! defined key_surge
                             CALL dyn_zdf_init   ! vertical diffusion
+#endif
                             CALL dyn_spg_init   ! surface pressure gradient
 
Index: /branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/step.F90
===================================================================
--- /branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/step.F90	(revision 4793)
+++ /branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/step.F90	(revision 4794)
@@ -187,5 +187,5 @@
           IF(.NOT. Agrif_Root())  CALL Agrif_Sponge_dyn        ! momentum sponge
 #endif
-!                                  CALL dyn_hpg( kstp )         ! horizontal gradient of Hydrostatic pressure
+                                  CALL dyn_hpg( kstp )         ! horizontal gradient of Hydrostatic pressure
                                   CALL dyn_spg( kstp, indic )  ! surface pressure gradient
 
@@ -292,5 +292,5 @@
         IF(.NOT. Agrif_Root()) CALL Agrif_Sponge_dyn        ! momemtum sponge
 #endif
-!                               CALL dyn_hpg( kstp )         ! horizontal gradient of Hydrostatic pressure
+                               CALL dyn_hpg( kstp )         ! horizontal gradient of Hydrostatic pressure
                                CALL dyn_bfr( kstp )         ! bottom friction
 #if ! defined key_surge
