New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 2992 for branches – NEMO

Changeset 2992 for branches


Ignore:
Timestamp:
2011-10-25T16:15:52+02:00 (13 years ago)
Author:
poddo
Message:

ticket #879. Step 2: Add in changes from the 2011/dev_r2802_INGV4_zdfRic branch

Location:
branches/2011/dev_INGV_2011
Files:
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_INGV_2011/DOC/TexFiles/Biblio/Biblio.bib

    r2541 r2992  
    355355} 
    356356 
     357@ARTICLE{Bignami_al_JGR95, 
     358  author = {F. Bignami and S. Marullo and R. Santoleri and M. E. Schiano}, 
     359  title = {Longwave radiation budget in the Mediterranean Sea},  
     360  journal = JGR, 
     361  year = {1995}, 
     362  volume = {100},  number = {C2}, 
     363  pages = {2501--2514}, 
     364  doi = {10.1029/94JC02496}, 
     365} 
     366 
    357367@ARTICLE{Blanke_al_JPO99, 
    358368  author = {B. Blanke and M. Arhan and G. Madec and S. Roche}, 
     
    590600  doi = {10.1029/2002GL016473}, 
    591601  url = {http://dx.doi.org/10.1029/2002GL016473} 
     602} 
     603 
     604@ARTICLE{Castellari_al_JMS1998, 
     605  author = {S> Castellari and  N. Pinardi and K. Leaman }, 
     606  title = {A model study of air-sea interactions in the Mediterranean Sea.}, 
     607  journal = JMS, 
     608  year = {1998}, 
     609  volume = {18}, 
     610  pages = {89--114} 
    592611} 
    593612 
     
    12471266} 
    12481267 
     1268@ARTICLE{Hellerman_Rosenstein_JPO83, 
     1269  author = {S. Hellerman and  M. Rosenstein }, 
     1270  title = {Normal monthly wind stress over the world ocean with error estimates}, 
     1271  journal = JPO, 
     1272  year = {1983}, 
     1273  volume = {13}, 
     1274  pages = {1093--1104}, 
     1275} 
     1276 
    12491277@ARTICLE{He_Ding_JSC01, 
    12501278  author = {Y. He and C. H. Q. Ding}, 
     
    15111539  volume = {6}, 
    15121540  pages = {56--58} 
     1541} 
     1542@ARTICLE{Kondo1975, 
     1543  author = {J. Kondo}, 
     1544  title = {Air-sea bulk transfer coefficients in diabatic conditions}, 
     1545  journal = {Boundary-Layer Meteorol}, 
     1546  year = {1975}, 
     1547  volume = {9}, 
     1548  pages = {91--112} 
     1549} 
     1550 
     1551@ARTICLE{Lermusiaux2001, 
     1552  author = {P. F. J. Lermusiaux}, 
     1553  title = {Evolving the subspace of three-dimensional miltiscale ocean variability: Massachusetts Bay}, 
     1554  journal = JMS, 
     1555  year = {2001}, 
     1556  volume = {29}, 
     1557  pages = {385--422} 
    15131558} 
    15141559 
     
    19061951  volume = {125},  number = {5}, 
    19071952  pages = {958--971} 
     1953} 
     1954 
     1955@ARTICLE{Maggiore_al_PCE98, 
     1956  author = {A. Maggiore and  M. Zavatarelli and M. G. Angelucci and N. Pinardi}, 
     1957  title = {Surface heat and water fluxes in the Adriatic Sea: seasonal and interannual variability}, 
     1958  journal = {Phys Chem Earth}, 
     1959  year = {1998}, 
     1960  volume = {23}, 
     1961  pages = {561--567} 
    19081962} 
    19091963 
     
    21152169} 
    21162170 
     2171@ARTICLE{Oddo_al_OS09, 
     2172  author = {P. Oddo and M. Adani and N. Pinardi and C. Fratianni and M. Tonani and D. Pettenuzzo}, 
     2173  title = {A nested Atlantic-Mediterranean Sea general circulation model for operational forecasting}, 
     2174  journal = OS, 
     2175  year = {2009}, 
     2176  volume = {5}, 
     2177  pages = {1--13}, 
     2178} 
     2179 
    21172180@PHDTHESIS{Olivier_PhD01, 
    21182181  author = {F. Olivier}, 
     
    21702233} 
    21712234 
     2235@ARTICLE{Payne_JAS72, 
     2236  author = {R. E. Payne}, 
     2237  title = {Albedo of the Sea Surface}, 
     2238  journal = JAS, 
     2239  year = {1972}, 
     2240  volume = {29} 
     2241  pages = {959--970} 
     2242} 
     2243 
    21722244@ARTICLE{Penduff_al_OM06, 
    21732245  author = {T. Penduff and B. Barnier and J.-M. Molines and G. Madec}, 
     
    22342306  volume = {13}, 
    22352307  pages = {1154--1158} 
     2308} 
     2309 
     2310@ARTICLE{Reed_JPO77, 
     2311  author = {R. K. Reed}, 
     2312  title = {On estimating insolation over the ocean}, 
     2313  journal = JPO, 
     2314  year = {1977}, 
     2315  volume = {1}, 
     2316  pages = {874--971} 
    22362317} 
    22372318 
     
    25022583  volume = {8}, 
    25032584  pages = {175--201} 
     2585} 
     2586 
     2587@ARTICLE{Tonani_al_OS08, 
     2588  author = {M. Tonani and N. Pinardi and S. Dobricic and I. Pujol and C. Fratianni}, 
     2589  title = {A high-resolution free-surface model of the Mediterranean Sea}, 
     2590  journal = OS, 
     2591  year = {2008}, 
     2592  volume = {4}, 
     2593  pages = {1--14} 
    25042594} 
    25052595 
  • branches/2011/dev_INGV_2011/DOC/TexFiles/Chapters/Chap_SBC.tex

    r2541 r2992  
    2424\end{itemize} 
    2525 
    26 Four different ways to provide the first six fields to the ocean are available which  
     26Five different ways to provide the first six fields to the ocean are available which  
    2727are controlled by namelist variables: an analytical formulation (\np{ln\_ana}~=~true),  
    2828a flux formulation (\np{ln\_flx}~=~true), a bulk formulae formulation (CORE  
    29 (\np{ln\_core}~=~true) or CLIO (\np{ln\_clio}~=~true) bulk formulae) and a coupled  
     29(\np{ln\_core}~=~true), CLIO (\np{ln\_clio}~=~true) or MFS 
     30\footnote { Note that MFS bulk formulae compute fluxes only for the ocean component} 
     31(\np{ln\_ecmwf}~=~true) bulk formulae) and a coupled  
    3032formulation (exchanges with a atmospheric model via the OASIS coupler)  
    3133(\np{ln\_cpl}~=~true). When used, the atmospheric pressure forces both  
    32 ocean and ice dynamics (\np{ln\_apr\_dyn}~=~true) 
    33 \footnote{The surface pressure field could be use in bulk formulae, nevertheless  
    34 none of the current bulk formulea (CLIO and CORE) uses the it.}.  
     34ocean and ice dynamics (\np{ln\_apr\_dyn}~=~true). 
    3535The frequency at which the six or seven fields have to be updated is the \np{nn\_fsbc}  
    3636namelist parameter.  
     
    5151 
    5252In this chapter, we first discuss where the surface boundary condition appears in the 
    53 model equations. Then we present the four ways of providing the surface boundary condition,  
     53model equations. Then we present the five ways of providing the surface boundary condition,  
    5454followed by the description of the atmospheric pressure and the river runoff.  
    5555Next the scheme for interpolation on the fly is described. 
     
    480480% Bulk formulation 
    481481% ================================================================ 
    482 \section  [Bulk formulation (\textit{sbcblk\_core} or \textit{sbcblk\_clio}) ] 
    483       {Bulk formulation \small{(\mdl{sbcblk\_core} or \mdl{sbcblk\_clio} module)} } 
     482\section  [Bulk formulation (\textit{sbcblk\_core}, \textit{sbcblk\_clio} or \textit{sbcblk\_ecmwf}) ] 
     483      {Bulk formulation \small{(\mdl{sbcblk\_core} \mdl{sbcblk\_clio} \mdl{sbcblk\_ecmwf} modules)} } 
    484484\label{SBC_blk} 
    485485 
     
    487487using bulk formulae and atmospheric fields and ocean (and ice) variables.  
    488488 
    489 The atmospheric fields used depend on the bulk formulae used. Two bulk formulations  
    490 are available : the CORE and CLIO bulk formulea. The choice is made by setting to true 
    491 one of the following namelist variable : \np{ln\_core} and \np{ln\_clio}. 
    492  
    493 Note : in forced mode, when a sea-ice model is used, a bulk formulation have to be used.  
    494 Therefore the two bulk formulea provided include the computation of the fluxes over both  
     489The atmospheric fields used depend on the bulk formulae used. Three bulk formulations  
     490are available : the CORE, the CLIO and the MFS bulk formulea. The choice is made by setting to true 
     491one of the following namelist variable : \np{ln\_core} ; \np{ln\_clio} or  \np{ln\_ecmwf}. 
     492 
     493Note : in forced mode, when a sea-ice model is used, a bulk formulation (CLIO or CORE) have to be used.  
     494Therefore the two bulk (CLIO and CORE) formulea include the computation of the fluxes over both  
    495495an ocean and an ice surface.  
    496496 
     
    583583namelist (see \S\ref{SBC_fldread}).  
    584584 
     585% ------------------------------------------------------------------------------------------------------------- 
     586%        ECMWF Bulk formulea 
     587% ------------------------------------------------------------------------------------------------------------- 
     588\subsection    [MFS Bulk formulea (\np{ln\_ecmwf}=true)] 
     589            {MFS Bulk formulea (\np{ln\_ecmwf}=true, \mdl{sbcblk\_ecmwf})} 
     590\label{SBC_blk_ecmwf} 
     591%------------------------------------------namsbc_ecmwf---------------------------------------------------- 
     592\namdisplay{namsbc_ecmwf}  
     593%---------------------------------------------------------------------------------------------------------- 
     594 
     595The MFS (Mediterranean Forecasting System) bulk formulae have been developed by 
     596 \citet{Castellari_al_JMS1998}.  
     597They have been designed to handle the ECMWF operational data and are currently  
     598in use in the MFS operational system \citep{Tonani_al_OS08}, \citep{Oddo_al_OS09}. 
     599The wind stress computation uses a drag coefficient computed according to \citet{Hellerman_Rosenstein_JPO83}. 
     600The surface boundary condition for temperature involves the balance between surface solar radiation, 
     601net long-wave radiation, the latent and sensible heat fluxes. 
     602Solar radiation is dependent on cloud cover and is computed by means of 
     603an astronomical formula \citep{Reed_JPO77}. Albedo monthly values are from \citet{Payne_JAS72}  
     604as means of the values at $40^{o}N$ and $30^{o}N$ for the Atlantic Ocean (hence the same latitudinal 
     605band of the Mediterranean Sea). The net long-wave radiation flux 
     606\citep{Bignami_al_JGR95} is a function of 
     607air temperature, sea-surface temperature, cloud cover and relative humidity. 
     608Sensible heat and latent heat fluxes are computed by classical 
     609bulk formulae parameterized according to \citet{Kondo1975}. 
     610Details on the bulk formulae used can be found in \citet{Maggiore_al_PCE98} and \citet{Castellari_al_JMS1998}. 
     611 
     612The required 7 input fields must be provided on the model Grid-T and  are: 
     613\begin{itemize} 
     614\item          Zonal Component of the 10m wind ($ms^{-1}$)  (\np{sn\_windi}) 
     615\item          Meridional Component of the 10m wind ($ms^{-1}$)  (\np{sn\_windj}) 
     616\item          Total Claud Cover (\%)  (\np{sn\_clc}) 
     617\item          2m Air Temperature ($K$) (\np{sn\_tair}) 
     618\item          2m Dew Point Temperature ($K$)  (\np{sn\_rhm}) 
     619\item          Total Precipitation ${Kg} m^{-2} s^{-1}$ (\np{sn\_prec}) 
     620\item          Mean Sea Level Pressure (${Pa}) (\np{sn\_msl}) 
     621\end{itemize} 
     622% ------------------------------------------------------------------------------------------------------------- 
    585623% ================================================================ 
    586624% Coupled formulation 
  • branches/2011/dev_INGV_2011/DOC/TexFiles/Chapters/Chap_ZDF.tex

    r2541 r2992  
    100100$a=5$ and $n=2$. The last three values can be modified by setting the  
    101101\np{rn\_avmri}, \np{rn\_alp} and \np{nn\_ric} namelist parameters, respectively. 
     102 
     103A simple mixing-layer model to transfer and dissipate the atmospheric 
     104 forcings (wind-stress and buoyancy fluxes) can be activated setting  
     105the \np{ln\_mldw} =.true. in the namelist. 
     106 
     107In this case, the local depth of turbulent wind-mixing or "Ekman depth" 
     108 $h_{e}(x,y,t)$ is evaluated and the vertical eddy coefficients prescribed within this layer. 
     109 
     110This depth is assumed proportional to the "depth of frictional influence" that is limited by rotation: 
     111\begin{equation} 
     112         h_{e} = Ek \frac {u^{*}} {f_{0}}    \\ 
     113\end{equation} 
     114where, $Ek$ is an empirical parameter, $u^{*}$ is the friction velocity and $f_{0}$ is the Coriolis  
     115parameter. 
     116 
     117In this similarity height relationship, the turbulent friction velocity: 
     118\begin{equation} 
     119         u^{*} = \sqrt \frac {|\tau|} {\rho_o}     \\ 
     120\end{equation} 
     121 
     122is computed from the wind stress vector $|\tau|$ and the reference dendity $ \rho_o$. 
     123The final $h_{e}$ is further constrained by the adjustable bounds \np{rn\_mldmin} and \np{rn\_mldmax}. 
     124Once $h_{e}$ is computed, the vertical eddy coefficients within $h_{e}$ are set to  
     125the empirical values \np{rn\_wtmix} and \np{rn\_wvmix} \citep{Lermusiaux2001}. 
    102126 
    103127% ------------------------------------------------------------------------------------------------------------- 
  • branches/2011/dev_INGV_2011/DOC/TexFiles/Namelist/namsbc

    r2540 r2992  
    88   ln_blk_clio = .false.   !  CLIO bulk formulation                     (T => fill namsbc_clio)  
    99   ln_blk_core = .true.    !  CORE bulk formulation                     (T => fill namsbc_core)  
     10   ln_blk_ecmwf= .false.   !  MFS bulk formulation                      (T => fill namsbc_ecmwf) 
    1011   ln_cpl      = .false.   !  Coupled formulation                       (T => fill namsbc_cpl ) 
    1112   ln_apr_dyn  = .false.   !  Patm gradient added in ocean & ice Eqs.   (T => fill namsbc_apr ) 
  • branches/2011/dev_INGV_2011/DOC/TexFiles/Namelist/namzdf_ric

    r2540 r2992  
    55   rn_alp      =   5.      !  coefficient of the parameterization 
    66   nn_ric      =   2       !  coefficient of the parameterization 
     7   rn_ekmfc    =   0.7     !  Factor in the Ekman depth Equation 
     8   rn_mldmin   =   1.0     !  minimum allowable mixed-layer depth estimate (m) 
     9   rn_mldmax   =1000.0     !  maximum allowable mixed-layer depth estimate (m) 
     10   rn_wtmix    =  10.0     !  vertical eddy viscosity coeff [m2/s] in the mixed-layer 
     11   rn_wvmix    =  10.0     !  vertical eddy diffusion coeff [m2/s] in the mixed-layer 
     12   ln_mldw     = .true.    !  Flag to use or not the mized layer depth param. 
    713/ 
  • branches/2011/dev_INGV_2011/NEMOGCM/CONFIG/GYRE/EXP00/namelist

    r2715 r2992  
    592592   rn_alp      =   5.      !  coefficient of the parameterization 
    593593   nn_ric      =   2       !  coefficient of the parameterization 
     594   rn_ekmfc    =   0.7     !  Factor in the Ekman depth Equation 
     595   rn_mldmin   =   1.0     !  minimum allowable mixed-layer depth estimate (m) 
     596   rn_mldmax   =1000.0     !  maximum allowable mixed-layer depth estimate (m) 
     597   rn_wtmix    =  10.0     !  vertical eddy viscosity coeff [m2/s] in the mixed-layer 
     598   rn_wvmix    =  10.0     !  vertical eddy diffusion coeff [m2/s] in the mixed-layer 
     599   ln_mldw     = .true.    !  Flag to use or not the mized layer depth param. 
    594600/ 
    595601!----------------------------------------------------------------------- 
  • branches/2011/dev_INGV_2011/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist

    r2715 r2992  
    592592   rn_alp      =   5.      !  coefficient of the parameterization 
    593593   nn_ric      =   2       !  coefficient of the parameterization 
     594   rn_ekmfc    =   0.7     !  Factor in the Ekman depth Equation 
     595   rn_mldmin   =   1.0     !  minimum allowable mixed-layer depth estimate (m) 
     596   rn_mldmax   =1000.0     !  maximum allowable mixed-layer depth estimate (m) 
     597   rn_wtmix    =  10.0     !  vertical eddy viscosity coeff [m2/s] in the mixed-layer 
     598   rn_wvmix    =  10.0     !  vertical eddy diffusion coeff [m2/s] in the mixed-layer 
     599   ln_mldw     = .true.    !  Flag to use or not the mized layer depth param. 
    594600/ 
    595601!----------------------------------------------------------------------- 
  • branches/2011/dev_INGV_2011/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist

    r2715 r2992  
    606606   rn_alp      =   5.      !  coefficient of the parameterization 
    607607   nn_ric      =   2       !  coefficient of the parameterization 
     608   rn_ekmfc    =   0.7     !  Factor in the Ekman depth Equation 
     609   rn_mldmin   =   1.0     !  minimum allowable mixed-layer depth estimate (m) 
     610   rn_mldmax   =1000.0     !  maximum allowable mixed-layer depth estimate (m) 
     611   rn_wtmix    =  10.0     !  vertical eddy viscosity coeff [m2/s] in the mixed-layer 
     612   rn_wvmix    =  10.0     !  vertical eddy diffusion coeff [m2/s] in the mixed-layer 
     613   ln_mldw     = .true.    !  Flag to use or not the mized layer depth param. 
    608614/ 
    609615!----------------------------------------------------------------------- 
  • branches/2011/dev_INGV_2011/NEMOGCM/CONFIG/POMME/EXP00/namelist

    r2650 r2992  
    592592   rn_alp      =   5.      !  coefficient of the parameterization 
    593593   nn_ric      =   2       !  coefficient of the parameterization 
     594   rn_ekmfc    =   0.7     !  Factor in the Ekman depth Equation 
     595   rn_mldmin   =   1.0     !  minimum allowable mixed-layer depth estimate (m) 
     596   rn_mldmax   =1000.0     !  maximum allowable mixed-layer depth estimate (m) 
     597   rn_wtmix    =  10.0     !  vertical eddy viscosity coeff [m2/s] in the mixed-layer 
     598   rn_wvmix    =  10.0     !  vertical eddy diffusion coeff [m2/s] in the mixed-layer 
     599   ln_mldw     = .true.    !  Flag to use or not the mized layer depth param. 
    594600/ 
    595601!----------------------------------------------------------------------- 
  • branches/2011/dev_INGV_2011/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90

    r2715 r2992  
    77   !! History :  OPA  ! 1987-09  (P. Andrich)  Original code 
    88   !!            4.0  ! 1991-11  (G. Madec) 
    9    !!            7.0  ! 1996-01  (G. Madec)  complet rewriting of multitasking suppression of common work arrays 
    10    !!            8.0  ! 1997-06 (G. Madec)  complete rewriting of zdfmix 
     9   !!            7.0  ! 1996-01  (G. Madec)  complete rewriting of multitasking suppression of common work arrays 
     10   !!            8.0  ! 1997-06  (G. Madec)  complete rewriting of zdfmix 
    1111   !!   NEMO     1.0  ! 2002-06  (G. Madec)  F90: Free form and module 
    1212   !!            3.3  ! 2010-10  (C. Ethe, G. Madec) reorganisation of initialisation phase 
     13   !!            3.3.1! 2011-09  (P. Oddo) Mixed layer depth parameterization 
    1314   !!---------------------------------------------------------------------- 
    1415#if defined key_zdfric   ||   defined key_esopa 
     
    2021   !!   zdf_ric_init : initialization, namelist read, & parameters control 
    2122   !!---------------------------------------------------------------------- 
    22    USE oce             ! ocean dynamics and tracers variables 
    23    USE dom_oce         ! ocean space and time domain variables 
    24    USE zdf_oce         ! ocean vertical physics 
    25    USE in_out_manager  ! I/O manager 
    26    USE lbclnk          ! ocean lateral boundary condition (or mpp link) 
    27    USE lib_mpp         ! MPP library 
     23   USE oce                   ! ocean dynamics and tracers variables 
     24   USE dom_oce               ! ocean space and time domain variables 
     25   USE zdf_oce               ! ocean vertical physics 
     26   USE in_out_manager        ! I/O manager 
     27   USE lbclnk                ! ocean lateral boundary condition (or mpp link) 
     28   USE lib_mpp               ! MPP library 
     29   USE eosbn2, ONLY : nn_eos 
    2830 
    2931   IMPLICIT NONE 
     
    3941   REAL(wp) ::   rn_avmri = 100.e-4_wp   ! maximum value of the vertical eddy viscosity 
    4042   REAL(wp) ::   rn_alp   =   5._wp      ! coefficient of the parameterization 
     43   REAL(wp) ::   rn_ekmfc =   0.7_wp     ! Ekman Factor Coeff 
     44   REAL(wp) ::   rn_mldmin=   1.0_wp     ! minimum mixed layer (ML) depth     
     45   REAL(wp) ::   rn_mldmax=1000.0_wp     ! maximum mixed layer depth 
     46   REAL(wp) ::   rn_wtmix =  10.0_wp     ! Vertical eddy Diff. in the ML 
     47   REAL(wp) ::   rn_wvmix =  10.0_wp     ! Vertical eddy Visc. in the ML 
     48   LOGICAL  ::   ln_mldw  = .TRUE.       ! Use or not the MLD parameters 
    4149 
    4250   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   tmric   !: coef. for the horizontal mean at t-point 
     
    6775      !!                     
    6876      !! ** Purpose :   Compute the before eddy viscosity and diffusivity as 
    69       !!              a function of the local richardson number. 
     77      !!                a function of the local richardson number. 
    7078      !! 
    7179      !! ** Method  :   Local richardson number dependent formulation of the  
    72       !!              vertical eddy viscosity and diffusivity coefficients.  
     80      !!                vertical eddy viscosity and diffusivity coefficients.  
    7381      !!                The eddy coefficients are given by: 
    7482      !!                    avm = avm0 + avmb 
    7583      !!                    avt = avm0 / (1 + rn_alp*ri) 
    76       !!              with ri  = N^2 / dz(u)**2 
    77       !!                       = e3w**2 * rn2/[ mi( dk(ub) )+mj( dk(vb) ) ] 
    78       !!                   avm0= rn_avmri / (1 + rn_alp*ri)**nn_ric 
     84      !!                with ri  = N^2 / dz(u)**2 
     85      !!                         = e3w**2 * rn2/[ mi( dk(ub) )+mj( dk(vb) ) ] 
     86      !!                    avm0= rn_avmri / (1 + rn_alp*ri)**nn_ric 
    7987      !!      Where ri is the before local Richardson number, 
    8088      !!            rn_avmri is the maximum value reaches by avm and avt  
     
    8492      !!      avtb=1.e-7 m2/s, rn_alp=5. and nn_ric=2. 
    8593      !!      a numerical threshold is impose on the vertical shear (1.e-20) 
     94      !!      As second step compute Ekman depth from wind stress forcing 
     95      !!      and apply namelist provided vertical coeff within this depth. 
     96      !!      The Ekman depth is: 
     97      !!              Ustar = SQRT(Taum/rho0) 
     98      !!              ekd= rn_ekmfc * Ustar / f0 
     99      !!      Large et al. (1994, eq.29) suggest rn_ekmfc=0.7; however, the derivation 
     100      !!      of the above equation indicates the value is somewhat arbitrary; therefore 
     101      !!      we allow the freedom to increase or decrease this value, if the 
     102      !!      Ekman depth estimate appears too shallow or too deep, respectively. 
     103      !!      Ekd is then limited by rn_mldmin and rn_mldmax provided in the 
     104      !!      namelist 
    86105      !!        N.B. the mask are required for implicit scheme, and surface 
    87106      !!      and bottom value already set in zdfini.F90 
    88107      !! 
    89108      !! References : Pacanowski & Philander 1981, JPO, 1441-1451. 
     109      !!              PFJ Lermusiaux 2001. 
    90110      !!---------------------------------------------------------------------- 
    91111      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    92       USE wrk_nemo, ONLY:   zwx => wrk_2d_1     ! 2D workspace 
    93       !! 
    94       INTEGER, INTENT( in ) ::   kt         ! ocean time-step indexocean time step 
    95       !! 
    96       INTEGER  ::   ji, jj, jk               ! dummy loop indices 
    97       REAL(wp) ::   zcoef, zdku, zdkv, zri, z05alp     ! temporary scalars 
    98       !!---------------------------------------------------------------------- 
    99  
    100       IF( wrk_in_use(2, 1) ) THEN 
     112      USE wrk_nemo, ONLY:   zwx => wrk_2d_1         ! 2D workspace 
     113      USE wrk_nemo, ONLY:   ekm_dep => wrk_2d_2     ! 2D workspace 
     114      USE phycst,   ONLY:   rsmall,rau0 
     115      USE sbc_oce,  ONLY:   taum 
     116      !! 
     117      INTEGER, INTENT( in ) ::   kt                           ! ocean time-step 
     118      !! 
     119      INTEGER  ::   ji, jj, jk                                ! dummy loop indices 
     120      REAL(wp) ::   zcoef, zdku, zdkv, zri, z05alp, zflageos  ! temporary scalars 
     121      REAL(wp) ::   zrhos, zustar 
     122      !!---------------------------------------------------------------------- 
     123 
     124      IF( wrk_in_use(2, 1,2) ) THEN 
    101125         CALL ctl_stop('zdf_ric : requested workspace array unavailable')   ;   RETURN 
    102126      ENDIF 
     
    145169      !                                                ! =============== 
    146170      ! 
     171      IF( ln_mldw ) THEN 
     172 
     173      !  Compute Ekman depth from wind stress forcing. 
     174      ! ------------------------------------------------------- 
     175      zflageos = ( 0.5 + SIGN( 0.5, nn_eos - 1. ) ) * rau0 
     176      DO jj = 1, jpj 
     177         DO ji = 1, jpi 
     178            zrhos          = rhop(ji,jj,1) + zflageos * ( 1. - tmask(ji,jj,1) ) 
     179            zustar         = SQRT( taum(ji,jj) / ( zrhos +  rsmall ) ) 
     180            ekm_dep(ji,jj) = rn_ekmfc * zustar / ( ABS( ff(ji,jj) ) + rsmall ) 
     181            ekm_dep(ji,jj) = MAX(ekm_dep(ji,jj),rn_mldmin) ! Minimun allowed 
     182            ekm_dep(ji,jj) = MIN(ekm_dep(ji,jj),rn_mldmax) ! Maximum allowed 
     183         END DO 
     184      END DO 
     185 
     186      ! In the first model level vertical diff/visc coeff.s  
     187      ! are always equal to the namelist values rn_wtmix/rn_wvmix 
     188      ! ------------------------------------------------------- 
     189      DO jj = 1, jpj 
     190         DO ji = 1, jpi 
     191            avmv(ji,jj,1) = MAX( avmv(ji,jj,1), rn_wvmix ) 
     192            avmu(ji,jj,1) = MAX( avmu(ji,jj,1), rn_wvmix ) 
     193            avt( ji,jj,1) = MAX(  avt(ji,jj,1), rn_wtmix ) 
     194         END DO 
     195      END DO 
     196 
     197      !  Force the vertical mixing coef within the Ekman depth 
     198      ! ------------------------------------------------------- 
     199      DO jk = 2, jpkm1 
     200         DO jj = 1, jpj 
     201            DO ji = 1, jpi 
     202               IF( fsdept(ji,jj,jk) < ekm_dep(ji,jj) ) THEN 
     203                  avmv(ji,jj,jk) = MAX( avmv(ji,jj,jk), rn_wvmix ) 
     204                  avmu(ji,jj,jk) = MAX( avmu(ji,jj,jk), rn_wvmix ) 
     205                  avt( ji,jj,jk) = MAX(  avt(ji,jj,jk), rn_wtmix ) 
     206               ENDIF 
     207            END DO 
     208         END DO 
     209      END DO 
     210 
     211      DO jk = 1, jpkm1                 
     212         DO jj = 1, jpj 
     213            DO ji = 1, jpi 
     214               avmv(ji,jj,jk) = avmv(ji,jj,jk) * vmask(ji,jj,jk) 
     215               avmu(ji,jj,jk) = avmu(ji,jj,jk) * umask(ji,jj,jk) 
     216               avt( ji,jj,jk) = avt( ji,jj,jk) * tmask(ji,jj,jk) 
     217            END DO 
     218         END DO 
     219      END DO 
     220 
     221     ENDIF 
     222 
    147223      CALL lbc_lnk( avt , 'W', 1. )                         ! Boundary conditions   (unchanged sign) 
    148224      CALL lbc_lnk( avmu, 'U', 1. )   ;   CALL lbc_lnk( avmv, 'V', 1. ) 
    149225      ! 
    150       IF( wrk_not_released(2, 1) )   CALL ctl_stop('zdf_ric: failed to release workspace array') 
     226      IF( wrk_not_released(2, 1,2) )   CALL ctl_stop('zdf_ric: failed to release workspace array') 
    151227      ! 
    152228   END SUBROUTINE zdf_ric 
     
    168244      INTEGER :: ji, jj, jk   ! dummy loop indices 
    169245      !! 
    170       NAMELIST/namzdf_ric/ rn_avmri, rn_alp, nn_ric 
     246      NAMELIST/namzdf_ric/ rn_avmri, rn_alp   , nn_ric  , rn_ekmfc,  & 
     247         &                rn_mldmin, rn_mldmax, rn_wtmix, rn_wvmix, ln_mldw 
    171248      !!---------------------------------------------------------------------- 
    172249      ! 
     
    179256         WRITE(numout,*) '~~~~~~~' 
    180257         WRITE(numout,*) '   Namelist namzdf_ric : set Kz(Ri) parameters' 
    181          WRITE(numout,*) '      maximum vertical viscosity     rn_avmri = ', rn_avmri 
    182          WRITE(numout,*) '      coefficient                    rn_alp   = ', rn_alp 
    183          WRITE(numout,*) '      coefficient                    nn_ric   = ', nn_ric 
     258         WRITE(numout,*) '      maximum vertical viscosity     rn_avmri  = ', rn_avmri 
     259         WRITE(numout,*) '      coefficient                    rn_alp    = ', rn_alp 
     260         WRITE(numout,*) '      coefficient                    nn_ric    = ', nn_ric 
     261         WRITE(numout,*) '      Ekman Factor Coeff             rn_ekmfc  = ', rn_ekmfc 
     262         WRITE(numout,*) '      minimum mixed layer depth      rn_mldmin = ', rn_mldmin 
     263         WRITE(numout,*) '      maximum mixed layer depth      rn_mldmax = ', rn_mldmax 
     264         WRITE(numout,*) '      Vertical eddy Diff. in the ML  rn_wtmix  = ', rn_wtmix 
     265         WRITE(numout,*) '      Vertical eddy Visc. in the ML  rn_wvmix  = ', rn_wvmix 
     266         WRITE(numout,*) '      Use the MLD parameterization   ln_mldw   = ', ln_mldw 
    184267      ENDIF 
    185268      ! 
Note: See TracChangeset for help on using the changeset viewer.