Commit a7120c4e authored by Karsten Bolding's avatar Karsten Bolding
Browse files

removed superfluous spaces at eol

parent d239f83f
......@@ -11,22 +11,22 @@
!
! In this routine the bottom friction for the external (vertically integrated)
! mode is calculated. This is done separately for the $U$-equation in the
! U-points and for the $V$-equation in the V-points.
! U-points and for the $V$-equation in the V-points.
! The drag coefficient $R$ for the external mode is given in eq.\
! (\ref{bottom_vert}) on page \pageref{bottom_vert}.
! For {\tt runtype=1} (only vertically integrated calculations), the
! bottom roughness length is depending on the bed friction
! bottom roughness length is depending on the bed friction
! velocity $u_*^b$ and the molecular viscosity $\nu$:
!
! \begin{equation}\label{Defz0b}
! z_0^b = 0.1 \frac{\nu}{u_*^b} + \left(z^b_0\right)_{\min},
! \end{equation}
!
!
! see e.g.\ \cite{KAGAN95}, i.e.\ the given roughness may be increased
! by viscous effects.
! After this, the drag coefficient is multiplied by the absolute value of the
! local velocity, which is alculated by dividing the local transports by the
! local water depths and by properly interpolating these velocities
! local water depths and by properly interpolating these velocities
! to the U- and V-points. The resulting fields are {\tt ru}, representing
! $R\sqrt{u^2+v^2}$ on the U-points and {\tt rv}, representing
! this quantity on the V-points.
......
......@@ -2,7 +2,7 @@
!-----------------------------------------------------------------------
!BOP
!
! !ROUTINE: cfl_check - check for explicit barotropic time step.
! !ROUTINE: cfl_check - check for explicit barotropic time step.
!
! !INTERFACE:
subroutine cfl_check()
......@@ -18,7 +18,7 @@
! {\sqrt{2} c_{i,j} \sqrt{\Delta x_{i,j}^2+ \Delta y_{i,j}^2}}\right\}
! \end{equation}
!
! with the local Courant number
! with the local Courant number
!
! \begin{equation}
! c_{i,j}=\sqrt{g H_{i,j}},
......@@ -72,7 +72,7 @@
c = sqrt(g*H(i,j))
dtt = (dxc(i,j)*dyc(i,j))/ &
(sqrt(2.0)*c*sqrt(dxc(i,j)*dxc(i,j)+dyc(i,j)*dyc(i,j)))
#endif
if (dtt .lt. max_dt) then
max_dt=dtt
......@@ -87,7 +87,7 @@
#else
c = sqrt(g*h_max)
! Becker and Deleersnijder
max_dt = (dx*dy)/(sqrt(2.0)*c*sqrt(dx*dx+dy*dy))
max_dt = (dx*dy)/(sqrt(2.0)*c*sqrt(dx*dx+dy*dy))
#if 0
#ifdef POM_CFL
......
......@@ -94,7 +94,7 @@
! for the fulfilment of the CFL criterium for shallow water theory
! {\tt cfl\_check} is called. A major part of this subroutine deals
! then with the setting of local bathymetry values and initial surface
! elevations in $u$- and $v$-points, also by calls to the subroutines
! elevations in $u$- and $v$-points, also by calls to the subroutines
! {\tt uv\_depths} and {\tt depth\_update}.
!
! !LOCAL VARIABLES:
......@@ -123,7 +123,7 @@
! Allocates memory for the public data members - if not static
call init_variables_2d(runtype)
#if defined(GETM_PARALLEL) || defined(NO_BAROTROPIC)
#if defined(GETM_PARALLEL) || defined(NO_BAROTROPIC)
! STDERR 'Not calling cfl_check() - GETM_PARALLEL or NO_BAROTROPIC'
! call cfl_check()
#else
......@@ -196,7 +196,7 @@
LEVEL2 ' All An is zero for this (sub)domain - switching to An_method=0'
An_method=0
end if
case default
call getm_error("init_2d()", &
"A non valid An method has been chosen");
......
......@@ -11,7 +11,7 @@
!
! This small routine calls the $U$-equation and the $V$-equation in an
! alternating sequence (UVVUUVVUUVVU), in order to provide higher
! accuracy and energy conservation for the explicit numerical treatment
! accuracy and energy conservation for the explicit numerical treatment
! of the Coriolis term.
!
! !USES:
......@@ -75,16 +75,16 @@
! number of slow terms is calculated. One slight modification is that
! for better stability of drying and flooding processes the slow friction
! term $S^x_F$ is now also multiplied with the parameter $\alpha$ defined
! in eq.\ (\ref{alpha}).
! in eq.\ (\ref{alpha}).
!
! Furthermore, the horizontal pressure gradient $\partial^*_x\zeta$ is
! Furthermore, the horizontal pressure gradient $\partial^*_x\zeta$ is
! modified in order to
! support drying and flooding, see figure \ref{figpressgrad} on page
! support drying and flooding, see figure \ref{figpressgrad} on page
! \pageref{figpressgrad} and the explanations in section \ref{Section_dry}.
! $\partial^*_x\zeta$ is now also considering the atmospheric pressure
! gradient at sea surface height.
!
! For numerical stability reasons, the $U$-momentum equation is here
! For numerical stability reasons, the $U$-momentum equation is here
! discretised in time such that the
! bed friction is treated explicitely:
!
......@@ -96,9 +96,9 @@
! \end{equation}
!
! with $U_{Ex}$ combining advection and diffusion of $U$, see routines
! {\tt uv\_advect} (section \ref{sec-uv-advect} on page
! \pageref{sec-uv-advect}) and {\tt uv\_diffusion}
! (section \ref{sec-uv-diffusion} on page
! {\tt uv\_advect} (section \ref{sec-uv-advect} on page
! \pageref{sec-uv-advect}) and {\tt uv\_diffusion}
! (section \ref{sec-uv-diffusion} on page
! \pageref{sec-uv-diffusion}). The slow terms
! are calculated in the routine {\tt slow\_terms} documented in section
! \ref{sec-slow-terms} on page \pageref{sec-slow-terms}.
......@@ -153,7 +153,7 @@
#endif
gammai = _ONE_/gamma
!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(i,j,zp,zm,Uloc)
!$OMP DO SCHEDULE(RUNTIME)
......@@ -252,16 +252,16 @@
! number of slow terms is calculated. One slight modification is that
! for better stability of drying and flooding processes the slow friction
! term $S^y_F$ is now also multiplied with the parameter $\alpha$ defined
! in eq.\ (\ref{alpha}).
! in eq.\ (\ref{alpha}).
!
! Furthermore, the horizontal pressure gradient $\partial^*_y\zeta$ is
! Furthermore, the horizontal pressure gradient $\partial^*_y\zeta$ is
! modified in order to
! support drying and flooding, see figure \ref{figpressgrad} on page
! support drying and flooding, see figure \ref{figpressgrad} on page
! \pageref{figpressgrad} and the explanations in section \ref{Section_dry}.
! $\partial^*_y\zeta$ is now also considering the atmospheric pressure
! gradient at sea surface height.
!
! For numerical stability reasons, the $V$-momentum equation is here
! For numerical stability reasons, the $V$-momentum equation is here
! discretised in time such that the
! bed friction is treated explicitely:
!
......
......@@ -24,7 +24,7 @@
!
! where $t_0$ is the time when the residual calculation begins (to be
! chosen from namelist) and $t_1$ is the finishing time of the model simulation.
!
!
!
! !USES:
use variables_2d, only: u,v,res_du,res_u,res_dv,res_v,du,dv
......
......@@ -11,12 +11,12 @@
!
! Here, the sea surface elevation is iterated according to the vertically
! integrated continuity equation given in (\ref{Elevation}) on page
! \pageref{Elevation}.
! \pageref{Elevation}.
!
! When working with the option {\tt SLICE\_MODEL}, the elevations
! at $j=2$ are copied to $j=3$.
!
! Now with consideration of fresh water fluxes (precipitation and
! Now with consideration of fresh water fluxes (precipitation and
! evaporation). Positive for flux into the water.
!
! !USES:
......@@ -59,7 +59,7 @@
#endif
call tic(TIM_SEALEVEL)
! OMP-NOTE: This loop does not really improve from threading.
! OMP-NOTE: This loop does not really improve from threading.
! It is bound by memory access, and everything is nicely
! lined up anyway, so we keep it in serial.
do j=jmin-HALO,jmax+HALO
......@@ -77,8 +77,8 @@
break_flag=0
#endif
! Presently this loop is only threaded for no-breaks.
! If this loop should be threaded with USE_BREAKS, then
! Presently this loop is only threaded for no-breaks.
! If this loop should be threaded with USE_BREAKS, then
! a bit of coding and testing is needed (see below) as
! it is sliglty more complicated.
! The present routine is a small part of the total CPU.
......@@ -195,14 +195,14 @@
!
! !DESCRIPTION:
!
! The sea surface elevation (2d) variable is sweeped scanning for
! not-a-number (NaN). NaN values indicate that the integration
! The sea surface elevation (2d) variable is sweeped scanning for
! not-a-number (NaN). NaN values indicate that the integration
! has become unstable and that it really should be stopped.
! First time a NaN value is found, a warning is issued and possibly
! the code is stopped. After the first encounter, the sweep is
! the code is stopped. After the first encounter, the sweep is
! suspended.
!
! The behaviour of this routine is controlled by the
! The behaviour of this routine is controlled by the
! {\tt sealevel\_check} parameter in the {\tt m2d} namelist.
!
! !USES:
......@@ -235,9 +235,9 @@
! In general checking for NaN is not trivial.
! Some compilers allow the use of functions ISNAN or ieee_is_nan.
! The functions are not neceassily available for all compilers, so be careful.
! The approach taken here is to compare against HUGE and
! The approach taken here is to compare against HUGE and
! then say that the value is *not* NaN if it can compare less than HUGE.
! However, it is important that the comparison is not removed by the
! However, it is important that the comparison is not removed by the
! compiler - as it may really test out as "always true" from a compile-
! time point of view. Function inlining and other funny stuff done by smart
! compilers can make this approach not working.
......@@ -295,7 +295,7 @@
do i=imin,imax
call sealevel_nandum(z(i,j),ahuge,idum)
if (idum .eq. 2) then
! TODO: OMP may be implemented here, but this
! TODO: OMP may be implemented here, but this
! section would be critical.
! Increment counter for NaNs:
! Keep at least one point with location (may be overwritten later)
......@@ -354,7 +354,7 @@
! to spot NaN values.
! Output is 1 or 2, based on which is smaller (a or b, respectively).
! The default is 2, and the idea is that "imin=2" should be returned
! also if a is NaN. If b=HUGE(b), then this provides a means to detect
! also if a is NaN. If b=HUGE(b), then this provides a means to detect
! if a is a denormal number.
!
!EOP
......
......@@ -11,7 +11,7 @@
!
! In this routine sea surface elevation boundary conditions are read
! in from a file, interpolated to the actual time step, and distributed
! to the open boundary grid boxes.
! to the open boundary grid boxes.
! Only for a special test case ({\tt SYLT\_TEST}), ascii data reading is
! supported. For a few special simple cases, analytical calculation
! of boundary elevations is supported. The generic way is reading in
......
......@@ -9,14 +9,14 @@
!
! !DESCRIPTION:
!
! The advective terms in the vertically integrated
! The advective terms in the vertically integrated
! momentum equation are discretised in
! a momentum-conservative form. This is carried out here for the
! advective terms in the $U$-equation (\ref{UMOM}) and the
! a momentum-conservative form. This is carried out here for the
! advective terms in the $U$-equation (\ref{UMOM}) and the
! $V$-equation (\ref{VMOM}) (after applying the curvilinear
! coordinate transformationand multiplying these
! equations with $mn$).
!
! equations with $mn$).
!
! First advection term in (\ref{UMOM}):
! \begin{equation}
! \begin{array}{l}
......@@ -30,11 +30,11 @@
! }{\Delta x^u_{i,j}\Delta y^u_{i,j}}
! \end{array}
! \end{equation}
!
!
! For the upwind scheme used here, the inter-facial velocities which are defined
! on T-points are here
! calculated as:
!
!
! \begin{equation}
! \tilde u_{i,j}=
! \left\{
......@@ -42,17 +42,17 @@
! \displaystyle
! \frac{U_{i-1,j}}{D^u_{i-1,j}} & \mbox{ for } \frac12(U_{i,j}+U_{i-1,j})>0\\ \\
! \displaystyle
! \frac{U_{i,j}}{D^u_{i,j}} & \mbox{ else. }
! \frac{U_{i,j}}{D^u_{i,j}} & \mbox{ else. }
! \end{array}
! \right.
! \end{equation}
!
!
! Second advection term in (\ref{UMOM}):
! \begin{equation}
! \begin{array}{l}
! \displaystyle
! \left(mn\,\partial_{\cal Y}y\left(\frac{UV}{Dm}\right)\right)_{i,j,k}\approx \\ \\
! \displaystyle
! \displaystyle
! \left(mn\,\partial_{\cal Y}y\left(\frac{UV}{Dm}\right)\right)_{i,j,k}\approx \\ \\
! \displaystyle
! \quad
! \frac{
! \frac12(V_{i+1,j}+V_{i,j})\tilde u_{i,j}\Delta x^+_{i,j}-
......@@ -60,12 +60,12 @@
! }{\Delta x^u_{i,j}\Delta y^u_{i,j}}
! \end{array}
! \end{equation}
!
! For the upwind scheme used here, the inter-facial
!
! For the upwind scheme used here, the inter-facial
! velocities which are defined on
! X-points are here
! calculated as:
!
!
! \begin{equation}
! \tilde u_{i,j}=
! \left\{
......@@ -73,17 +73,17 @@
! \displaystyle
! \frac{U_{i,j}}{D^u_{i,j}} & \mbox{ for } \frac12(V_{i+1,j,k}+V_{i,j,k})>0\\ \\
! \displaystyle
! \frac{U_{i,j+1}}{D^u_{i,j+1}} & \mbox{ else. }
! \frac{U_{i,j+1}}{D^u_{i,j+1}} & \mbox{ else. }
! \end{array}
! \right.
! \end{equation}
!
!
! First advection term in (\ref{VMOM}):
! \begin{equation}
! \begin{array}{l}
! \displaystyle
! \left(mn\,\partial_{\cal X}\left(\frac{UV}{Dn}\right)\right)_{i,j,k}\approx \\ \\
! \displaystyle
! \displaystyle
! \left(mn\,\partial_{\cal X}\left(\frac{UV}{Dn}\right)\right)_{i,j,k}\approx \\ \\
! \displaystyle
! \quad
! \frac{
! \frac12(U_{i,j+1}+U_{i,j})\tilde v_{i,j}\Delta y^+_{i,j}-
......@@ -91,12 +91,12 @@
! }{\Delta x^v_{i,j}\Delta y^v_{i,j}}
! \end{array}
! \end{equation}
!
! For the upwind scheme used here, the interfacial
!
! For the upwind scheme used here, the interfacial
! velocities which are defined on
! X-points are here
! calculated as:
!
!
! \begin{equation}
! \tilde v_{i,j}=
! \left\{
......@@ -104,11 +104,11 @@
! \displaystyle
! \frac{V_{i,j}}{D^v_{i,j}} & \mbox{ for } \frac12(U_{i+1,j}+U_{i,j})>0\\ \\
! \displaystyle
! \frac{V_{i+1,j}}{D^v_{i+1,j}} & \mbox{ else. }
! \frac{V_{i+1,j}}{D^v_{i+1,j}} & \mbox{ else. }
! \end{array}
! \right.
! \end{equation}
!
!
! Second advection term in (\ref{VMOM}):
! \begin{equation}
! \begin{array}{l}
......@@ -122,11 +122,11 @@
! }{\Delta x^v_{i,j}\Delta y^v_{i,j}}
! \end{array}
! \end{equation}
!
!
! For the upwind scheme used here, the interfacial velocities which are defined
! on T-points are here
! calculated as:
!
!
! \begin{equation}
! \tilde v_{i,j}=
! \left\{
......@@ -134,7 +134,7 @@
! \displaystyle
! \frac{V_{i,j-1}}{D^v_{i,j-1}} & \mbox{ for } \frac12(V_{i,j}+V_{i,j-1})>0\\ \\
! \displaystyle
! \frac{V_{i,j}}{D^v_{i,j}} & \mbox{ else. }
! \frac{V_{i,j}}{D^v_{i,j}} & \mbox{ else. }
! \end{array}
! \right.
! \end{equation}
......
......@@ -18,21 +18,21 @@
! H^u_{i,j} = \left\{
! \begin{array}{ll}
! \displaystyle
! \frac12 \left(H_{i,j}+H_{i+1,j}\right), &
! \frac12 \left(H_{i,j}+H_{i+1,j}\right), &
! \displaystyle
! \mbox{ for {\tt vel\_depth\_method}} =0, \\ \\
! \mbox{ for {\tt vel\_depth\_method}} =0, \\ \\
! \displaystyle
! \min\left\{H_{i,j}+H_{i+1,j}\right\}, &
! \min\left\{H_{i,j}+H_{i+1,j}\right\}, &
! \displaystyle
! \mbox{ for {\tt vel\_depth\_method}} =1, \\ \\
! \mbox{ for {\tt vel\_depth\_method}} =1, \\ \\
! \displaystyle
! \min\left\{H_{i,j}+H_{i+1,j}\right\}, &
! \min\left\{H_{i,j}+H_{i+1,j}\right\}, &
! \displaystyle
! \mbox{ for {\tt vel\_depth\_method}} =2 \mbox{ and } \min\{H_{i,j}i,H_{i+1,j}\}<D_{crit} \\ \\
! \mbox{ for {\tt vel\_depth\_method}} =2 \mbox{ and } \min\{H_{i,j}i,H_{i+1,j}\}<D_{crit} \\ \\
! \displaystyle
! \frac12 \left(H_{i,j}+H_{i+1,j}\right), &
! \frac12 \left(H_{i,j}+H_{i+1,j}\right), &
! \displaystyle
! \mbox{ for {\tt vel\_depth\_method}} =2 \mbox{ and } \min\{H_{i,j},H_{i+1,j}\}\geq D_{crit} \\ \\
! \mbox{ for {\tt vel\_depth\_method}} =2 \mbox{ and } \min\{H_{i,j},H_{i+1,j}\}\geq D_{crit} \\ \\
! \end{array}
! \right.
! \end{equation}
......@@ -57,7 +57,7 @@
!
! !LOCAL VARIABLES:
integer :: i,j
REALTYPE :: d_crit=2.0
REALTYPE :: d_crit=2.0
!EOP
!-----------------------------------------------------------------------
!BOC
......
......@@ -16,14 +16,14 @@
! $U$- and the $V$-equation, respectively. The physical diffusion with the
! given eddy viscosity coefficient $A_h^M$ is based on velocity gradients,
! whereas an additional numerical damping of the barotropic mode is based
! on gradients of the transports with the damping coefficient $A_h^N$,
! see the example given as equations (\ref{smooth_example_1}) and
! on gradients of the transports with the damping coefficient $A_h^N$,
! see the example given as equations (\ref{smooth_example_1}) and
! (\ref{smooth_example_2}).
!
! First diffusion term in (\ref{UMOM}):
! \begin{equation}
! \left(mn\,\partial_{\cal X}\left(2A_h^MD\partial_{\cal X}\left(\frac{U}{D}\right)
! + A_h^N\partial_{\cal X}U\right)\right)_{i,j}\approx
! + A_h^N\partial_{\cal X}U\right)\right)_{i,j}\approx
! \frac{
! {\cal F}^{Dxx}_{i+1,j}-{\cal F}^{Dxx}_{i,j}
! }{\Delta x^u_{i,j}\Delta y^u_{i,j}}
......@@ -41,7 +41,7 @@
! Second diffusion term in (\ref{UMOM}):
! \begin{equation}
! \left(mn\,\partial_{\cal Y}\left(A_h^MD\left(\partial_{\cal Y}\left(\frac{U}{D}\right)+\partial_{\cal X}\left(\frac{V}{D}\right)\right)
! + A_h^N\partial_{\cal Y}U\right)\right)_{i,j}\approx
! + A_h^N\partial_{\cal Y}U\right)\right)_{i,j}\approx
! \frac{
! {\cal F}^{Dxy}_{i,j}-{\cal F}^{Dxy}_{i,j-1}
! }{\Delta x^x_{i,j}\Delta y^x_{i,j}}
......@@ -69,7 +69,7 @@
! First diffusion term in (\ref{VMOM}):
! \begin{equation}
! \left(mn\,\partial_{\cal X}\left(A_h^MD\left(\partial_{\cal Y}\left(\frac{U}{D}\right)+\partial_{\cal X}\left(\frac{V}{D}\right)\right)
! + A_h^N\partial_{\cal X}V\right)\right)_{i,j}\approx
! + A_h^N\partial_{\cal X}V\right)\right)_{i,j}\approx
! \frac{
! {\cal F}^{Dyx}_{i,j}-{\cal F}^{Dyx}_{i-1,j}
! }{\Delta x^x_{i,j}\Delta y^x_{i,j}}
......@@ -97,7 +97,7 @@
! Second diffusion term in (\ref{VMOM}):
! \begin{equation}
! \left(mn\,\partial_{\cal Y}\left(2A_h^MD\partial_{\cal Y}\left(\frac{V}{D}\right)
! + A_h^N\partial_{\cal Y}V\right)\right)_{i,j}\approx
! + A_h^N\partial_{\cal Y}V\right)\right)_{i,j}\approx
! \frac{
! {\cal F}^{Dyy}_{i,j+1}-{\cal F}^{Dyy}_{i,j}
! }{\Delta x^v_{i,j}\Delta y^v_{i,j}}
......@@ -121,18 +121,18 @@
! \displaystyle
! \partial_t \eta = - \partial_x U - \partial_y V \\ \\
! \displaystyle
! \partial_t U = -gD\partial_x\eta
! \partial_t U = -gD\partial_x\eta
! + A_h^N \left(\partial_{xx} U + \partial_{yy} U\right) \\ \\
! \displaystyle
! \partial_t V = -gD\partial_y\eta
! \partial_t V = -gD\partial_y\eta
! + A_h^N \left(\partial_{xx} V + \partial_{yy} V\right), \\ \\
! \end{array}
! \end{equation}
!
! which can be transformed into an equation for $\partial_t\eta$ by
! derivation of the $\eta$-equation with respect to $t$,
! derivation of the $\eta$-equation with respect to $t$,
! of the $U$-equation with respect to $x$
! and the $V$-equation with respect to $y$ and subsequent elimination of
! and the $V$-equation with respect to $y$ and subsequent elimination of
! $U$ and $V$:
!
! \begin{equation}\label{smooth_example_2}
......@@ -147,10 +147,10 @@
! free surface elevation oscillations in a momentum-conservative
! manner. Hydrodynamic models with implicit treatment of the barotropic mode
! do not need to apply this method due to the implicit damping of those models,
! see e.g.\ \cite{BACKHAUS85}. The implementation of this explicit damping
! see e.g.\ \cite{BACKHAUS85}. The implementation of this explicit damping
! described here has been suggested by Jean-Marie Beckers, Li\'ege
! (Belgium).
!
!
! When working with the option {\tt SLICE\_MODEL}, the calculation of
! all gradients in $y$-direction is suppressed.
!
......
......@@ -49,44 +49,44 @@
IMPLICIT NONE
!
! !DESCRIPTION:
! Allocates memory (unless {\tt STATIC} is set) for 2D related fields,
! by an include statement. Furthermore all public 2D variables are
! Allocates memory (unless {\tt STATIC} is set) for 2D related fields,
! by an include statement. Furthermore all public 2D variables are
! initialised to zero. Those are listed in table \ref{table_2d_variables}
! on page \pageref{table_2d_variables}.
!
! \begin{table}[h]
! \begin{center}
! \begin{tabular}{lll}
! {\tt z } & sea surface elevation in T-point & [m] \\
! {\tt zu } & sea surface elevation in U-point & [m]\\
! {\tt zv } & sea surface elevation in V-point & [m]\\
! {\tt U } & $x$ component of transport in U-point & [m$^2$s$^{-1}$] \\
! {\tt DU } & water depth in U-point & [m] \\
! {\tt fU } & Coriolis term for $V$-equation in V-point & [m$^2$s$^{-2}$] \\
! {\tt SlUx } & slow term for $U$-equation in U-point & [m$^2$s$^{-2}$] \\
! {\tt z } & sea surface elevation in T-point & [m] \\
! {\tt zu } & sea surface elevation in U-point & [m]\\
! {\tt zv } & sea surface elevation in V-point & [m]\\
! {\tt U } & $x$ component of transport in U-point & [m$^2$s$^{-1}$] \\
! {\tt DU } & water depth in U-point & [m] \\
! {\tt fU } & Coriolis term for $V$-equation in V-point & [m$^2$s$^{-2}$] \\
! {\tt SlUx } & slow term for $U$-equation in U-point & [m$^2$s$^{-2}$] \\
! {\tt Slru } &slow bottom friction for $U$-equation in U-point &
! [m$^2$s$^{-2}$]\\
! {\tt V } & $y$ component of transport in V-point & [m$^2$s$^{-1}$]\\
! {\tt DV } & water depth in V-point & [m] \\
! {\tt fV } & Coriolis term for $U$-equation in U-point & [m$^2$s$^{-2}$]\\
! {\tt SlVx } & slow term for $V$-equation in V-point & [m$^2$s$^{-2}$] \\
! [m$^2$s$^{-2}$]\\
! {\tt V } & $y$ component of transport in V-point & [m$^2$s$^{-1}$]\\
! {\tt DV } & water depth in V-point & [m] \\
! {\tt fV } & Coriolis term for $U$-equation in U-point & [m$^2$s$^{-2}$]\\
! {\tt SlVx } & slow term for $V$-equation in V-point & [m$^2$s$^{-2}$] \\
! {\tt Slrv } &slow bottom friction for $V$-equation in V-point &
! [m$^2$s$^{-2}$]\\
! {\tt Uint } & $x$-component of mean transport in U-point & [m$^2$s$^{-1}$]\\
! {\tt Vint } & $y$-component of mean transport in V-point & [m$^2$s$^{-1}$]\\
! {\tt UEx } & sum of explicit terms for for $U$-equation in U-point & [m$^2$s$^{-2}$]\\
! {\tt VEx } &sum of explicit terms for for $V$-equation in V-point & [m$^2$s$^{-2}$]\\
! {\tt ru } & bottom friction for $U$-equation in U-point & [m$^2$s$^{-2}$]\\
! {\tt rv } &bottom friction for $V$-equation in V-point & [m$^2$s$^{-2}$]\\
! {\tt res\_du } & residual depth in U-point & [m]\\
! [m$^2$s$^{-2}$]\\
! {\tt Uint } & $x$-component of mean transport in U-point & [m$^2$s$^{-1}$]\\
! {\tt Vint } & $y$-component of mean transport in V-point & [m$^2$s$^{-1}$]\\
! {\tt UEx } & sum of explicit terms for for $U$-equation in U-point & [m$^2$s$^{-2}$]\\
! {\tt VEx } &sum of explicit terms for for $V$-equation in V-point & [m$^2$s$^{-2}$]\\
! {\tt ru } & bottom friction for $U$-equation in U-point & [m$^2$s$^{-2}$]\\
! {\tt rv } &bottom friction for $V$-equation in V-point & [m$^2$s$^{-2}$]\\
! {\tt res\_du } & residual depth in U-point & [m]\\
! {\tt res\_u } & $x$-component of residual transport in U-point &
! [m$^2$s$^{-1}$]\\
! {\tt res\_dv } & residual depth in V-point & [m] \\
! [m$^2$s$^{-1}$]\\
! {\tt res\_dv } & residual depth in V-point & [m] \\
! {\tt res\_v } &$y$-component of residual transport in V-point &
! [m$^2$s$^{-1}$]\\
! {\tt surfdiv } &divergence of surface currents in T-point & [s$^{-1}$]\\
! [m$^2$s$^{-1}$]\\
! {\tt surfdiv } &divergence of surface currents in T-point & [s$^{-1}$]\\
! \end{tabular}
! \caption{Public 2D variables.}
! \caption{Public 2D variables.}
! \label{table_2d_variables}
! \end{center}
! \end{table}
......@@ -116,16 +116,16 @@
break_mask = 0
#endif
z = _ZERO_; zo =_ZERO_
zu = _ZERO_; zub=_ZERO_ ; zub0=_ZERO_
zv = _ZERO_; zvb=_ZERO_ ; zvb0=_ZERO_
D = _ZERO_;
U = _ZERO_; DU = _ZERO_; fU = _ZERO_; Uint = _ZERO_; UEx = _ZERO_
V = _ZERO_; DV = _ZERO_; fV = _ZERO_; Vint = _ZERO_; VEx = _ZERO_
z = _ZERO_; zo =_ZERO_
zu = _ZERO_; zub=_ZERO_ ; zub0=_ZERO_
zv = _ZERO_; zvb=_ZERO_ ; zvb0=_ZERO_
D = _ZERO_;
U = _ZERO_; DU = _ZERO_; fU = _ZERO_; Uint = _ZERO_; UEx = _ZERO_
V = _ZERO_; DV = _ZERO_; fV = _ZERO_; Vint = _ZERO_; VEx = _ZERO_
ru = _ZERO_; ruu=_ZERO_; Uinto=_ZERO_
rv = _ZERO_; rvv=_ZERO_; Vinto=_ZERO_
res_du = _ZERO_; res_u = _ZERO_
res_dv = _ZERO_; res_v = _ZERO_
......
......@@ -13,19 +13,19 @@
! convention as the other modules in 'getm'. The module is initialised
! by calling 'init\_advection\_3d()'. In the time-loop 'do\_advection\_3d' is
! called. 'do\_advection\_3d' is a wrapper routine which - dependent on the
! actual advection scheme chosen - makes calls to the appropriate
! actual advection scheme chosen - makes calls to the appropriate
! subroutines, which may be done as one-step or multiple-step schemes.
! The actual subroutines are coded in external FORTRAN files.
! New advection schemes are easily implemented - at least from a program
! point of view - since only this module needs to be changed.
! Additional work arrays can easily be added following the stencil given
! below. To add a new advection scheme three things must be done:
! below. To add a new advection scheme three things must be done:
!
! \begin{enumerate}