Ignore:
Timestamp:
2017-12-13T19:01:03+01:00 (3 years ago)
Author:
timgraham
Message:

Resolved conflicts in namelists

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/WAD/MY_DOCS/WAD_doc.tex

    r7610 r9024  
    33\begin{document} 
    44 
    5 \title{Draft description of NEMO wetting and drying scheme:     22 November 2016 } 
    6  
    7 \author{ Hedong Liu, Jason Holt, Andrew Coward  and Michael J. Bell  } 
     5\title{Draft description of NEMO wetting and drying scheme:     29 November 2017 } 
     6 
     7\author{ Enda O'Dea, Hedong Liu, Jason Holt, Andrew Coward  and Michael J. Bell  } 
    88 
    99%------------------------------------------------------------------------ 
     
    2828\label{DYN_wetdry} 
    2929 
    30 This is preliminary documentation for the wetting and drying code (WAD).  The emphasis is 
    31 on explaining the rationale for the code.  The approach used by the WAD is similar to that 
    32 developed for POM by \cite{Oey06} and that developed for ROMS by \cite{WarnerEtal13} but 
    33 the WAD uses schemes that have not been published. 
     30There are two main options for wetting and drying code (wd):  
     31(a) an iterative limiter (il) and (b) a directional limiter (dl).  
     32The directional limiter is based on the scheme developed by \cite{WarnerEtal13} for ROMS 
     33which was in turn based on ideas developed for POM by \cite{Oey06}. The iterative 
     34limiter is a new scheme.  The iterative limiter is activated by setting $\mathrm{ln\_wd\_il} = \mathrm{.true.}$ 
     35and $\mathrm{ln\_wd\_dl} = \mathrm{.false.}$. The directional limiter is activated 
     36by setting $\mathrm{ln\_wd\_dl} = \mathrm{.true.}$ and $\mathrm{ln\_wd\_il} = \mathrm{.false.}$. 
     37 
     38\namdisplay{nam_wad} 
    3439 
    3540The following terminology is used. The depth of the topography (positive downwards) 
    3641at each $(i,j)$ point is the quantity stored in array $\mathrm{ht\_wd}$ in the NEMO code. 
    37 The height of the free surface (positive upwards) will be denoted by $ \mathrm{ssh}$. Both 
    38 quantities are measured relative to a reference sea level at z$=$0m. Given the sign 
    39 conventions used, the water depth is the height of the free surface plus the depth of the 
     42The height of the free surface (positive upwards) is denoted by $ \mathrm{ssh}$. Given the sign 
     43conventions used, the water depth, $h$, is the height of the free surface plus the depth of the 
    4044topography (i.e. $\mathrm{ssh} + \mathrm{ht\_wd}$). 
    4145 
    42 \namdisplay{nam_wad} 
    43  
    44 WAD is activated by setting $\mathrm{ln\_wd} = \mathrm{.true.}$. Currently, this option 
    45 works with six test cases provided in the WAD\_TEST\_CASES configuration. These are all 
    46 pure sigma coordinate configurations which define their domain, surface forcing and 
    47 initial conditions via a set of 'usrdef' routines in MY\_SRC. Extending this option to 
    48 more realistic domains will require the derivation and provision of a suitable 
    49 $\mathrm{ht\_wd}$ field in addition to the normal information provided in the domcfg.nc 
    50 file. The six test cases are described in section \S\ref{WAD_test_cases}. 
    51  
    52 The WAD takes all points in the domain below a land elevation of $\mathrm{rn\_wdld}$ to be 
    53 covered by water. Points where the water depth is less than $\mathrm{rn\_wdmin1}$ are to 
    54 be interpreted as ``dry''. The WAD requires the topography specified with a model 
     46Both wd schemes take all points in the domain below a land elevation of $\mathrm{rn\_wdld}$ to be 
     47covered by water. They require the topography specified with a model 
    5548configuration to have negative depths at points where the land is higher than the 
    56 topography's reference sea-level. The vertical grid in NEMO is computed relative to an 
    57 initial state with zero sea surface height elevation. These reference metrics and depths 
    58 (i.e. the $\mathrm{e3t\_0, ht\_0}$ etc. arrays) are unaltered by WAD. 
    59 $\mathrm{rn\_wdmin1}$ is usually chosen to be of order $0.075$m but complex topographies 
    60 with steep slopes may require larger values. The scheme also makes use of a second 
    61 parameter, $\mathrm{rn\_wdmin2}$, which is intended to be much smaller than 
    62 $\mathrm{rn\_wdmin1}$, of order $10^{-6}$m or smaller {\it (Q: What is the purpose of 
    63 $\mathrm{rn\_wdmin2}$? Seems a non-zero value is required for the flux limiter iterations 
    64 to converge)}. 
    65  
    66 The WAD modifies the fluxes across the faces of cells that are either already ``dry'' 
    67 or may become dry within the next time-step using an iterative method.  The 
    68 first sub-section below describes this scheme. It also briefly describes the simpler ROMS 
    69 method that has not been implemented. 
    70  
    71 The following sub-section describes how the surface pressure gradients are modified by the 
    72 WAD. The next sub-section should describe how the WAD maintains consistency between the 
    73 points that are ``wet'' on the barotropic sub-steps and those that are wet on the longer 
    74 baroclinic time-step. This sub-section has not yet been written. The final sub-section 
    75 should describe the test cases that have been used to assess the performance of the WAD. 
     49topography's reference sea-level. The vertical grid in NEMO is normally computed relative to an 
     50initial state with zero sea surface height elevation.  
     51The user can choose to compute the vertical grid and heights in the model relative to  
     52a non-zero reference height for the free surface. This choice affects the calculation of the metrics and depths 
     53(i.e. the $\mathrm{e3t\_0, ht\_0}$ etc. arrays).  
     54 
     55Points where the water depth is less than $\mathrm{rn\_wdmin1}$ are interpreted as ``dry''.  
     56$\mathrm{rn\_wdmin1}$ is usually chosen to be of order $0.05$m but extreme topographies  
     57with very steep slopes require larger values for normal choices of time-step.  
     58 
     59Both versions of the code have been tested in six test cases provided in the WAD\_TEST\_CASES configuration 
     60and in ``realistic'' configurations covering parts of the north-west European shelf.  
     61All these configurations have used pure sigma coordinates. It is expected that 
     62the wetting and drying code will work in domains with more general s-coordinates provided 
     63the coordinates are pure sigma in the region where wetting and drying actually occurs.   
     64 
     65The next sub-section descrbies the directional limiter and the following sub-section the iterative limiter.  
     66The final sub-section covers some additional considerations that are relevant to both schemes.  
    7667 
    7768%----------------------------------------------------------------------------------------- 
    78 %   Flux limiters 
     69%   Iterative limiters 
    7970%----------------------------------------------------------------------------------------- 
    80 \subsection   [Flux limiters (\textit{wet\_dry})] 
    81          {Flux limiters (\mdl{wet\_dry})} 
    82 \label{DYN_wd_flux_limit} 
    83  
    84 The flux limiter for the barotropic flow devised by Hedong Liu can be understood as follows:  
     71\subsection   [Directional limiter (\textit{wet\_dry})] 
     72         {Directional limiter (\mdl{wet\_dry})} 
     73\label{DYN_wd_directional_limiter} 
     74 
     75The principal idea of the directional limiter is that  
     76water should not be allowed to flow out of a dry tracer cell (i.e. one whose water depth is less than rn\_wdmin1). 
     77 
     78All the changes associated with this option are made to the barotropic solver for the non-linear  
     79free surface code within dynspg\_ts.  
     80On each barotropic sub-step the scheme determines the direction of the flow across each face of all the tracer cells 
     81and sets the flux across the face to zero when the flux is from a dry tracer cell. This prevents cells 
     82whose depth is rn\_wdmin1 or less from drying out further. The scheme does not force $h$ (the water depth) at tracer cells 
     83to be at least the minimum depth and hence is able to conserve mass / volume.  
     84 
     85The flux across each $u$-face of a tracer cell is multiplied by a factor zuwdmask (an array which depends on ji and jj).  
     86If the user sets ln\_wd\_dl\_ramp = .False. then zuwdmask is 1 when the 
     87flux is from a cell with water depth greater than rn\_wdmin1 and 0 otherwise. If the user sets 
     88ln\_wd\_dl\_ramp = .True. the flux across the face is ramped down as the water depth decreases 
     89from 2 * rn\_wdmin1 to rn\_wdmin1. The use of this ramp reduced grid-scale noise in idealised test cases.  
     90 
     91At the point where the flux across a $u$-face is multiplied by zuwdmask , we have chosen 
     92also to multiply the corresponding velocity on the ``now'' step at that face by zuwdmask. We could have 
     93chosen not to do that and to allow fairly large velocities to occur in these ``dry'' cells.  
     94The rationale for setting the velocity to zero is that it is the momentum equations that are being solved 
     95and the total momentum of the upstream cell (treating it as a finite volume) should be considered 
     96to be its depth times its velocity. This depth is considered to be zero at ``dry'' $u$-points consistent with its  
     97treatment in the calculation of the flux of mass across the cell face.          
     98 
     99\cite{WarnerEtal13} state that in their scheme the velocity masks at the cell faces for the baroclinic  
     100timesteps are set to 0 or 1 depending on whether the average of the masks over the barotropic sub-steps is respectively less than  
     101or greater than 0.5. That scheme does not conserve tracers in integrations started from constant tracer 
     102fields (tracers independent of $x$, $y$ and $z$). Our scheme conserves constant tracers because 
     103the velocities used at the tracer cell faces on the baroclinic timesteps are carefully calculated by dynspg\_ts 
     104to equal their mean value during the barotropic steps. If the user sets ln\_wd\_dl\_bc = .True., the 
     105baroclinic velocities are also multiplied by a suitably weighted average of zuwdmask.       
     106      
     107%----------------------------------------------------------------------------------------- 
     108%   Iterative limiters 
     109%----------------------------------------------------------------------------------------- 
     110\subsection   [Iterative limiter (\textit{wet\_dry})] 
     111         {Iterative limiter (\mdl{wet\_dry})} 
     112\label{DYN_wd_iterative_limiter} 
     113 
     114\subsubsection [Iterative flux limiter (\textit{wet\_dry})] 
     115         {Iterative flux limiter (\mdl{wet\_dry})} 
     116\label{DYN_wd_il_spg_limiter} 
     117 
     118The iterative limiter modifies the fluxes across the faces of cells that are either already ``dry'' 
     119or may become dry within the next time-step using an iterative method.  
     120 
     121The flux limiter for the barotropic flow (devised by Hedong Liu) can be understood as follows:  
    85122 
    86123The continuity equation for the total water depth in a column  
     
    173210the calculation for the $(i+1,j)$th cell. In this sense the updates to the fluxes across 
    174211the faces of the cells do not ``compete'' (they do not over-write each other) and one 
    175 would expect the scheme to converge relatively quickly. The scheme is also flux based so 
    176 conserves mass. 
    177  
    178 The ROMS scheme to prevent drying out of a cell is somewhat simpler. It specifies that if 
    179 a tracer cell is dry (the water depth is less than $\mathrm{rn\_wdmin1}$) on the backward 
    180 timestep, $t_e$, then any outward flux through its cell faces should be set to zero. This 
    181 scheme has a clear physical rationale. This scheme is equivalent to setting 
    182 $\mathrm{zcoef}^{(m+1)}_{i,j}$ to $0.0$ whenever a cell is at risk of drying.  One 
    183 objection to the ROMS scheme is that it introduces a spurious step function in the flux 
    184 out of a cell as the water depth in the cell passes through the ``critical'' value 
    185 $\mathrm{rn\_wdmin1}$. 
     212would expect the scheme to converge relatively quickly. The scheme is flux based so 
     213conserves mass. It also conserves constant tracers for the same reason that the  
     214directional limiter does.   
     215 
    186216 
    187217%---------------------------------------------------------------------------------------- 
    188218%      Surface pressure gradients 
    189219%---------------------------------------------------------------------------------------- 
    190 \subsection   [Modification of surface pressure gradients (\textit{dynhpg})] 
     220\subsubsection   [Modification of surface pressure gradients (\textit{dynhpg})] 
    191221         {Modification of surface pressure gradients (\mdl{dynhpg})} 
    192 \label{DYN_wd_spg} 
     222\label{DYN_wd_il_spg} 
    193223 
    194224At ``dry'' points the water depth is usually close to $\mathrm{rn\_wdmin1}$. If the 
     
    253283conditions. 
    254284 
     285\subsection   [Additional considerations (\textit{usrdef\_zgr})] 
     286         {Additional considerations (\mdl{usrdef\_zgr})} 
     287\label{WAD_additional} 
     288 
     289In the very shallow water where wetting and drying occurs the parametrisation of  
     290bottom drag is clearly very important. In order to promote stability   
     291it is sometimes useful to calculate the bottom drag using an implicit time-stepping approach.   
     292 
     293Suitable specifcation of the surface heat flux in wetting and drying domains in forced and  
     294coupled simulations needs further consideration. In order to prevent freezing or boiling 
     295in uncoupled integrations the net surface heat fluxes need to be appropriately limited.   
     296  
    255297%---------------------------------------------------------------------------------------- 
    256298%      The WAD test cases 
Note: See TracChangeset for help on using the changeset viewer.