diff --git a/CHANGES.rst b/CHANGES.rst index 90a08089d11134ee4383c3664ba9f3feb64f0948..83f9b31d45dd1373db2d6a95f6a88d145ae84bf9 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,4 +4,88 @@ Changes .. todo:: - List the main additions of the the new release + +# List the main additions of the new 4.2 release - February 2022 + +This document lsts the improvements and new features of the 4.2 release compared to the previous 4.0. +If you are willing to port an existing configuration in order to start using this new release, it is sugggested to also look at the 4.2 Migration Guide (link to add). + +Improvements and new features of 4.2 release + +## KERNEL + +- Quasi Eulerian Coordinates + +- New vertical scale factors management + +- New HPG schemes, Runge Kutta (preparatory stages includes time-pointer changes, DO LOOP macros + +- Full Shallow Water equations setup + +## AIR SEA INTERACTIONS + +- Currents feedbacks + +- Mass-flux convection scheme (still not compatible with TOP & PISCES) + +- Bulk improvements + +- ABL1D model & tools improvements + +- Wave forcing improvements + +- Atmospheric boundary layer + +## AGRIF + +- Improvement of Agrif for global configurations (periodic, north fold zoom, HPC), AGRIF vertical interpolation + +## SI3 + +- EAP & VP rheology (V&V to complete) + +- Melt ponds (preliminary implementation) + +## ENHANCE + +- Ocean column properties in NEMO-ICB + +- OSMOSIS + +- Update tidal mixing + +## TOP + +- Ice sheet iron sources + +- Scheme for vertical penetration of visible light + +## DATA interface + +- OBS modifications + +## IO Manager + +- Restart read write with XIOS + +## VALIDATION + +- Tests cases now available with most new developments + +- SETTE validation script improvements + +- OASIS test case for ocean atmosphere coupled interface + +## HPC + +- Extra Halo extension + +- Mixed precision preparatory phase + +- MPI Communication cleanup & improvements using MPI3 + +- Loop fusion + +- Tiling + +- Improved computational performance of solar penetration scheme diff --git a/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg b/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg index 24a0667fdb27b1e5c4e673aae7216b6da817e35a..7f302e9a0770f7aafe9596bf6d99a9449fe77169 100644 --- a/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg +++ b/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg @@ -403,15 +403,15 @@ ln_tsdiff = .true. ! account for differential T/S mixing (T) or not (F) cn_dir = './' ! root directory for the iwm data location - !___________!_________________________!___________________!___________!_____________!________!___________!__________________!__________!_______________! - ! ! file name ! frequency (hours) ! variable ! time interp.! clim ! 'yearly'/ ! weights filename ! rotation ! land/sea mask ! - ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! ! pairing ! filename ! - sn_mpb = 'zdfiwm_forcing' , -12. , 'power_bot' , .false. , .true. , 'yearly' , '' , '' , '' - sn_mpc = 'zdfiwm_forcing' , -12. , 'power_cri' , .false. , .true. , 'yearly' , '' , '' , '' - sn_mpn = 'zdfiwm_forcing' , -12. , 'power_nsq' , .false. , .true. , 'yearly' , '' , '' , '' - sn_mps = 'zdfiwm_forcing' , -12. , 'power_sho' , .false. , .true. , 'yearly' , '' , '' , '' - sn_dsb = 'zdfiwm_forcing' , -12. , 'scale_bot' , .false. , .true. , 'yearly' , '' , '' , '' - sn_dsc = 'zdfiwm_forcing' , -12. , 'scale_cri' , .false. , .true. , 'yearly' , '' , '' , '' + !___________!_________________________!___________________!_____________!_____________!________!___________!__________________!__________!_______________! + ! ! file name ! frequency (hours) ! variable ! time interp.! clim ! 'yearly'/ ! weights filename ! rotation ! land/sea mask ! + ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! ! pairing ! filename ! + sn_mpb = 'zdfiwm_forcing_orca2' , -12. , 'power_bot' , .false. , .true. , 'yearly' , '' , '' , '' + sn_mpc = 'zdfiwm_forcing_orca2' , -12. , 'power_cri' , .false. , .true. , 'yearly' , '' , '' , '' + sn_mpn = 'zdfiwm_forcing_orca2' , -12. , 'power_nsq' , .false. , .true. , 'yearly' , '' , '' , '' + sn_mps = 'zdfiwm_forcing_orca2' , -12. , 'power_sho' , .false. , .true. , 'yearly' , '' , '' , '' + sn_dsb = 'zdfiwm_forcing_orca2' , -12. , 'scale_bot' , .false. , .true. , 'yearly' , '' , '' , '' + sn_dsc = 'zdfiwm_forcing_orca2' , -12. , 'scale_cri' , .false. , .true. , 'yearly' , '' , '' , '' / !!====================================================================== !! *** Diagnostics namelists *** !! diff --git a/cfgs/SHARED/namelist_top_ref b/cfgs/SHARED/namelist_top_ref index edc231127bb95e47cb6738ff43035048c2ded707..08aa0139b5a469031f4e03362939ba8de3cc3fd6 100644 --- a/cfgs/SHARED/namelist_top_ref +++ b/cfgs/SHARED/namelist_top_ref @@ -100,15 +100,20 @@ nitermax = 2 ! number of iterations for sedimentation / !----------------------------------------------------------------------- +&namtrc_dcy ! Diurnal cycle +!----------------------------------------------------------------------- + ln_trcdc2dm = .false. ! Diurnal cycle for TOP +/ +!----------------------------------------------------------------------- &namtrc_opt ! light availability in the water column !----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! - sn_par = 'par.orca' , 24 , 'fr_par' , .true. , .true. , 'yearly' , '' , '' , '' - cn_dir = './' ! root directory for the location of the dynamical files - ln_varpar = .true. ! Read PAR from file - parlux = 0.43 ! Fraction of shortwave as PAR - light_loc = 'center' ! Light location in the water cell ('center', 'integral') +! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! +! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! + sn_par = 'par.orca' , 24 , 'fr_par' , .true. , .true. , 'yearly' , '' , '' , '' + cn_dir = './' ! root directory for the location of the dynamical files + ln_varpar = .true. ! Read PAR from file + parlux = 0.43 ! Fraction of shortwave as PAR + light_loc = 'center' ! Light location in the water cell ('center', 'integral') / !----------------------------------------------------------------------- &namtrc_dmp ! passive tracer newtonian damping (ln_trcdmp=T) 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, +/ diff --git a/src/ICE/icedyn_rhg_evp.F90 b/src/ICE/icedyn_rhg_evp.F90 index 2efe027c4f8e0cc917a521ec1f35a20e6f226c70..d550b469a2890b64c1a77f80a84ca0701ec1ceea 100644 --- a/src/ICE/icedyn_rhg_evp.F90 +++ b/src/ICE/icedyn_rhg_evp.F90 @@ -453,7 +453,7 @@ CONTAINS ! stress at F points (zkt/=0 if landfast) zs12(ji,jj)= ( zs12(ji,jj) * zalph2 + zp_delf * ( zds(ji,jj) * z1_ecc2 * (1._wp + zkt) ) * 0.5_wp ) & - & * z1_alph2 * zmsk(ji,jj) ! zmsk is for reducing cpu + & * z1_alph2 END_2D diff --git a/src/OCE/DOM/domzgr_substitute.h90 b/src/OCE/DOM/domzgr_substitute.h90 index 4050f04e108e6ea9b69162598c8bb1776b88ab16..35e60fa876232325883d5c7bc5cd2fb49effd4d3 100644 --- a/src/OCE/DOM/domzgr_substitute.h90 +++ b/src/OCE/DOM/domzgr_substitute.h90 @@ -48,7 +48,7 @@ # define r1_hv(i,j,t) r1_hv_0(i,j) # define gdept(i,j,k,t) gdept_0(i,j,k) # define gdepw(i,j,k,t) gdepw_0(i,j,k) -# define gde3w(i,j,k) (gdept_0(i,j,k)-ssh(i,j,Kmm)) +# define gde3w(i,j,k) gdept_0(i,j,k) #endif !!---------------------------------------------------------------------- diff --git a/src/OCE/SBC/sbcblk.F90 b/src/OCE/SBC/sbcblk.F90 index a88f532dc52a56a7ac794b9dcb4433e7a34701e8..a686596427053376cce721eb1c0af58acc9ebb99 100644 --- a/src/OCE/SBC/sbcblk.F90 +++ b/src/OCE/SBC/sbcblk.F90 @@ -36,6 +36,7 @@ MODULE sbcblk USE phycst ! physical constants USE fldread ! read input fields USE sbc_oce ! Surface boundary condition: ocean fields + USE trc_oce ! share SMS/Ocean variables USE cyclone ! Cyclone 10m wind form trac of cyclone centres USE sbcdcy ! surface boundary condition: diurnal cycle USE sbcwave , ONLY : cdn_wave ! wave module @@ -592,6 +593,18 @@ CONTAINS wndj_ice(:,:) = sf(jp_wndj)%fnow(:,:,1) ENDIF #endif + +#if defined key_top + IF( ln_trcdc2dm ) THEN ! diurnal cycle in TOP + IF( MOD( kt - 1, nn_fsbc ) == 0 ) THEN + IF( ln_dm2dc ) THEN + qsr_mean(:,:) = ( 1. - albo ) * sf(jp_qsr)%fnow(:,:,1) * tmask(:,:,1) + ELSE + ncpl_qsr_freq = sf(jp_qsr)%freqh * 3600 ! qsr_mean will be computed in TOP + ENDIF + ENDIF + ENDIF +#endif ! END SUBROUTINE sbc_blk diff --git a/src/OCE/SBC/sbccpl.F90 b/src/OCE/SBC/sbccpl.F90 index 05070b410a823177a2029e61964eb95a29268c14..eddf626a522f3479f787e155a6dc76ed02900634 100644 --- a/src/OCE/SBC/sbccpl.F90 +++ b/src/OCE/SBC/sbccpl.F90 @@ -1195,8 +1195,6 @@ CONTAINS IF( ln_dm2dc .AND. ncpl_qsr_freq /= 86400 ) & & CALL ctl_stop( 'sbc_cpl_rcv: diurnal cycle reconstruction (ln_dm2dc) needs daily couping for solar radiation' ) - IF( ncpl_qsr_freq /= 0) ncpl_qsr_freq = 86400 / ncpl_qsr_freq ! used by top - IF ( ln_wave .AND. nn_components == 0 ) THEN ncpl_qsr_freq = 1; WRITE(numout,*) 'ncpl_qsr_freq is set to 1 when coupling NEMO with wave (without SAS) ' diff --git a/src/OCE/SBC/sbcflx.F90 b/src/OCE/SBC/sbcflx.F90 index efd86a49e6d5194ecb5addeefed27ec8999a541c..c9ad4fcb5df00ee1384f884615a47ecd87470b2d 100644 --- a/src/OCE/SBC/sbcflx.F90 +++ b/src/OCE/SBC/sbcflx.F90 @@ -14,6 +14,7 @@ MODULE sbcflx USE oce ! ocean dynamics and tracers USE dom_oce ! ocean space and time domain USE sbc_oce ! surface boundary condition: ocean fields + USE trc_oce ! share SMS/Ocean variables USE sbcdcy ! surface boundary condition: diurnal cycle on qsr USE phycst ! physical constants ! @@ -134,6 +135,17 @@ CONTAINS qsr(ji,jj) = sf(jp_qsr)%fnow(ji,jj,1) * tmask(ji,jj,1) END_2D ENDIF +#if defined key_top + IF( ln_trcdc2dm ) THEN ! diurnal cycle in TOP + IF( ln_dm2dc ) THEN + DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) + qsr_mean(ji,jj) = sf(jp_qsr)%fnow(ji,jj,1) * tmask(ji,jj,1) + END_2D + ELSE + ncpl_qsr_freq = sf(jp_qsr)%freqh * 3600 ! qsr_mean will be computed in TOP + ENDIF + ENDIF +#endif DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! set the ocean fluxes from read fields utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1) * umask(ji,jj,1) vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1) * vmask(ji,jj,1) @@ -164,7 +176,7 @@ CONTAINS DO_2D( 0, 0, 0, 0 ) ztx = ( utau(ji-1,jj ) + utau(ji,jj) ) * 0.5_wp * ( 2._wp - MIN( umask(ji-1,jj ,1), umask(ji,jj,1) ) ) zty = ( vtau(ji ,jj-1) + vtau(ji,jj) ) * 0.5_wp * ( 2._wp - MIN( vmask(ji ,jj-1,1), vmask(ji,jj,1) ) ) - zmod = 0.5_wp * SQRT( ztx * ztx + zty * zty ) * tmask(ji,jj,1) + zmod = SQRT( ztx * ztx + zty * zty ) * tmask(ji,jj,1) taum(ji,jj) = zmod wndm(ji,jj) = SQRT( zmod * zcoef ) !!clem: not used? END_2D diff --git a/src/OCE/trc_oce.F90 b/src/OCE/trc_oce.F90 index d2489107d674bb52ee75dce30b0137be4ba51a60..f7b8309ee1cf970be0bbca6954d5c308ee667b70 100644 --- a/src/OCE/trc_oce.F90 +++ b/src/OCE/trc_oce.F90 @@ -26,9 +26,11 @@ MODULE trc_oce LOGICAL , PUBLIC :: l_co2cpl = .false. !: atmospheric pco2 recieved from oasis LOGICAL , PUBLIC :: l_offline = .false. !: offline passive tracers flag REAL(wp), PUBLIC :: r_si2 !: largest depth of extinction (blue & 0.01 mg.m-3) (RGB) + LOGICAL , PUBLIC :: ln_trcdc2dm !: Diurnal cycle for TOP ! REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: etot3 !: light absortion coefficient REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:) :: oce_co2 !: ocean carbon flux + REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qsr_mean !: daily mean qsr #if defined key_top !!---------------------------------------------------------------------- @@ -52,7 +54,8 @@ CONTAINS !!---------------------------------------------------------------------- !! *** trc_oce_alloc *** !!---------------------------------------------------------------------- - ALLOCATE( etot3(jpi,jpj,jpk), oce_co2(jpi,jpj), STAT=trc_oce_alloc ) + ALLOCATE( etot3(jpi,jpj,jpk), oce_co2(jpi,jpj), qsr_mean(jpi,jpj), STAT=trc_oce_alloc ) + IF( trc_oce_alloc /= 0 ) CALL ctl_warn('trc_oce_alloc: failed to allocate etot3 array') ! END FUNCTION trc_oce_alloc diff --git a/src/OFF/dtadyn.F90 b/src/OFF/dtadyn.F90 index a1b1045d03af154121a0db503fc8a4c84bb168f7..7d66832b088bb99cce01becf27cf54f0ab5b5eb4 100644 --- a/src/OFF/dtadyn.F90 +++ b/src/OFF/dtadyn.F90 @@ -359,6 +359,8 @@ CONTAINS #endif ENDIF ! + ncpl_qsr_freq = sf_dyn(jf_qsr)%freqh * 3600 ! Get qsr frequency ( needed if diurnal cycle in TOP + ! CALL dta_dyn_rnf_init( Kmm ) ! CALL dta_dyn( nit000, Kbb, Kmm, Kaa ) diff --git a/src/SAS/sbcssm.F90 b/src/SAS/sbcssm.F90 index 23cdd66e67136615ad70bd63c4d1ccded4b6e3d9..bd72a97a2fce97df86563d71cf83918224b12e7f 100644 --- a/src/SAS/sbcssm.F90 +++ b/src/SAS/sbcssm.F90 @@ -129,9 +129,9 @@ CONTAINS ssu_m(:,:) = 0._wp ssv_m(:,:) = 0._wp ssh_m(:,:) = 0._wp - IF( .NOT. ln_linssh ) e3t_m(:,:) = e3t_0(:,:,1) !clem: necessary at least for sas2D + e3t_m(:,:) = e3t_0(:,:,1) !clem: necessary at least for sas2D frq_m(:,:) = 1._wp ! - - - ssh (:,:,Kmm) = 0._wp ! - - + ssh (:,:,Kmm) = 0._wp ! - - ENDIF IF ( nn_ice == 1 ) THEN @@ -159,7 +159,7 @@ CONTAINS CALL iom_put( 'sst_m', sst_m ) CALL iom_put( 'sss_m', sss_m ) CALL iom_put( 'ssh_m', ssh_m ) - IF( .NOT.ln_linssh ) CALL iom_put( 'e3t_m', e3t_m ) + CALL iom_put( 'e3t_m', e3t_m ) IF( ln_read_frq ) CALL iom_put( 'frq_m', frq_m ) ENDIF ! diff --git a/src/TOP/PISCES/P4Z/p4zopt.F90 b/src/TOP/PISCES/P4Z/p4zopt.F90 index 51e95a5dcacc15c49d8e39414942a5445fe90f6c..8daf2edf7158c96c2bc66a17c5225e52ba819a7a 100644 --- a/src/TOP/PISCES/P4Z/p4zopt.F90 +++ b/src/TOP/PISCES/P4Z/p4zopt.F90 @@ -107,7 +107,7 @@ CONTAINS ! for an explicit diurnal cycle ! (2) no diurnal cycle of SW is active and in that case, QSR is used. ! -------------------------------------------- - IF( l_trcdm2dc ) THEN ! diurnal cycle + IF( ln_trcdc2dm ) THEN ! diurnal cycle IF ( ln_p4z_dcyc ) THEN ! Diurnal cycle in PISCES ! ! diff --git a/src/TOP/trc.F90 b/src/TOP/trc.F90 index 0b713e5ea38128671add9cedc7cd843240602eae..d5b85e041f9f4a1a60f4dfe167cb6bba7b329b68 100644 --- a/src/TOP/trc.F90 +++ b/src/TOP/trc.F90 @@ -45,7 +45,6 @@ MODULE trc REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gtrv !: hor. gradient at v-points at bottom ocean level REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gtrui !: hor. gradient at u-points at top ocean level REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gtrvi !: hor. gradient at v-points at top ocean level - REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qsr_mean !: daily mean qsr !! passive tracers (input and output) !! ------------------------------------------ @@ -167,7 +166,7 @@ CONTAINS & neln(jpi,jpj) , heup(jpi,jpj) , heup_01(jpi,jpj) , & & etot(jpi,jpj,jpk) , etot_ndcy(jpi,jpj,jpk) , & & sbc_trc_b(jpi,jpj,jptra), sbc_trc(jpi,jpj,jptra) , & - & cvol(jpi,jpj,jpk) , trai(jptra) , qsr_mean(jpi,jpj) , & + & cvol(jpi,jpj,jpk) , trai(jptra) , & & ctrcnm(jptra) , ctrcln(jptra) , ctrcun(jptra) , & & ln_trc_ini(jptra) , & & ln_trc_sbc(jptra) , ln_trc_cbc(jptra) , ln_trc_obc(jptra) , & diff --git a/src/TOP/trcnam.F90 b/src/TOP/trcnam.F90 index fdde13d762319a596669beeeee4438d86349eb8c..cacbe617105a4851b262e05392c3fdea4b542782 100644 --- a/src/TOP/trcnam.F90 +++ b/src/TOP/trcnam.F90 @@ -80,6 +80,9 @@ CONTAINS WRITE(numout,*) WRITE(numout,*) ' ==>>> Passive Tracer time step = rn_Dt = ', rn_Dt ENDIF + ! + CALL trc_nam_dcy ! Diurnal Cycle + ! IF( l_trdtrc ) CALL trc_nam_trd ! Passive tracer trends ! @@ -225,6 +228,34 @@ CONTAINS ! END SUBROUTINE trc_nam_trc + SUBROUTINE trc_nam_dcy + !!--------------------------------------------------------------------- + !! *** ROUTINE trc_nam_dcy *** + !! + !! ** Purpose : read options for the passive tracer diagnostics + !! + !!--------------------------------------------------------------------- + INTEGER :: ios, ierr ! Local integer + !! + NAMELIST/namtrc_dcy/ ln_trcdc2dm + !!--------------------------------------------------------------------- + ! + IF(lwp) WRITE(numout,*) + IF(lwp) WRITE(numout,*) 'trc_nam_dcy : read the passive tracer diurnal cycle options' + IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' + ! + READ ( numnat_ref, namtrc_dcy, IOSTAT = ios, ERR = 905) +905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dcy in reference namelist' ) + READ ( numnat_cfg, namtrc_dcy, IOSTAT = ios, ERR = 906 ) +906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_dcy in configuration namelist' ) + IF(lwm) WRITE( numont, namtrc_dcy ) + + IF(lwp) THEN + WRITE(numout,*) ' Namelist : namtrc_dcy ' + WRITE(numout,*) ' Diurnal cycle for TOP ln_trcdc2dm = ', ln_trcdc2dm + ENDIF + + END SUBROUTINE trc_nam_dcy SUBROUTINE trc_nam_trd !!--------------------------------------------------------------------- diff --git a/src/TOP/trcstp.F90 b/src/TOP/trcstp.F90 index 380924186e23f76e679112b812e3b7ec602bdcda..124269c63a1107824dc2ff42089ed503bd7bdb4c 100644 --- a/src/TOP/trcstp.F90 +++ b/src/TOP/trcstp.F90 @@ -142,12 +142,10 @@ CONTAINS SUBROUTINE trc_stp_ctl !!---------------------------------------------------------------------- !! *** ROUTINE trc_stp_ctl *** - !! ** Purpose : Control + ocean volume !!---------------------------------------------------------------------- ! ! Define logical parameter ton control dirunal cycle in TOP - l_trcdm2dc = ln_dm2dc .OR. ( ln_cpl .AND. ncpl_qsr_freq /= 1 .AND. ncpl_qsr_freq /= 0 ) - l_trcdm2dc = l_trcdm2dc .AND. .NOT. l_offline + l_trcdm2dc = ( ln_trcdc2dm .AND. .NOT. ln_dm2dc ) ! IF( l_trcdm2dc .AND. lwp ) CALL ctl_warn( 'Coupling with passive tracers and used of diurnal cycle.', & & 'Computation of a daily mean shortwave for some biogeochemical models ' ) @@ -178,13 +176,9 @@ CONTAINS IF( ln_timing ) CALL timing_start('trc_mean_qsr') ! IF( kt == nittrc000 ) THEN - IF( ln_cpl ) THEN - rdt_sampl = rday / ncpl_qsr_freq - nb_rec_per_day = ncpl_qsr_freq - ELSE - rdt_sampl = MAX( 3600., rn_Dt ) - nb_rec_per_day = INT( rday / rdt_sampl ) - ENDIF + ! + rdt_sampl = REAL( ncpl_qsr_freq ) + nb_rec_per_day = INT( rday / ncpl_qsr_freq ) ! IF(lwp) THEN WRITE(numout,*) diff --git a/tests/ICE_AGRIF/EXPREF/1_namelist_cfg b/tests/ICE_AGRIF/EXPREF/1_namelist_cfg index d1028790e36deb9e89b4a3d8779b815cfddbe823..e7a02052b0adb4cb296ff8e63b8fb649a91f6772 100644 --- a/tests/ICE_AGRIF/EXPREF/1_namelist_cfg +++ b/tests/ICE_AGRIF/EXPREF/1_namelist_cfg @@ -104,7 +104,7 @@ !----------------------------------------------------------------------- &namagrif ! AGRIF zoom ("key_agrif") !----------------------------------------------------------------------- - ln_init_chfrpar = .true. ! initialize child grids from parent + ln_chk_bathy = .false. ! =T check the parent bathymetry / !!====================================================================== !! *** Top/Bottom boundary condition *** !! diff --git a/tests/ICE_AGRIF/EXPREF/namelist_cfg b/tests/ICE_AGRIF/EXPREF/namelist_cfg index 4c24668745bbd9ae0d486d8c664885155bb573c9..33b2ce8544be5316446550bc47dbb68f3cdbbb68 100644 --- a/tests/ICE_AGRIF/EXPREF/namelist_cfg +++ b/tests/ICE_AGRIF/EXPREF/namelist_cfg @@ -104,6 +104,7 @@ !----------------------------------------------------------------------- &namagrif ! AGRIF zoom ("key_agrif") !----------------------------------------------------------------------- + ln_chk_bathy = .false. ! =T check the parent bathymetry / !!====================================================================== !! *** Top/Bottom boundary condition *** !!