diff --git a/doc/latex/NEMO/main/bibliography.bib b/doc/latex/NEMO/main/bibliography.bib index 2f509ca2cfb24b957d0ed2f37a9ebee02d928fc2..047b345ff2b55fff5786d746b9455de9c4cc70fd 100644 --- a/doc/latex/NEMO/main/bibliography.bib +++ b/doc/latex/NEMO/main/bibliography.bib @@ -562,6 +562,21 @@ doi = "10.1175/1520-0485(2003)033<2504:naswth>2.0.co;2" } +@article{ cheng.canuto.ea_JAS02, + title = "An Improved Model for the Turbulent PBL", + author = "Y. Cheng and V. M. Canuto and A. M. Howard", + doi = "10.1175/1520-0469(2002)059<1550:AIMFTT>2.0.CO;2", + issn = "0022-4928", + issue = "9", + journal = "Journal of the Atmospheric Sciences", + month = "5", + pages = "1550-1565", + publisher = "American Meteorological Society", + volume = "59", + url = "http://journals.ametsoc.org/doi/10.1175/1520-0469(2002)059<1550:AIMFTT>2.0.CO;2", + year = "2002" +} + @article{ couvelard_2020, author = "X. Couvelard and F. Lemari{\'e} and G. Samson and J.-L. Redelsperger and F. Ardhuin and R. Benshila and G. Madec", doi = "10.5194/gmd-13-3067-2020", @@ -613,6 +628,22 @@ doi = "10.1017/s0022112076001420" } +@article{ cuxart.bougeault_QJRMS00, + title = "A turbulence scheme allowing for mesoscale and large-eddy simulations", + author = "J. Cuxart and P. Bougeault and J. L. Redelsperger", + doi = "10.1002/QJ.49712656202", + issn = "1477-870X", + issue = "562", + journal = "Quarterly Journal of the Royal Meteorological Society", + keywords = "Ensemble,Prandtl numbers,Spectral length,Subgrid,Turbulence Variable turbulent,average scheme,scale scheme", + month = "1", + pages = "1-30", + publisher = "John Wiley & Sons, Ltd", + volume = "126", + url = "https://rmets.onlinelibrary.wiley.com/doi/10.1002/qj.49712656202", + year = "2000", +} + @article{ dalessio.abdella.ea_JPO98, title = "A new second-order turbulence closure scheme for modeling the oceanic mixed layer", @@ -701,6 +732,22 @@ doi = "10.1175/jpo-d-14-0259.1" } +@article{ deardorff.ea_BLM80, + title = "Stratocumulus-capped mixed layers derived from a three-dimensional model", + author = "James W. Deardorff", + issn = "1573-1472", + issue = "4", + journal = "Boundary-Layer Meteorology 1980 18:4", + keywords = "Atmospheric Protection/Air Quality Control/Air Pollution,Atmospheric Sciences,Meteorology", + month = "6", + pages = "495-527", + publisher = "Springer", + volume = "18", + url = "https://link.springer.com/article/10.1007/BF00119502", + year = "1980", + doi = "10.1007/BF00119502" +} + @article{ debreu.vouland.ea_CG08, title = "{AGRIF}: Adaptive Grid Refinement In Fortran", pages = "8--13", @@ -1643,6 +1690,35 @@ year = {1997} doi = "10.3402/tellusa.v19i1.9753" } +@article{ lac.chaboureau.ea_GMD18, + author = "Christine Lac and Jean Pierre Chaboureau and Val'{e}ry Masson + and Jean Pierre Pinty and Pierre Tulet and Juan Escobar and + Maud Leriche and Christelle Barthe and Benjamin Aouizerats and + Clotilde Augros and Pierre Aumond and Franck Auguste and + Peter Bechtold and Sarah Berthet and Soline Bielli and + Fr'{e}d'{e}ric Bosseur and Olivier Caumont and Jean Martial Cohard and + Jeanne Colin and Fleur Couvreux and Joan Cuxart and Gaelle Delautier + and Thibaut Dauhut and V'{e}ronique Ducrocq and Jean Baptiste Filippi and + Didier Gazen and Olivier Geoffroy and Francois Gheusi and Rachel Honnert + and Jean Philippe Lafore and Cindy Lebeaupin Brossier and Quentin Libois + and Thibaut Lunet and C'{e}line Mari and Tomislav Maric and Patrick Mascart + and Maxime Mog'{e} and Gilles Molini'{e} and Olivier Nuissier and Florian Pantillon + and Philippe Peyrill'{e} and Julien Pergaud and Emilie Perraud and Joris Pianezze + and Jean Luc Redelsperger and Didier Ricard and Evelyne Richard and S'{e}bastien Riette + and Quentin Rodier and Robert Schoetter and L'{e}o Seyfried and Joel Stein and Karsten Suhre + and Marie Taufour and Odile Thouron and Sandra Turner and Antoine Verrelle and Benoit Vi'{e} + and Florian Visentin and Vincent Vionnet and Philippe Wautelet", + doi = "10.5194/gmd-11-1929-2018", + isbn = "1119292018", + issn = "19919603", + issue = "5", + journal = "Geoscientific Model Development", + pages = "1929-1969", + title = "Overview of the Meso-NH model version 5.4 and its applications", + volume = "11", + year = "2018" +} + @article{ large.mcwilliams.ea_RG94, title = "Oceanic vertical mixing: {A} review and a model with a nonlocal boundary layer parameterization", @@ -1809,6 +1885,21 @@ year = {1997} doi = "10.1016/j.ocemod.2015.06.006" } +@article{ lemarie.samson.ea_GMD21, + title = "A simplified atmospheric boundary layer model + for an improved representation of air-sea interactions + in eddying oceanic models: + Implementation and first evaluation in NEMO (4.0)", + pages = "543--572", + journal = "Geoscientific Model Development", + volume = "14", + author = "Florian Lemari\'{e} and Guillaume Samson and Jean Luc Redelsperger + and Herve Giordani and Theo Brivoal and Gurvan Madec", + year = "2021", + issn = "1991-9603", + doi = "10.5194/gmd-14-543-2021" +} + @article{ lengaigne.madec.ea_JGR03, title = "Impact of isopycnal mixing on the tropical ocean circulation", diff --git a/doc/latex/NEMO/subfiles/chap_SBC.tex b/doc/latex/NEMO/subfiles/chap_SBC.tex index 80fbce4addaea6ecb344931e65885db0a8756938..7552a418dad28a6edacc0ab6e5a16e83133143e5 100644 --- a/doc/latex/NEMO/subfiles/chap_SBC.tex +++ b/doc/latex/NEMO/subfiles/chap_SBC.tex @@ -41,11 +41,12 @@ The ocean needs seven fields as surface boundary condition: \item the atmospheric pressure at the ocean surface $\left( p_a \right)$ \end{itemize} -Four different ways are available to provide the seven fields to the ocean. They are controlled by +Five different ways are available to provide these fields to the ocean. They are controlled by namelist \nam{sbc}{sbc} variables: \begin{itemize} \item a bulk formulation (\np[=.true.]{ln_blk}{ln\_blk}), featuring a selection of four bulk parameterization algorithms, +\item an atmospheric boundary layer model (\np[=.true.]{ln_abl}{ln\_abl}) associated with the bulk formulation, \item a flux formulation (\np[=.true.]{ln_flx}{ln\_flx}), \item a coupled or mixed forced/coupled formulation (exchanges with a atmospheric model via the OASIS coupler), (\np{ln_cpl}{ln\_cpl} or \np[=.true.]{ln_mixcpl}{ln\_mixcpl}), @@ -54,7 +55,7 @@ namelist \nam{sbc}{sbc} variables: The frequency at which the forcing fields have to be updated is given by the \np{nn_fsbc}{nn\_fsbc} namelist parameter. -When the fields are supplied from data files (bulk, flux and mixed formulations), +When the fields are supplied from data files (bulk, abl, flux and mixed formulations), the input fields do not need to be supplied on the model grid. Instead, a file of coordinates and weights can be supplied to map the data from the input fields grid to the model points (so called "Interpolation on the Fly", see \autoref{subsec:SBC_iof}). @@ -84,7 +85,7 @@ These options control: \end{itemize} In this chapter, we first discuss where the surface boundary conditions appear in the model equations. -Then we present the three ways of providing the surface boundary conditions, +Then we present the four ways of providing the surface boundary conditions, followed by the description of the atmospheric pressure and the river runoff. Next, the scheme for interpolation on the fly is described. Finally, the different options that further modify the fluxes applied to the ocean are discussed. @@ -748,6 +749,40 @@ respectively (found in \textit{sbcblk\_skin\_coare.F90}). % surface layer (hereafter ASL), and hence, depend on $U_B$, $T_s$, $T_z$, $q_s$ % and $q_z$. +%% ================================================================================================= +\subsection{Ice-Atmosphere Bulk formulae} +\label{subsec:SBC_blk_ice} + +\texttt{\#out\_of\_place:} + For sea-ice, three possibilities can be selected: +a constant transfer coefficient (1.4e-3; default +value), \citet{lupkes.gryanik.ea_JGRA12} (\np{ln_Cd_L12}{ln\_Cd\_L12}), +and \citet{lupkes.gryanik_JGR15} (\np{ln_Cd_L15}{ln\_Cd\_L15}) parameterizations +\texttt{\#out\_of\_place.} + +Surface turbulent fluxes between sea-ice and the atmosphere can be computed in three different ways: + +\begin{itemize} +\item Constant value (\forcode{Cd_ice=1.4e-3}): + default constant value used for momentum and heat neutral transfer coefficients +\item \citet{lupkes.gryanik.ea_JGRA12} (\np[=.true.]{ln_Cd_L12}{ln\_Cd\_L12}): + This scheme adds a dependency on edges at leads, melt ponds and flows + of the constant neutral air-ice drag. After some approximations, + this can be resumed to a dependency on ice concentration (A). + This drag coefficient has a parabolic shape (as a function of ice concentration) + starting at 1.5e-3 for A=0, reaching 1.97e-3 for A=0.5 and going down 1.4e-3 for A=1. + It is theoretically applicable to all ice conditions (not only MIZ). +\item \citet{lupkes.gryanik_JGR15} (\np[=.true.]{ln_Cd_L15}{ln\_Cd\_L15}): + Alternative turbulent transfer coefficients formulation between sea-ice + and atmosphere with distinct momentum and heat coefficients depending + on sea-ice concentration and atmospheric stability (no melt-ponds effect for now). + The parameterization is adapted from ECHAM6 atmospheric model. + Compared to Lupkes2012 scheme, it considers specific skin and form drags + to compute neutral transfer coefficients for both heat and momentum fluxes. + Atmospheric stability effect on transfer coefficient is also taken into account. +\end{itemize} + +%% ================================================================================================= \subsection{Prescribed near-surface atmospheric state} The atmospheric fields used depend on the bulk formulae used. In forced mode, @@ -822,61 +857,121 @@ Air humidity can be provided as three different parameters: specific humidity parameters)... %% ================================================================================================= -%\subsection[Ocean-Atmosphere Bulk formulae (\textit{sbcblk\_algo\_coare3p0.F90, sbcblk\_algo\_coare3p6.F90, %sbcblk\_algo\_ecmwf.F90, sbcblk\_algo\_ncar.F90})]{Ocean-Atmosphere Bulk formulae (\mdl{sbcblk\_algo\_coare3p0}, %\mdl{sbcblk\_algo\_coare3p6}, \mdl{sbcblk\_algo\_ecmwf}, \mdl{sbcblk\_algo\_ncar})} -%\label{subsec:SBC_blk_ocean} - -%Four different bulk algorithms are available to compute surface turbulent momentum and heat fluxes over the ocean. -%COARE 3.0, COARE 3.6 and ECMWF schemes mainly differ by their roughness lenghts computation and consequently -%their neutral transfer coefficients relationships with neutral wind. -%\begin{itemize} -%\item NCAR (\np[=.true.]{ln_NCAR}{ln\_NCAR}): The NCAR bulk formulae have been developed by \citet{large.yeager_trpt04}. -% They have been designed to handle the NCAR forcing, a mixture of NCEP reanalysis and satellite data. -% They use an inertial dissipative method to compute the turbulent transfer coefficients -% (momentum, sensible heat and evaporation) from the 10m wind speed, air temperature and specific humidity. -% This \citet{large.yeager_trpt04} dataset is available through -% the \href{http://nomads.gfdl.noaa.gov/nomads/forms/mom4/NCAR.html}{GFDL web site}. -% Note that substituting ERA40 to NCEP reanalysis fields does not require changes in the bulk formulea themself. -% This is the so-called DRAKKAR Forcing Set (DFS) \citep{brodeau.barnier.ea_OM10}. -%\item COARE 3.0 (\np[=.true.]{ln_COARE_3p0}{ln\_COARE\_3p0}): See \citet{fairall.bradley.ea_JC03} for more details -%\item COARE 3.6 (\np[=.true.]{ln_COARE_3p6}{ln\_COARE\_3p6}): See \citet{edson.jampana.ea_JPO13} for more details -%\item ECMWF (\np[=.true.]{ln_ECMWF}{ln\_ECMWF}): Based on \href{https://www.ecmwf.int/node/9204}{IFS (Cy40r1)} %implementation and documentation. -% Surface roughness lengths needed for the Obukhov length are computed -% following \citet{beljaars_QJRMS95}. -%\end{itemize} +\section[Atmospheric Boundary Layer (ABL) model (\textit{sbcabl.F90})]{Atmospheric Boundary Layer (ABL) model (\protect\mdl{sbcabl})} +\label{sec:SBC_abl} -%% ================================================================================================= -\subsection{Ice-Atmosphere Bulk formulae} -\label{subsec:SBC_blk_ice} +An atmospheric boundary layer (ABL) model is available as an alternative choice to the prescribed near-surface atmospheric forcings. +It computes the wind, air potential temperature and specific humidity evolutions in the lower atmosphere following a single-column approach +on the same horizontal grid as the ocean component. It represents the adjustement of the air column between the large-scale +atmospheric forcing and the surface boundary conditions over both ocean and sea-ice through vertical turbulent mixing. +This 1D implementation of the ABL model (ABL1D) and its validation are described in details in \citet{lemarie.samson.ea_GMD21}. -\texttt{\#out\_of\_place:} - For sea-ice, three possibilities can be selected: -a constant transfer coefficient (1.4e-3; default -value), \citet{lupkes.gryanik.ea_JGRA12} (\np{ln_Cd_L12}{ln\_Cd\_L12}), -and \citet{lupkes.gryanik_JGR15} (\np{ln_Cd_L15}{ln\_Cd\_L15}) parameterizations -\texttt{\#out\_of\_place.} +\subsection{ABL1D pre-processing} -Surface turbulent fluxes between sea-ice and the atmosphere can be computed in three different ways: +To use it, an atmospheric vertical grid and specific atmospheric forcing files must be provided to ABL1D. +This is because the model expects atmospheric data on its vertical grid and not only near the surface as usually done. +Another specificity of ABL1D is that it can be dynamically driven by geostrophic wind or horizontal air pressure gradient, +instead of being classicaly relaxed toward the large-scale wind forcing. + +To generate the ABL1D vertical grid and atmospheric forcings, specific tools and an associated namelist are provided in the ABL\_TOOLS directory. +They have been developed specifically to deal with ECMWF atmospheric products (such as ERA-Interim, ERA5 and IFS) on their native vertical eta-coordinates. +The namelist is used to setup the ABL1D vertical grid (\forcode{&nml_dom}), atmospheric forcing options (\forcode{&nml_opt}), +input atmospheric filenames (\forcode{&nml_fld}) and outputs filenames (\forcode{&nml_out}). + +\begin{listing} + \nlst{namelist_abl_tools} + \label{lst:namelist_abl_tools} +\end{listing} + +Each of the three steps needed to generate the atmospheric forcings corresponds to a tool: \begin{itemize} -\item Constant value (\forcode{Cd_ice=1.4e-3}): - default constant value used for momentum and heat neutral transfer coefficients -\item \citet{lupkes.gryanik.ea_JGRA12} (\np[=.true.]{ln_Cd_L12}{ln\_Cd\_L12}): - This scheme adds a dependency on edges at leads, melt ponds and flows - of the constant neutral air-ice drag. After some approximations, - this can be resumed to a dependency on ice concentration (A). - This drag coefficient has a parabolic shape (as a function of ice concentration) - starting at 1.5e-3 for A=0, reaching 1.97e-3 for A=0.5 and going down 1.4e-3 for A=1. - It is theoretically applicable to all ice conditions (not only MIZ). -\item \citet{lupkes.gryanik_JGR15} (\np[=.true.]{ln_Cd_L15}{ln\_Cd\_L15}): - Alternative turbulent transfer coefficients formulation between sea-ice - and atmosphere with distinct momentum and heat coefficients depending - on sea-ice concentration and atmospheric stability (no melt-ponds effect for now). - The parameterization is adapted from ECHAM6 atmospheric model. - Compared to Lupkes2012 scheme, it considers specific skin and form drags - to compute neutral transfer coefficients for both heat and momentum fluxes. - Atmospheric stability effect on transfer coefficient is also taken into account. +\item main\_uvg\_hpg (optional):\\ + geostrophic wind or horizontal pressure gradient computation on ECMWF eta-levels +\item main\_vinterp:\\ + air potential temperature computation and vertical interpolation from ECWMF vertical eta-levels to ABL z-levels +\item main\_hdrown:\\ + 3D-fields horizontal drowning (extrapolation over land totally inspired from SOSIE by L. Brodeau) \end{itemize} +\subsection{ABL1D namelist} + +\begin{listing} + \nlst{namsbc_abl} + \caption{\forcode{&namsbc_abl}} + \label{lst:namsbc_abl} +\end{listing} + +ABL1D model is activated by adding ABL sources directory to the sources list file (\*\_cfgs.txt) and +by setting \np[=.true.]{ln_abl}{ln\_abl} (and \np[=.false.]{ln_blk}{ln\_bkl}) in \nam{sbc}{sbc}. \\ +It is fully compatible with Nemo Standalone Surface module and can be consequently forced by sea surface temperature and currents external data.\\ + +Atmospheric forcing files needed by ABL1D must be specified directly using the \np{sn_wndi}{sn\_wndi}, \np{sn_wndj}{sn\_wndj}, +\np{sn_tair}{sn\_tair} and \np{sn_humi}{sn\_humi} parameters from the \nam{sbc_blk}{sbc\_blk}.\\ +When using geostrophic wind (\np[=.true.]{ln_geos_winds}{ln\_geos\_winds}) +or horizontal air pressure gradient (\np[=.true.]{ln_hpgls_frc}{ln\_hpgls\_frc}) as dynamical guide, additional \np{sn_hpgi}{sn\_hpgi} +and \np{sn_hpgj}{sn\_hpgj} parameters must be provided using geostrophic wind/pressure gradient i/j-components files generated during the pre-processing steps.\\ +Note that due to fldread limitations, the interpolation weight filenames must be different between 2D and +3D atmospheric forcings (even if it is the same weight file). + +\subsubsection{Tracers and Dynamics relaxation time} + +ABL1D tracers needs to be relaxed toward atmospheric temperature (\np{sn_tair}{sn\_tair}) +and humidity (\np{sn_humi}{sn\_humi}) forcings to provide a top boundary condition to the model and to avoid the formation of biases due to the lack +of representation of some important atmopheric processes such as advection and convection. +This relaxation time can be setup independently inside the ABL and above the ABL and it is expressed in hours.\\ +The recommanded values for the tracers relaxation time is typically 3 times the ocean model timestep inside the ABL (\np{rn_ltra_min}{rn\_ltra\_min}) +and 1 ocean model timestep above the ABL (\np{rn_ltra_max}{rn\_ltra\_max}).\\ +\\ +The dynamical relaxation time inside (\np{rn_ldyn_min}{rn\_ldyn\_min}) and above (\np{rn_ldyn_max}{rn\_ldyn\_max}) the ABL is only needed in two cases: +\begin{itemize} + \item when geostrophic wind / horizontal pressure gradient options are not used. + \item when geostrophic wind / horizontal pressure gradient options are used and the geographical domain includes the equatorial band + where the geostrophic equilibrium is too weak to contrain efficiently ABL1D dynamics. +\end{itemize} +The recommanded minimum and maximum dynamical relaxation values are identical to the tracers relaxation times.\\ + +\subsubsection{Turbulent vertical mixing lenght and constants} + +The ABL1D turbulence scheme used to compute eddy diffusivities for momentum and scalars relies on a TKE pronostic equation (following \citet{cuxart.bougeault_QJRMS00}) +which depends on mixing lenght scales and turbulent constants. +To address the ABL1D sensitivity to these parameters, various mixing lenght formulations and turbulent constants sets are provided in namelist: + +\begin{itemize} + + \item Three different mixing length scales can be selected using \np{nn_amxl}{nn\_amxl}:\\ + (0) \citet{deardorff.ea_BLM80}\\ + (1) PBL height distance function (as in Nemo TKE scheme)\\ + (2) \citet{bougeault.lacarrere_MWR89}\\ + \item Three different sets of turbulent constants are proposed:\\ + \citet{cuxart.bougeault_QJRMS00}, \citet{cheng.canuto.ea_JAS02} and \citet{lac.chaboureau.ea_GMD18}\\ + + \begin{table}[htbp] + \centering + \begin{tabular}{|l|c|c|c|} + \hline + & CBR00 & CCH02 & MNH54 \\ + \hline + rn\_Cm & 0.0667 & 0.1260 & 0.1260 \\ + \hline + rn\_Ct & 0.1667 & 0.1430 & 0.1430 \\ + \hline + rn\_Ce & 0.40 & 0.34 & 0.40 \\ + \hline + rn\_Ceps & 0.700 & 0.845 & 0.850 \\ + \hline + rn\_Ric & 0.139 & 0.143 & ? \\ + \hline + rn\_Rod & 0.15 & 0.15 & 0.15 \\ + \hline + \end{tabular} + \end{table} + +\end{itemize} + +More details about the turbulence scheme parameters and their effect on ABL properties can be found in \citet{lemarie.samson.ea_GMD21}. + + %% ================================================================================================= \section[Coupled formulation (\textit{sbccpl.F90})]{Coupled formulation (\protect\mdl{sbccpl})} \label{sec:SBC_cpl} diff --git a/doc/namelists/namelist_abl_tools b/doc/namelists/namelist_abl_tools new file mode 100644 index 0000000000000000000000000000000000000000..42b2a4cfa5f1cd36578bba9c7b6c81da49eddbd1 --- /dev/null +++ b/doc/namelists/namelist_abl_tools @@ -0,0 +1,53 @@ +: +:----------------------------------------------------------------------------- +: Atmospheric Boundary Layer preprocessing tool +:----------------------------------------------------------------------------- +: +&nml_dom + jpka = 50, ! ABL vertical levels number + hmax = 2000., ! ABL last level altitude + theta_s = 2., ! vertical grid stretching parameters + hc = 100., ! + ln_impose_z1 = .true., ! force ABL first level altitude + z1 = 10., ! ABL firt level imposed altitude [m] +/ + +&nml_opt + ptemp_method = 3 , ! potential temperature computation method + ln_slp_smth = .true. , ! smooth slp and ghw at high latitudes only + ln_drw_smth = .false. , ! smooth after drowning + ln_slp_log = .false. , ! read log(slp) + ln_read_zsurf = .false. , ! read surface geopotential + ln_hpg_frc = .true. , ! compute horizontal pressure gradient + ln_geo_wnd = .false. , ! compute geostrophic wind + ln_c1d = .false. , ! 1D case + ln_read_mask = .true. , ! read mask file + ln_lsm_land = .false. , ! inverse land & sea masks + ln_perio_latbc = .true. , ! periodic lateral boundary conditions +/ + +&nml_fld + cn_dir = '', + mask_var = 'LSM', + file_m = 'MASK.nc', + file_u = 'U3D.nc', + file_v = 'V3D.nc', + file_t = 'T3D.nc', + file_q = 'Q3D.nc', + file_p = 'P2D.nc', + file_z = 'Z2D.nc', + file_geos = 'UVG_OUT.nc', + file_hpg = 'HPG_OUT.nc', +/ + +&nml_out + grd_file = 'dom_cfg_abl_L50Z10.nc', + abl_file = 'ABL_L50Z10_OUT.nc', + drwn_file = 'ABL_DRWN_L50Z10_OUT.nc', + var_name = '', +/ + +&nml_c1d + iloc = 283, + jloc = 52, +/