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 12162 – NEMO

Changeset 12162


Ignore:
Timestamp:
2019-12-10T17:11:51+01:00 (4 years ago)
Author:
laurent
Message:

Catching up with "dev_r12072_MERGE_OPTION2_2019"

Location:
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/doc/latex/NEMO/main/bibliography.bib

    r12051 r12162  
    31603160author = "E. B. Kraus and J. A. Businger", 
    31613161title = "Atmosphere-ocean interaction.", 
    3162 journal="Quarterly Journal of the Royal Meteorological Society",, 
     3162journal="Quarterly Journal of the Royal Meteorological Society", 
    31633163year = "1996", 
    31643164volume = "122", 
     
    32053205} 
    32063206 
     3207@techreport{fairall.blomquist_rpt18, 
     3208  title         = "The {TOGA-COARE} bulk air-sea flux algorithm", 
     3209  pages         = "16", 
     3210  author        = "C. W. Fairall and B. Blomquist and L. Bariteau and J. B. Edson", 
     3211  institution   = "(NOAA/ERSL/PSD, Boulder, USA", 
     3212  year          = "2018", 
     3213  month         = "aug", 
     3214  url           = "ftp://ftp.etl.noaa.gov/BLO/Air-Sea/bulkalg/cor3_6/coare36_readme_1.doc" 
     3215} 
     3216 
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/doc/latex/NEMO/subfiles/chap_SBC.tex

    r12051 r12162  
    11\documentclass[../main/NEMO_manual]{subfiles} 
    2 \usepackage{fontspec} 
    3 \usepackage{fontawesome} 
    42 
    53\begin{document} 
     
    557555 
    558556Note: all the NEMO Fortran routines involved in the present section have been 
    559  initially developed (and are still developped in parallel) in 
     557 initially developed (and are still developed in parallel) in 
    560558 the \href{https://brodeau.github.io/aerobulk/}{\texttt{AeroBulk}} open-source project 
    561559\citep{brodeau.barnier.ea_JPO17}. 
     
    568566% 
    569567\begin{subequations}\label{eq_bulk} 
     568  \label{eq:SBC_bulk_form} 
    570569  \begin{eqnarray} 
    571     \mathbf{\tau} &=& \rho~ C_D ~ \mathbf{U}_z  ~ U_B \label{eq_b_t} \\ 
    572     Q_H           &=& \rho~C_H~C_P~\big[ \theta_z - T_s \big] ~ U_B \label{eq_b_qh} \\ 
    573     E             &=& \rho~C_E    ~\big[    q_s   - q_z \big] ~ U_B \label{eq_b_e}  \\ 
    574     Q_L           &=& -L_v \, E  \label{eq_b_qe} \\ 
     570    \mathbf{\tau} &=& \rho~ C_D ~ \mathbf{U}_z  ~ U_B \\ 
     571    Q_H           &=& \rho~C_H~C_P~\big[ \theta_z - T_s \big] ~ U_B \\ 
     572    E             &=& \rho~C_E    ~\big[    q_s   - q_z \big] ~ U_B \\ 
     573    Q_L           &=& -L_v \, E \\ 
    575574    % 
    576575    Q_{sr}        &=& (1 - a) Q_{sw\downarrow} \\ 
     
    592591and longwave radiative fluxes, respectively. 
    593592% 
    594 Note: a positive sign of $\mathbf{\tau}$, the various fluxes of heat implies a 
    595 gain of the relevant quantity for the ocean, while a positive $E$ implies a 
    596 freshwater loss for the ocean. 
     593Note: a positive sign for $\mathbf{\tau}$, $Q_H$, $Q_L$, $Q_{sr}$ or $Q_{ir}$ 
     594implies a gain of the relevant quantity for the ocean, while a positive $E$ 
     595implies a freshwater loss for the ocean. 
    597596% 
    598597$\rho$ is the density of air. $C_D$, $C_H$ and $C_E$ are the bulk transfer 
    599 coefficients for momentum, sensible heat, and moisture, respectively (hereafter 
    600 referred to as BTCs). 
     598coefficients for momentum, sensible heat, and moisture, respectively. 
    601599% 
    602600$C_P$ is the heat capacity of moist air, and $L_v$ is the latent heat of 
     
    614612% 
    615613The bulk scalar wind speed, namely $U_B$, is the scalar wind speed, 
    616 $|\mathbf{U}_z|$, with the potential inclusion of a gustiness contribution . 
     614$|\mathbf{U}_z|$, with the potential inclusion of a gustiness contribution. 
    617615% 
    618616$a$ and $\delta$ are the albedo and emissivity of the sea surface, respectively.\\ 
     
    621619% 
    622620$T_s$ is the sea surface temperature. $q_s$ is the saturation specific humidity 
    623 of air at temperature $T_s$ and includes a 2\% reduction to account for the 
     621of air at temperature $T_s$; it includes a 2\% reduction to account for the 
    624622presence of salt in seawater \citep{sverdrup.johnson.ea_1942,kraus.businger_QJRMS96}. 
    625623Depending on the bulk parametrization used, $T_s$ can either be the temperature 
     
    637635(\np[=.true.]{ln_NCAR}{ln\_NCAR}) for which $T_s$ is the bulk SST (\ie~temperature 
    638636at first T-point level). 
    639  
    640637 
    641638For more details on all these aspects the reader is invited to refer 
     
    656653 
    657654 
    658 For the open ocean, four bulk parametrization algorithms are available: 
     655For the open ocean, four bulk parametrization algorithms are available in NEMO: 
    659656\begin{itemize} 
    660657\item NCAR, formerly known as CORE, \citep{large.yeager_rpt04,large.yeager_CD09} 
    661658\item COARE 3.0 \citep{fairall.bradley.ea_JC03} 
    662 \item COARE 3.6 \citep{edson.jampana.ea_JPO13} 
     659\item COARE 3.6 \citep{edson.jampana.ea_JPO13,fairall.blomquist_rpt18} 
    663660\item ECMWF (IFS documentation, cy45) 
    664661\end{itemize} 
    665662 
    666663 
    667 Differences between versions 3.0 and 3.6 of the COARE algorithm mainly ... wind 
    668 stress BLABLA \citep{edson.jampana.ea_JPO13,brodeau.barnier.ea_JPO17}. 
    669 Therefore it is recommanded to use version 3.6 of the COARE algorithms rather 
    670 than version 3. 
     664With respect to version 3, the principal advances in version 3.6 of the COARE 
     665bulk parametrization are built around improvements in the representation of the 
     666effects of waves on 
     667fluxes \citep{edson.jampana.ea_JPO13,brodeau.barnier.ea_JPO17}. This includes 
     668improved relationships of surface roughness, and whitecap fraction on wave 
     669parameters. It is therefore recommended to chose version 3.6 over 3. 
    671670 
    672671 
     
    692691For the cool-skin scheme parametrization COARE and ECMWF algorithms share the same 
    693692basis: \citet{fairall.bradley.ea_JGR96}. With some minor updates based 
    694 on \citet{zeng.beljaars_GRL05} for ECMWF, and \citet{fairall.ea_19} for COARE 
     693on \citet{zeng.beljaars_GRL05} for ECMWF, and \citet{fairall.blomquist_rpt18} for COARE 
    6956943.6. 
    696695 
     
    699698turbulence input from Langmuir circulation). 
    700699 
    701 Importantly, COARE warm-layer scheme \citep{fairall.ea_19} includes a prognostic 
     700Importantly, COARE warm-layer scheme \citep{fairall.blomquist_rpt18} includes a prognostic 
    702701equation for the thickness of the warm-layer, while it is considered as constant 
    703702in the ECWMF algorithm. 
    704703 
     704\begin{figure}[!t] 
     705  \centering 
     706  \includegraphics[width=0.96\textwidth]{SBC_dT_skin-SST} 
     707  \caption[Skin temperature]{Hourly difference between skin temperature and 
     708  bulk SST (1\,m deep) simulated by the NEMO \texttt{STATION\_ASF} test-case, 
     709  based on in-situ data from PAPA station (50.1\deg N, 144.9\deg W) in 2018; for 
     710  two different sets of ``bulk algorithm + cool-skin/warm-layer 
     711  parametrizations'': COARE 3.6 and ECMWF.} 
     712  \label{fig:SBC_dT_skin-SST} 
     713\end{figure} 
     714 
     715 
     716% 
     717 
     718 
    705719 
    706720\subsection{Appropriate use of each bulk parametrization} 
     
    708722\subsubsection{NCAR} 
    709723 
    710 NCAR bulk parametrizations (formerly know as CORE) is meant to be used with the 
    711 CORE II atmospheric forcing \citep{large.yeager_CD09}. Hence the following 
    712 namelist parameters must be set: 
     724NCAR bulk parametrizations (formerly known as CORE) is meant to be used with the 
     725CORE II atmospheric forcing \citep{large.yeager_CD09}. The expected sea surface 
     726temperature is the bulk SST. Hence the following namelist parameters must be 
     727set: 
    713728% 
    714729\begin{verbatim} 
     
    728743\subsubsection{ECMWF} 
    729744% 
    730 With a DFS* or any ECMWF-based type of atmospheric forcing, we strongly 
    731 recommend to use the ECMWF bulk parametrizations with the cool-skin and 
    732 warm-layer parametrizations turned on. In ECMWF reanalyzes, since air 
    733 temperature and humidity are provided at the 2\,m height, and given that the 
    734 humidity is provided as the dew-point temperature, the namelist must be tuned as 
    735 follows: 
     745With an atmospheric forcing based on a reanalysis of the ECMWF, such as the 
     746Drakkar Forcing Set \citep{brodeau.barnier.ea_OM10}, we strongly recommend to 
     747use the ECMWF bulk parametrizations with the cool-skin and warm-layer 
     748parametrizations activated. In ECMWF reanalyzes, since air temperature and 
     749humidity are provided at the 2\,m height, and given that the humidity is 
     750distributed as the dew-point temperature, the namelist must be tuned as follows: 
    736751% 
    737752\begin{verbatim} 
     
    758773% 
    759774Since the ECMWF parametrization is largely based on the COARE* parametrization, 
    760 the two algorithms are very similar in terms of structure and closure approach 
    761 (see \citet{brodeau.barnier.ea_JPO17} for the differences). As such, the 
    762 namelist tuning for COARE 3.x is identical to that of ECMWF: 
     775the two algorithms are very similar in terms of structure and closure 
     776approach. As such, the namelist tuning for COARE 3.x is identical to that of 
     777ECMWF: 
    763778% 
    764779\begin{verbatim} 
     
    777792 
    778793 
    779 ~ 
     794%lulu 
    780795 
    781796 
     
    845860 
    846861\np{cn_dir}{cn\_dir} is the directory of location of bulk files 
    847 \np{ln_taudif}{ln\_taudif} is the flag to specify if we use Hight Frequency (HF) tau information (.true.) or not (.false.) 
     862%\np{ln_taudif}{ln\_taudif} is the flag to specify if we use High Frequency (HF) tau information (.true.) or not (.false.) 
    848863\np{rn_zqt}{rn\_zqt}: is the height of humidity and temperature measurements (m) 
    849864\np{rn_zu}{rn\_zu}: is the height of wind measurements (m) 
     
    856871Its range must be between zero and one, and it is recommended to set it to 0 at low-resolution (ORCA2 configuration). 
    857872 
    858 As for the flux parameterization, information about the input data required by the model is provided in 
     873As for the flux parametrization, information about the input data required by the model is provided in 
    859874the namsbc\_blk namelist (see \autoref{subsec:SBC_fldread}). 
    860875 
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk.F90

    r12099 r12162  
    202202      ENDIF 
    203203      IF( ioptio /= 1 )   CALL ctl_stop( 'sbc_blk_init: Choose one and only one bulk algorithm' ) 
    204  
    205  
    206  
    207204 
    208205      !                             !** initialization of the cool-skin / warm-layer parametrization 
     
    374371      ! Sanity/consistence test on humidity at first time step to detect potential screw-up: 
    375372      IF( kt == nit000 ) THEN 
    376          WRITE(numout,*) '' 
     373         IF(lwp) WRITE(numout,*) '' 
    377374#if defined key_agrif 
    378          WRITE(numout,*) ' === AGRIF => Sanity/consistence test on air humidity SKIPPED! :( ===' 
     375         IF(lwp) WRITE(numout,*) ' === AGRIF => Sanity/consistence test on air humidity SKIPPED! :( ===' 
    379376#else 
    380377         ztmp = SUM(tmask(:,:,1)) ! number of ocean points on local proc domain 
     
    397394            END IF 
    398395         END IF 
    399          WRITE(numout,*) ' === Sanity/consistence test on air humidity sucessfuly passed! ===' 
     396         IF(lwp) WRITE(numout,*) ' === Sanity/consistence test on air humidity sucessfuly passed! ===' 
    400397#endif 
    401          WRITE(numout,*) '' 
     398         IF(lwp) WRITE(numout,*) '' 
    402399      END IF !IF( kt == nit000 ) 
    403400      !                                            ! compute the surface ocean fluxes using bulk formulea 
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_algo_ncar.F90

    r12039 r12162  
    4343   PRIVATE 
    4444 
    45    PUBLIC ::   TURB_NCAR   ! called by sbcblk.F90 
     45   PUBLIC :: TURB_NCAR   ! called by sbcblk.F90 
    4646 
    4747   INTEGER , PARAMETER ::   nb_itt = 5        ! number of itterations 
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk_phy.F90

    r11988 r12162  
    535535               &              pwnd(ji,jj), pUb(ji,jj), pslp(ji,jj),                 & 
    536536               &              pTau(ji,jj), zQsen, zQlat ) 
    537              
     537 
    538538            zTs2  = pTs(ji,jj)*pTs(ji,jj) 
    539539            zQlw  = emiss_w*(prlw(ji,jj) - stefan*zTs2*zTs2) ! Net longwave flux 
     
    546546   END SUBROUTINE UPDATE_QNSOL_TAU 
    547547 
    548     
     548 
    549549   SUBROUTINE BULK_FORMULA_VCTR( pzu, pTs, pqs, pTa, pqa,  & 
    550550      &                          pCd, pCh, pCe,            & 
     
    601601   END SUBROUTINE BULK_FORMULA_VCTR 
    602602 
    603     
     603 
    604604   SUBROUTINE BULK_FORMULA_SCLR( pzu, pTs, pqs, pTa, pqa, & 
    605605      &                          pCd, pCh, pCe,           & 
Note: See TracChangeset for help on using the changeset viewer.