- Timestamp:
- 2012-10-17T12:54:32+02:00 (12 years ago)
- Location:
- branches/2012/dev_r3435_UKMO7_SCOORDS
- Files:
-
- 1 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3435_UKMO7_SCOORDS/DOC/TexFiles/Biblio/Biblio.bib
r3294 r3507 2524 2524 } 2525 2525 2526 @ARTICLE{Siddorn_Furner_OM12, 2527 author = {J. Siddorn and R. Furner}, 2528 title = {An analytical stretching function that combines the best attributes of geopotential and terrain-following vertical coordinates}, 2529 journal = OM, 2530 year = {2012}, 2531 pages = {submitted}, 2532 } 2526 2533 @ARTICLE{Simmons_al_OM04, 2527 2534 author = {H. L. Simmons and S. R. Jayne and L. C. {St. Laurent} and A. J. Weaver}, -
branches/2012/dev_r3435_UKMO7_SCOORDS/DOC/TexFiles/Chapters/Chap_DOM.tex
r3294 r3507 502 502 time-variation of the free surface so that the transformation is time dependent: 503 503 $z(i,j,k,t)$ (Fig.~\ref{Fig_z_zps_s_sps}f). This option can be used with full step 504 bathymetry or $s$-coordinate (hybrid eand partial step coordinates have not504 bathymetry or $s$-coordinate (hybrid and partial step coordinates have not 505 505 yet been tested in NEMO v2.3). 506 506 … … 743 743 levels are defined from the product of a depth field and either a stretching 744 744 function or its derivative, respectively: 745 745 746 \begin{equation} \label{DOM_sco_ana} 746 747 \begin{split} … … 749 750 \end{split} 750 751 \end{equation} 752 751 753 where $h$ is the depth of the last $w$-level ($z_0(k)$) defined at the $t$-point 752 754 location in the horizontal and $z_0(k)$ is a function which varies from $0$ at the sea 753 755 surface to $1$ at the ocean bottom. The depth field $h$ is not necessary the ocean 754 756 depth, since a mixed step-like and bottom-following representation of the 755 topography can be used (Fig.~\ref{Fig_z_zps_s_sps}d-e). In the example provided 756 (\rou{zgr\_sco} routine, see \mdl{domzgr}) $h$ is a smooth envelope bathymetry 757 and steps are used to represent sharp bathymetric gradients. 758 759 A new flexible stretching function, modified from \citet{Song_Haidvogel_JCP94} is provided as an example: 757 topography can be used (Fig.~\ref{Fig_z_zps_s_sps}d-e) or an envelop bathymetry can be defined (Fig.~\ref{Fig_z_zps_s_sps}f). 758 The namelist parameter \np{rn\_rmax} determines the slope at which the terrain-following coordinate intersects the sea bed and becomes a pseudo z-coordinate. The coordinate can also be hybridised by specifying \np{rn\_sbot\_min} and \np{rn\_sbot\_max} as the minimum and maximum depths at which the terrain-following vertical coordinate is calculated. 759 760 Options for stretching the coordinate are provided as examples, but care must be taken to ensure that the vertical stretch used is appropriate for the application. 761 A stretching function, modified from the commonly used \citet{Song_Haidvogel_JCP94} stretching (\np{ln\_sco\_SH94}~=~true), is provided as an example: 762 760 763 \begin{equation} \label{DOM_sco_function} 761 764 \begin{split} 762 z &= h_c +( h-h_c)\;c s )\\765 z &= h_c +( h-h_c)\;c s \\ 763 766 c(s) &= \frac{ \left[ \tanh{ \left( \theta \, (s+b) \right)} 764 767 - \tanh{ \left( \theta \, b \right)} \right]} … … 766 769 \end{split} 767 770 \end{equation} 768 where $h_c$ is the thermocline depth and $\theta$ and $b$ are the surface and 771 772 773 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 774 \begin{figure}[!ht] \begin{center} 775 \includegraphics[width=1.0\textwidth]{./TexFiles/Figures/Fig_sco_function.pdf} 776 \caption{ \label{Fig_sco_function} 777 Examples of the stretching function applied to a seamount; from left to right: 778 surface, surface and bottom, and bottom intensified resolutions} 779 \end{center} \end{figure} 780 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 781 782 where $h_c$ is the critical depth (\np{rn\_hc}) total depth at which the coordinate transitions from pure $\sigma$ to the stretched coordinate, and $\theta$ (\np{rn\_theta}) and $b$ (\np{rn\_bb}) are the surface and 769 783 bottom control parameters such that $0\leqslant \theta \leqslant 20$, and 770 784 $0\leqslant b\leqslant 1$. $b$ has been designed to allow surface and/or bottom 771 785 increase of the vertical resolution (Fig.~\ref{Fig_sco_function}). 772 786 773 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 774 \begin{figure}[!tb] \begin{center} 775 \includegraphics[width=1.0\textwidth]{./TexFiles/Figures/Fig_sco_function.pdf} 776 \caption{ \label{Fig_sco_function} 777 Examples of the stretching function applied to a sea mont; from left to right: 778 surface, surface and bottom, and bottom intensified resolutions} 779 \end{center} \end{figure} 780 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 787 Another example has been provided at version 3.5 (\np{ln\_sco\_SF12}) that allows a fixed surface resolution in an analytical terrain-following stretching \citet{Siddorn_Furner_OM12}. In this case the a stretching function $\gamma$ is defined such that: 788 789 \begin{equation} 790 z = \gamma\left(h+\zeta\right) \quad \text{ with } \quad 0 \leq \gamma \leq 1 791 \label{eq:z} 792 \end{equation} 793 794 The function is defined with respect to $\sigma$, the unstretched terrain-following coordinate: 795 796 \begin{equation} \label{DOM_gamma_deriv} 797 \gamma= A\left(\sigma-\frac{1}{2}\left(\sigma^{2}+f\left(\sigma\right)\right)\right)+B\left(\sigma^{3}-f\left(\sigma\right)\right)+f\left(\sigma\right) 798 \end{equation} 799 800 Where: 801 \begin{equation} \label{DOM_gamma} 802 f\left(\sigma\right)=\left(\alpha+2\right)\sigma^{\alpha+1}-\left(\alpha+1\right)\sigma^{\alpha+2} 803 \end{equation} 804 805 This gives an analytical stretching of $\sigma$ that is solvable in $A$ and $B$ as a function of the user prescribed stretching parameter $\alpha$ (\np{rn\_alpha}) that stretches towards the surface ($\alpha > 1.0$) or the bottom ($\alpha < 1.0$) and user prescribed surface (\np{rn\_zs}) and bottom depths. The bottom cell depth in this example is given as a function of water depth: 806 807 \begin{equation} \label{DOM_zb} 808 Z_b= h a + b 809 \end{equation} 810 811 where the namelist parameters \np{rn\_zb\_a} and \np{rn\_zb\_b} are $a$ and $b$ respectively. 812 813 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 814 \begin{figure}[!ht] 815 \includegraphics[width=1.0\textwidth]{./TexFiles/Figures/FIG_DOM_compare_coordinates_surface.pdf} 816 \caption{A comparison of the \citet{Song_Haidvogel_JCP94} $S$-coordinate (solid lines), a 50 level $Z$-coordinate (contoured surfaces) and the \citet{Siddorn_Furner_OM12} $S$-coordinate (dashed lines) in the surface 100m for a idealised bathymetry that goes from 50m to 5500m depth. For clarity every third coordinate surface is shown.} 817 \label{fig_compare_coordinates_surface} 818 \end{figure} 819 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 820 821 This gives a smooth analytical stretching in computational space that is constrained to given specified surface and bottom grid cell depths in real space. This is not to be confused with the hybrid schemes that superimpose geopotential coordinates on terrain following coordinates thus creating a non-analytical vertical coordinate that therefore may suffer from large gradients in the vertical resolutions. This stretching is less straightforward to implement than the \citet{Song_Haidvogel_JCP94} stretching, but has the advantage of resolving diurnal processes in deep water and has generally flatter slopes. 822 823 As with the \citet{Song_Haidvogel_JCP94} stretching the stretch is only applied at depths greater than the critical depth $h_c$. In this example two options are available in depths shallower than $h_c$, with pure sigma being applied if the \np{ln\_sigcrit} is true and pure z-coordinates if it is false (the z-coordinate being equal to the depths of the stretched coordinate at $h_c$. 824 825 Minimising the horizontal slope of the vertical coordinate is important in terrain-following systems as large slopes lead to hydrostatic consistency. A hydrostatic consistency parameter diagnostic following \citet{Haney1991} has been implemented, and is output as part of the model mesh file at the start of the run. 781 826 782 827 % ------------------------------------------------------------------------------------------------------------- -
branches/2012/dev_r3435_UKMO7_SCOORDS/DOC/TexFiles/Namelist/namzgr_sco
r3294 r3507 2 2 &namzgr_sco ! s-coordinate or hybrid z-s-coordinate 3 3 !----------------------------------------------------------------------- 4 rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) 5 rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 6 rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) 7 rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) 8 rn_rmax = 0.15 ! maximum cut-off r-value allowed (0<rn_max<1) 9 ln_s_sigma = .false. ! hybrid s-sigma coordinates 10 rn_bb = 0.8 ! stretching with s-sigma 11 rn_hc = 150.0 ! critical depth with s-sigma 4 ln_s_sh94 = .true. ! Song & Haidvogel 1994 hybrid S-sigma (T)| 5 ln_s_sf12 = .false. ! Siddorn & Furner 2012 hybrid S-z-sigma (T)| if both are false the NEMO tanh stretching is applied 6 ln_sigcrit = .false. ! use sigma coordinates below critical depth (T) or Z coordinates (F) for Siddorn & Furner stretch 7 ! stretching coefficients for all functions 8 rn_sbot_min = 10.0 ! minimum depth of s-bottom surface (>0) (m) 9 rn_sbot_max = 7000.0 ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 10 rn_hc = 150.0 ! critical depth for transition to stretched coordinates 11 !!!!!!! Envelop bathymetry 12 rn_rmax = 0.3 ! maximum cut-off r-value allowed (0<r_max<1) 13 !!!!!!! SH94 stretching coefficients (ln_s_sh94 = .true.) 14 rn_theta = 6.0 ! surface control parameter (0<=theta<=20) 15 rn_bb = 0.8 ! stretching with SH94 s-sigma 16 !!!!!!! SF12 stretching coefficient (ln_s_sf12 = .true.) 17 rn_alpha = 4.4 ! stretching with SF12 s-sigma 18 rn_efold = 0.0 ! efold length scale for transition to stretched coord 19 rn_zs = 1.0 ! depth of surface grid box 20 ! bottom cell depth (Zb) is a linear function of water depth Zb = H*a + b 21 rn_zb_a = 0.024 ! bathymetry scaling factor for calculating Zb 22 rn_zb_b = -0.2 ! offset for calculating Zb 23 !!!!!!!! Other stretching (not SH94 or SF12) [also uses rn_theta above] 24 rn_thetb = 1.0 ! bottom control parameter (0<=thetb<= 1) 12 25 / -
branches/2012/dev_r3435_UKMO7_SCOORDS/NEMOGCM/CONFIG/AMM12/EXP00/namelist
r3453 r3507 27 27 cn_exp = "AMM12" ! experience name 28 28 nn_it000 = 1 ! first time step 29 nn_itend = 576 ! last time step (std 1 day = 576)29 nn_itend = 2880 ! last time step (std 1 day = 288) 30 30 nn_date0 = 20070101 ! date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1) 31 31 nn_leapy = 1 ! Leap year calendar (1) or not (0) 32 ln_rstart = . false. ! start from rest (F) or from a restart file (T)32 ln_rstart = .true. ! start from rest (F) or from a restart file (T) 33 33 nn_rstctl = 0 ! restart control => activated only if ln_rstart = T 34 34 ! = 0 nn_date0 read in namelist ; nn_it000 : read in namelist … … 37 37 cn_ocerst_in = "restart" ! suffix of ocean restart name (input) 38 38 cn_ocerst_out = "restart" ! suffix of ocean restart name (output) 39 nn_istate = 0! output the initial state (1) or not (0)40 nn_stock = 576! frequency of creation of a restart file (modulo referenced to 1)41 nn_write = 12 ! frequency of write in the output file (modulo referenced to nit000)39 nn_istate = 1 ! output the initial state (1) or not (0) 40 nn_stock = 2880 ! frequency of creation of a restart file (modulo referenced to 1) 41 nn_write = 144 ! frequency of write in the output file (modulo referenced to nit000) 42 42 ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) 43 43 ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) … … 65 65 &namzgr_sco ! s-coordinate or hybrid z-s-coordinate 66 66 !----------------------------------------------------------------------- 67 ln_s_sh94 = .false. ! Song & Haidvogel 1994 hybrid S-sigma (T)| 68 ln_s_sf12 = .true. ! Siddorn & Furner 2012 hybrid S-z-sigma (T)| if both are false the NEMO tanh stretching is applied 69 ln_sigcrit = .true. ! use sigma coordinates below critical depth (T) or Z coordinates (F) for Siddorn & Furner stretch 67 ln_s_sh94 = .true. ! Song & Haidvogel 1994 hybrid S-sigma (T)| 68 ln_s_sf12 = .false. ! Siddorn & Furner 2012 hybrid S-z-sigma (T)| if both are false the NEMO tanh stretching is applied 69 ln_sigcrit = .false. ! use sigma coordinates below critical depth (T) or Z coordinates (F) for Siddorn & Furner stretch 70 ! stretching coefficients for all functions 70 71 rn_sbot_min = 10.0 ! minimum depth of s-bottom surface (>0) (m) 71 72 rn_sbot_max = 7000.0 ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 72 rn_hc = 50.0 ! critical depth for transition to stretched coordinates 73 rn_hc = 150.0 ! critical depth for transition to stretched coordinates 74 !!!!!!! Envelop bathymetry 73 75 rn_rmax = 0.3 ! maximum cut-off r-value allowed (0<r_max<1) 74 ! SH94 stretching coefficients76 !!!!!!! SH94 stretching coefficients (ln_s_sh94 = .true.) 75 77 rn_theta = 6.0 ! surface control parameter (0<=theta<=20) 76 rn_thetb = 1.0 ! bottom control parameter (0<=thetb<= 1) 77 rn_bb = 0.8 ! stretching with SH94 s-sigma 78 ! SF12 stretching coefficient 79 rn_alpha = 4.4 ! stretching with SH94 s-sigma 78 rn_bb = 0.8 ! stretching with SH94 s-sigma 79 !!!!!!! SF12 stretching coefficient (ln_s_sf12 = .true.) 80 rn_alpha = 4.4 ! stretching with SF12 s-sigma 80 81 rn_efold = 0.0 ! efold length scale for transition to stretched coord 81 82 rn_zs = 1.0 ! depth of surface grid box … … 83 84 rn_zb_a = 0.024 ! bathymetry scaling factor for calculating Zb 84 85 rn_zb_b = -0.2 ! offset for calculating Zb 86 !!!!!!!! Other stretching (not SH94 or SF12) [also uses rn_theta above] 87 rn_thetb = 1.0 ! bottom control parameter (0<=thetb<= 1) 85 88 / 86 89 !----------------------------------------------------------------------- … … 94 97 rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0<rn_e3zps_rat<1 95 98 ! 96 rn_rdt = 150. ! time step for the dynamics (and tracer if nn_acc=0)99 rn_rdt = 300. ! time step for the dynamics (and tracer if nn_acc=0) 97 100 nn_baro = 30 ! number of barotropic time step ("key_dynspg_ts") 98 101 rn_atfp = 0.1 ! asselin time filter parameter … … 404 407 cn_mask_file = '' ! name of mask file (if ln_mask_file=.TRUE.) 405 408 nn_dyn2d = 2 ! boundary conditions for barotropic fields 406 nn_dyn2d_dta = 2! = 0, bdy data are equal to the initial state409 nn_dyn2d_dta = 3 ! = 0, bdy data are equal to the initial state 407 410 ! = 1, bdy data are read in 'bdydata .nc' files 408 411 ! = 2, use tidal harmonic forcing data from files … … 412 415 ! = 1, bdy data are read in 'bdydata .nc' files 413 416 nn_tra = 1 ! boundary conditions for T and S 414 nn_tra_dta = 0! = 0, bdy data are equal to the initial state417 nn_tra_dta = 1 ! = 0, bdy data are equal to the initial state 415 418 ! = 1, bdy data are read in 'bdydata .nc' files 416 419 nn_rimwidth = 10 ! width of the relaxation zone … … 429 432 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 430 433 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 431 bn_ tem= 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , ''434 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 432 435 cn_dir = 'bdydta/' 433 436 ln_full_vel = .false. … … 606 609 ln_hpg_zco = .false. ! z-coordinate - full steps 607 610 ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) 608 ln_hpg_sco = . true. ! s-coordinate (standard jacobian formulation)611 ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) 609 612 ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) 610 ln_hpg_prj = . false. ! s-coordinate (Pressure Jacobian scheme)613 ln_hpg_prj = .true. ! s-coordinate (Pressure Jacobian scheme) 611 614 ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) 612 615 ! centered time scheme (F) -
branches/2012/dev_r3435_UKMO7_SCOORDS/NEMOGCM/CONFIG/AMM12_PISCES/EXP00/namelist
r3309 r3507 27 27 cn_exp = "AMM12" ! experience name 28 28 nn_it000 = 1 ! first time step 29 nn_itend = 576 ! last time step (std 1 day = 576)29 nn_itend = 2880 ! last time step (std 1 day = 288) 30 30 nn_date0 = 20070101 ! date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1) 31 31 nn_leapy = 1 ! Leap year calendar (1) or not (0) 32 ln_rstart = . false. ! start from rest (F) or from a restart file (T)32 ln_rstart = .true. ! start from rest (F) or from a restart file (T) 33 33 nn_rstctl = 0 ! restart control => activated only if ln_rstart = T 34 34 ! = 0 nn_date0 read in namelist ; nn_it000 : read in namelist … … 37 37 cn_ocerst_in = "restart" ! suffix of ocean restart name (input) 38 38 cn_ocerst_out = "restart" ! suffix of ocean restart name (output) 39 nn_istate = 0! output the initial state (1) or not (0)40 nn_stock = 576! frequency of creation of a restart file (modulo referenced to 1)41 nn_write = 12 ! frequency of write in the output file (modulo referenced to nit000)39 nn_istate = 1 ! output the initial state (1) or not (0) 40 nn_stock = 2880 ! frequency of creation of a restart file (modulo referenced to 1) 41 nn_write = 144 ! frequency of write in the output file (modulo referenced to nit000) 42 42 ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) 43 43 ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) … … 65 65 &namzgr_sco ! s-coordinate or hybrid z-s-coordinate 66 66 !----------------------------------------------------------------------- 67 rn_sbot_min = 10. ! minimum depth of s-bottom surface (>0) (m) 68 rn_sbot_max = 7000. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 67 ln_s_sh94 = .true. ! Song & Haidvogel 1994 hybrid S-sigma (T)| 68 ln_s_sf12 = .false. ! Siddorn & Furner 2012 hybrid S-z-sigma (T)| if both are false the NEMO tanh stretching is applied 69 ln_sigcrit = .false. ! use sigma coordinates below critical depth (T) or Z coordinates (F) for Siddorn & Furner stretch 70 ! stretching coefficients for all functions 71 rn_sbot_min = 10.0 ! minimum depth of s-bottom surface (>0) (m) 72 rn_sbot_max = 7000.0 ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 73 rn_hc = 150.0 ! critical depth for transition to stretched coordinates 74 !!!!!!! Envelop bathymetry 75 rn_rmax = 0.3 ! maximum cut-off r-value allowed (0<r_max<1) 76 !!!!!!! SH94 stretching coefficients (ln_s_sh94 = .true.) 69 77 rn_theta = 6.0 ! surface control parameter (0<=theta<=20) 70 rn_thetb = 1.00 ! bottom control parameter (0<=thetb<= 1) 71 rn_rmax = 0.30 ! maximum cut-off r-value allowed (0<r_max<1) 72 ln_s_sigma = .true. ! hybrid s-sigma coordinates 73 rn_bb = 0.8 ! stretching with s-sigma 74 rn_hc = 150.0 ! critical depth with s-sigma 75 / 78 rn_bb = 0.8 ! stretching with SH94 s-sigma 79 !!!!!!! SF12 stretching coefficient (ln_s_sf12 = .true.) 80 rn_alpha = 4.4 ! stretching with SF12 s-sigma 81 rn_efold = 0.0 ! efold length scale for transition to stretched coord 82 rn_zs = 1.0 ! depth of surface grid box 83 ! bottom cell depth (Zb) is a linear function of water depth Zb = H*a + b 84 rn_zb_a = 0.024 ! bathymetry scaling factor for calculating Zb 85 rn_zb_b = -0.2 ! offset for calculating Zb 86 !!!!!!!! Other stretching (not SH94 or SF12) [also uses rn_theta above] 87 rn_thetb = 1.0 ! bottom control parameter (0<=thetb<= 1) 88 / 89 76 90 !----------------------------------------------------------------------- 77 91 &namdom ! space and time domain (bathymetry, mesh, timestep) … … 79 93 nn_bathy = 1 ! compute (=0) or read (=1) the bathymetry file 80 94 nn_closea = 0 ! remove (=0) or keep (=1) closed seas and lakes (ORCA) 81 nn_msh = 0! create (=1) a mesh file or not (=0)95 nn_msh = 1 ! create (=1) a mesh file or not (=0) 82 96 rn_hmin = -3. ! min depth of the ocean (>0) or min number of ocean level (<0) 83 97 rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of 84 98 rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0<rn_e3zps_rat<1 85 99 ! 86 rn_rdt = 150. ! time step for the dynamics (and tracer if nn_acc=0)100 rn_rdt = 300. ! time step for the dynamics (and tracer if nn_acc=0) 87 101 nn_baro = 30 ! number of barotropic time step ("key_dynspg_ts") 88 102 rn_atfp = 0.1 ! asselin time filter parameter … … 102 116 ! 103 117 cn_dir = './' ! root directory for the location of the runoff files 104 ln_tsd_init = .false. ! Initialisation of ocean T & S with T &S input data (T) or not (F)105 ln_tsd_tradmp = .false. ! damping of ocean T & S toward T &S input data (T) or not (F)118 ln_tsd_init = .false. ! Initialisation of ocean T & S with T &S input data (T) or not (F) 119 ln_tsd_tradmp = .false. ! damping of ocean T & S toward T &S input data (T) or not (F) 106 120 / 107 121 !!====================================================================== … … 302 316 ! or to SSS only (=1) or no damping term (=0) 303 317 rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] 304 rn_deds = - 166.67! magnitude of the damping on salinity [mm/day]318 rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] 305 319 ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) 306 320 rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] … … 596 610 ln_hpg_zco = .false. ! z-coordinate - full steps 597 611 ln_hpg_zps = .false. ! z-coordinate - partial steps (interpolation) 598 ln_hpg_sco = . true. ! s-coordinate (standard jacobian formulation)612 ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) 599 613 ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) 600 ln_hpg_prj = . false. ! s-coordinate (Pressure Jacobian scheme)614 ln_hpg_prj = .true. ! s-coordinate (Pressure Jacobian scheme) 601 615 ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) 602 616 ! centered time scheme (F) … … 875 889 ! 0 < n : debug section number n 876 890 / 877 878 891 !!====================================================================== 879 892 !! *** Observation & Assimilation namelists *** -
branches/2012/dev_r3435_UKMO7_SCOORDS/NEMOGCM/CONFIG/GYRE/EXP00/namelist
r3306 r3507 65 65 &namzgr_sco ! s-coordinate or hybrid z-s-coordinate 66 66 !----------------------------------------------------------------------- 67 rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) 68 rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 69 rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) 70 rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) 71 rn_rmax = 0.15 ! maximum cut-off r-value allowed (0<rn_max<1) 72 ln_s_sigma = .false. ! hybrid s-sigma coordinates 73 rn_bb = 0.8 ! stretching with s-sigma 74 rn_hc = 150.0 ! critical depth with s-sigma 67 ln_s_sh94 = .true. ! Song & Haidvogel 1994 hybrid S-sigma (T)| 68 ln_s_sf12 = .false. ! Siddorn & Furner 2012 hybrid S-z-sigma (T)| if both are false the NEMO tanh stretching is applied 69 ln_sigcrit = .false. ! use sigma coordinates below critical depth (T) or Z coordinates (F) for Siddorn & Furner stretch 70 ! stretching coefficients for all functions 71 rn_sbot_min = 10.0 ! minimum depth of s-bottom surface (>0) (m) 72 rn_sbot_max = 7000.0 ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 73 rn_hc = 150.0 ! critical depth for transition to stretched coordinates 74 !!!!!!! Envelop bathymetry 75 rn_rmax = 0.3 ! maximum cut-off r-value allowed (0<r_max<1) 76 !!!!!!! SH94 stretching coefficients (ln_s_sh94 = .true.) 77 rn_theta = 6.0 ! surface control parameter (0<=theta<=20) 78 rn_bb = 0.8 ! stretching with SH94 s-sigma 79 !!!!!!! SF12 stretching coefficient (ln_s_sf12 = .true.) 80 rn_alpha = 4.4 ! stretching with SF12 s-sigma 81 rn_efold = 0.0 ! efold length scale for transition to stretched coord 82 rn_zs = 1.0 ! depth of surface grid box 83 ! bottom cell depth (Zb) is a linear function of water depth Zb = H*a + b 84 rn_zb_a = 0.024 ! bathymetry scaling factor for calculating Zb 85 rn_zb_b = -0.2 ! offset for calculating Zb 86 !!!!!!!! Other stretching (not SH94 or SF12) [also uses rn_theta above] 87 rn_thetb = 1.0 ! bottom control parameter (0<=thetb<= 1) 75 88 / 76 89 !----------------------------------------------------------------------- -
branches/2012/dev_r3435_UKMO7_SCOORDS/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/1_namelist
r3306 r3507 66 66 &namzgr_sco ! s-coordinate or hybrid z-s-coordinate 67 67 !----------------------------------------------------------------------- 68 rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) 69 rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 70 rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) 71 rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) 72 rn_rmax = 0.15 ! maximum cut-off r-value allowed (0<rn_max<1) 73 ln_s_sigma = .false. ! hybrid s-sigma coordinates 74 rn_bb = 0.8 ! stretching with s-sigma 75 rn_hc = 150.0 ! critical depth with s-sigma 68 ln_s_sh94 = .true. ! Song & Haidvogel 1994 hybrid S-sigma (T)| 69 ln_s_sf12 = .false. ! Siddorn & Furner 2012 hybrid S-z-sigma (T)| if both are false the NEMO tanh stretching is applied 70 ln_sigcrit = .false. ! use sigma coordinates below critical depth (T) or Z coordinates (F) for Siddorn & Furner stretch 71 ! stretching coefficients for all functions 72 rn_sbot_min = 10.0 ! minimum depth of s-bottom surface (>0) (m) 73 rn_sbot_max = 7000.0 ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 74 rn_hc = 150.0 ! critical depth for transition to stretched coordinates 75 !!!!!!! Envelop bathymetry 76 rn_rmax = 0.3 ! maximum cut-off r-value allowed (0<r_max<1) 77 !!!!!!! SH94 stretching coefficients (ln_s_sh94 = .true.) 78 rn_theta = 6.0 ! surface control parameter (0<=theta<=20) 79 rn_bb = 0.8 ! stretching with SH94 s-sigma 80 !!!!!!! SF12 stretching coefficient (ln_s_sf12 = .true.) 81 rn_alpha = 4.4 ! stretching with SF12 s-sigma 82 rn_efold = 0.0 ! efold length scale for transition to stretched coord 83 rn_zs = 1.0 ! depth of surface grid box 84 ! bottom cell depth (Zb) is a linear function of water depth Zb = H*a + b 85 rn_zb_a = 0.024 ! bathymetry scaling factor for calculating Zb 86 rn_zb_b = -0.2 ! offset for calculating Zb 87 !!!!!!!! Other stretching (not SH94 or SF12) [also uses rn_theta above] 88 rn_thetb = 1.0 ! bottom control parameter (0<=thetb<= 1) 76 89 / 77 90 !----------------------------------------------------------------------- -
branches/2012/dev_r3435_UKMO7_SCOORDS/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist
r3306 r3507 65 65 &namzgr_sco ! s-coordinate or hybrid z-s-coordinate 66 66 !----------------------------------------------------------------------- 67 rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) 68 rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 69 rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) 70 rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) 71 rn_rmax = 0.15 ! maximum cut-off r-value allowed (0<rn_max<1) 72 ln_s_sigma = .false. ! hybrid s-sigma coordinates 73 rn_bb = 0.8 ! stretching with s-sigma 74 rn_hc = 150.0 ! critical depth with s-sigma 67 ln_s_sh94 = .true. ! Song & Haidvogel 1994 hybrid S-sigma (T)| 68 ln_s_sf12 = .false. ! Siddorn & Furner 2012 hybrid S-z-sigma (T)| if both are false the NEMO tanh stretching is applied 69 ln_sigcrit = .false. ! use sigma coordinates below critical depth (T) or Z coordinates (F) for Siddorn & Furner stretch 70 ! stretching coefficients for all functions 71 rn_sbot_min = 10.0 ! minimum depth of s-bottom surface (>0) (m) 72 rn_sbot_max = 7000.0 ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 73 rn_hc = 150.0 ! critical depth for transition to stretched coordinates 74 !!!!!!! Envelop bathymetry 75 rn_rmax = 0.3 ! maximum cut-off r-value allowed (0<r_max<1) 76 !!!!!!! SH94 stretching coefficients (ln_s_sh94 = .true.) 77 rn_theta = 6.0 ! surface control parameter (0<=theta<=20) 78 rn_bb = 0.8 ! stretching with SH94 s-sigma 79 !!!!!!! SF12 stretching coefficient (ln_s_sf12 = .true.) 80 rn_alpha = 4.4 ! stretching with SF12 s-sigma 81 rn_efold = 0.0 ! efold length scale for transition to stretched coord 82 rn_zs = 1.0 ! depth of surface grid box 83 ! bottom cell depth (Zb) is a linear function of water depth Zb = H*a + b 84 rn_zb_a = 0.024 ! bathymetry scaling factor for calculating Zb 85 rn_zb_b = -0.2 ! offset for calculating Zb 86 !!!!!!!! Other stretching (not SH94 or SF12) [also uses rn_theta above] 87 rn_thetb = 1.0 ! bottom control parameter (0<=thetb<= 1) 75 88 / 76 89 !----------------------------------------------------------------------- -
branches/2012/dev_r3435_UKMO7_SCOORDS/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist
r3306 r3507 65 65 &namzgr_sco ! s-coordinate or hybrid z-s-coordinate 66 66 !----------------------------------------------------------------------- 67 rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) 68 rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 69 rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) 70 rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) 71 rn_rmax = 0.15 ! maximum cut-off r-value allowed (0<rn_max<1) 72 ln_s_sigma = .false. ! hybrid s-sigma coordinates 73 rn_bb = 0.8 ! stretching with s-sigma 74 rn_hc = 150.0 ! critical depth with s-sigma 67 ln_s_sh94 = .true. ! Song & Haidvogel 1994 hybrid S-sigma (T)| 68 ln_s_sf12 = .false. ! Siddorn & Furner 2012 hybrid S-z-sigma (T)| if both are false the NEMO tanh stretching is applied 69 ln_sigcrit = .false. ! use sigma coordinates below critical depth (T) or Z coordinates (F) for Siddorn & Furner stretch 70 ! stretching coefficients for all functions 71 rn_sbot_min = 10.0 ! minimum depth of s-bottom surface (>0) (m) 72 rn_sbot_max = 7000.0 ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) 73 rn_hc = 150.0 ! critical depth for transition to stretched coordinates 74 !!!!!!! Envelop bathymetry 75 rn_rmax = 0.3 ! maximum cut-off r-value allowed (0<r_max<1) 76 !!!!!!! SH94 stretching coefficients (ln_s_sh94 = .true.) 77 rn_theta = 6.0 ! surface control parameter (0<=theta<=20) 78 rn_bb = 0.8 ! stretching with SH94 s-sigma 79 !!!!!!! SF12 stretching coefficient (ln_s_sf12 = .true.) 80 rn_alpha = 4.4 ! stretching with SF12 s-sigma 81 rn_efold = 0.0 ! efold length scale for transition to stretched coord 82 rn_zs = 1.0 ! depth of surface grid box 83 ! bottom cell depth (Zb) is a linear function of water depth Zb = H*a + b 84 rn_zb_a = 0.024 ! bathymetry scaling factor for calculating Zb 85 rn_zb_b = -0.2 ! offset for calculating Zb 86 !!!!!!!! Other stretching (not SH94 or SF12) [also uses rn_theta above] 87 rn_thetb = 1.0 ! bottom control parameter (0<=thetb<= 1) 75 88 / 76 89 !----------------------------------------------------------------------- -
branches/2012/dev_r3435_UKMO7_SCOORDS/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90
r3421 r3507 174 174 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hifv , hiff !: interface depth between stretching at V--F 175 175 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hift , hifu !: and quasi-uniform spacing T--U points (m) 176 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: rx1 !: Maximum grid stiffness ratio 176 177 177 178 !!---------------------------------------------------------------------- … … 294 295 & scosrf(jpi,jpj) , scobot(jpi,jpj) , & 295 296 & hifv (jpi,jpj) , hiff (jpi,jpj) , & 296 & hift (jpi,jpj) , hifu (jpi,jpj) , STAT=ierr(8) )297 & hift (jpi,jpj) , hifu (jpi,jpj) , rx1 (jpi,jpj) , STAT=ierr(8) ) 297 298 298 299 ALLOCATE( mbathy(jpi,jpj) , bathy(jpi,jpj) , & -
branches/2012/dev_r3435_UKMO7_SCOORDS/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90
r3421 r3507 36 36 USE dyncor_c1d ! Coriolis term (c1d case) (cor_c1d routine) 37 37 USE timing ! Timing 38 USE lbclnk ! ocean lateral boundary condition (or mpp link) 38 39 39 40 IMPLICIT NONE … … 84 85 CALL dom_zgr ! Vertical mesh and bathymetry 85 86 CALL dom_msk ! Masks 87 IF( ln_sco ) CALL dom_stiff ! Maximum stiffness ratio/hydrostatic consistency 86 88 IF( lk_vvl ) CALL dom_vvl ! Vertical variable mesh 87 89 ! … … 322 324 END SUBROUTINE dom_ctl 323 325 326 SUBROUTINE dom_stiff 327 !!---------------------------------------------------------------------- 328 !! *** ROUTINE dom_stiff *** 329 !! 330 !! ** Purpose : Diagnose maximum grid stiffness/hydrostatic consistency 331 !! 332 !! ** Method : Compute Haney (1991) hydrostatic condition ratio 333 !! Save the maximum in the vertical direction 334 !! (this number is only relevant in s-coordinates) 335 !! 336 !! Haney, R. L., 1991: On the pressure gradient force 337 !! over steep topography in sigma coordinate ocean models. 338 !! J. Phys. Oceanogr., 21, 610???619. 339 !!---------------------------------------------------------------------- 340 INTEGER :: ji, jj, jk 341 REAL(wp) :: zrxmax 342 REAL(wp), DIMENSION(4) :: zr1 343 !!---------------------------------------------------------------------- 344 rx1(:,:) = 0.e0 345 zrxmax = 0.e0 346 zr1(:) = 0.e0 347 348 DO ji = 2, jpim1 349 DO jj = 2, jpjm1 350 DO jk = 1, jpkm1 351 zr1(1) = umask(ji-1,jj ,jk) *abs( (gdepw(ji ,jj ,jk )-gdepw(ji-1,jj ,jk ) & 352 & +gdepw(ji ,jj ,jk+1)-gdepw(ji-1,jj ,jk+1)) & 353 & /(gdepw(ji ,jj ,jk )+gdepw(ji-1,jj ,jk ) & 354 & -gdepw(ji ,jj ,jk+1)-gdepw(ji-1,jj ,jk+1) + rsmall) ) 355 zr1(2) = umask(ji ,jj ,jk) *abs( (gdepw(ji+1,jj ,jk )-gdepw(ji ,jj ,jk ) & 356 & +gdepw(ji+1,jj ,jk+1)-gdepw(ji ,jj ,jk+1)) & 357 & /(gdepw(ji+1,jj ,jk )+gdepw(ji ,jj ,jk ) & 358 & -gdepw(ji+1,jj ,jk+1)-gdepw(ji ,jj ,jk+1) + rsmall) ) 359 zr1(3) = vmask(ji ,jj ,jk) *abs( (gdepw(ji ,jj+1,jk )-gdepw(ji ,jj ,jk ) & 360 & +gdepw(ji ,jj+1,jk+1)-gdepw(ji ,jj ,jk+1)) & 361 & /(gdepw(ji ,jj+1,jk )+gdepw(ji ,jj ,jk ) & 362 & -gdepw(ji ,jj+1,jk+1)-gdepw(ji ,jj ,jk+1) + rsmall) ) 363 zr1(4) = vmask(ji ,jj-1,jk) *abs( (gdepw(ji ,jj ,jk )-gdepw(ji ,jj-1,jk ) & 364 & +gdepw(ji ,jj ,jk+1)-gdepw(ji ,jj-1,jk+1)) & 365 & /(gdepw(ji ,jj ,jk )+gdepw(ji ,jj-1,jk ) & 366 & -gdepw(ji, jj ,jk+1)-gdepw(ji ,jj-1,jk+1) + rsmall) ) 367 zrxmax = MAXVAL(zr1(1:4)) 368 rx1(ji,jj) = MAX(rx1(ji,jj), zrxmax) 369 END DO 370 END DO 371 END DO 372 373 CALL lbc_lnk( rx1, 'T', 1. ) 374 375 zrxmax = MAXVAL(rx1) 376 377 IF( lk_mpp ) CALL mpp_max( zrxmax ) ! max over the global domain 378 379 IF(lwp) THEN 380 WRITE(numout,*) 381 WRITE(numout,*) 'dom_stiff : maximum grid stiffness ratio: ', zrxmax 382 WRITE(numout,*) '~~~~~~~~~' 383 ENDIF 384 385 END SUBROUTINE dom_stiff 386 387 388 324 389 !!====================================================================== 325 390 END MODULE domain -
branches/2012/dev_r3435_UKMO7_SCOORDS/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90
r3453 r3507 172 172 173 173 IF( ln_sco ) THEN ! s-coordinate 174 CALL iom_rstput( 0, 0, inum4, 'hbatt', hbatt ) ! ! depth175 CALL iom_rstput( 0, 0, inum4, 'hbatu', hbatu ) 174 CALL iom_rstput( 0, 0, inum4, 'hbatt', hbatt ) 175 CALL iom_rstput( 0, 0, inum4, 'hbatu', hbatu ) 176 176 CALL iom_rstput( 0, 0, inum4, 'hbatv', hbatv ) 177 177 CALL iom_rstput( 0, 0, inum4, 'hbatf', hbatf ) … … 187 187 CALL iom_rstput( 0, 0, inum4, 'e3v', e3v ) 188 188 CALL iom_rstput( 0, 0, inum4, 'e3w', e3w ) 189 CALL iom_rstput( 0, 0, inum4, 'rx1', rx1 ) ! ! Max. grid stiffness ratio 189 190 ! 190 191 CALL iom_rstput( 0, 0, inum4, 'gdept' , gdept ) ! ! stretched system 191 CALL iom_rstput( 0, 0, inum4, 'gdepw' , gdepw ) 192 CALL iom_rstput( 0, 0, inum4, 'gdepw' , gdepw ) 192 193 ENDIF 193 194 -
branches/2012/dev_r3435_UKMO7_SCOORDS/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90
r3453 r3507 1727 1727 !! ** Purpose : stretch the s-coordinate system 1728 1728 !! 1729 !! ** Method : s-coordinate stretch using the Siddorn and Furner 2012? 1730 !! mixed S/sigma/Z coordinate 1731 !! 1729 !! ** Method : s-coordinate stretch 1732 1730 !! 1733 1731 !! Reference : Madec, Lott, Delecluse and Crepon, 1996. JPO, 26, 1393-1408.
Note: See TracChangeset
for help on using the changeset viewer.