Changeset 12162
- Timestamp:
- 2019-12-10T17:11:51+01:00 (5 years ago)
- 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 3160 3160 author = "E. B. Kraus and J. A. Businger", 3161 3161 title = "Atmosphere-ocean interaction.", 3162 journal="Quarterly Journal of the Royal Meteorological Society", ,3162 journal="Quarterly Journal of the Royal Meteorological Society", 3163 3163 year = "1996", 3164 3164 volume = "122", … … 3205 3205 } 3206 3206 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 1 1 \documentclass[../main/NEMO_manual]{subfiles} 2 \usepackage{fontspec}3 \usepackage{fontawesome}4 2 5 3 \begin{document} … … 557 555 558 556 Note: all the NEMO Fortran routines involved in the present section have been 559 initially developed (and are still develop ped in parallel) in557 initially developed (and are still developed in parallel) in 560 558 the \href{https://brodeau.github.io/aerobulk/}{\texttt{AeroBulk}} open-source project 561 559 \citep{brodeau.barnier.ea_JPO17}. … … 568 566 % 569 567 \begin{subequations}\label{eq_bulk} 568 \label{eq:SBC_bulk_form} 570 569 \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 \\ 575 574 % 576 575 Q_{sr} &=& (1 - a) Q_{sw\downarrow} \\ … … 592 591 and longwave radiative fluxes, respectively. 593 592 % 594 Note: a positive sign of $\mathbf{\tau}$, the various fluxes of heat implies a595 gain of the relevant quantity for the ocean, while a positive $E$ implies a 596 freshwater loss for the ocean.593 Note: a positive sign for $\mathbf{\tau}$, $Q_H$, $Q_L$, $Q_{sr}$ or $Q_{ir}$ 594 implies a gain of the relevant quantity for the ocean, while a positive $E$ 595 implies a freshwater loss for the ocean. 597 596 % 598 597 $\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). 598 coefficients for momentum, sensible heat, and moisture, respectively. 601 599 % 602 600 $C_P$ is the heat capacity of moist air, and $L_v$ is the latent heat of … … 614 612 % 615 613 The 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. 617 615 % 618 616 $a$ and $\delta$ are the albedo and emissivity of the sea surface, respectively.\\ … … 621 619 % 622 620 $T_s$ is the sea surface temperature. $q_s$ is the saturation specific humidity 623 of air at temperature $T_s$ andincludes a 2\% reduction to account for the621 of air at temperature $T_s$; it includes a 2\% reduction to account for the 624 622 presence of salt in seawater \citep{sverdrup.johnson.ea_1942,kraus.businger_QJRMS96}. 625 623 Depending on the bulk parametrization used, $T_s$ can either be the temperature … … 637 635 (\np[=.true.]{ln_NCAR}{ln\_NCAR}) for which $T_s$ is the bulk SST (\ie~temperature 638 636 at first T-point level). 639 640 637 641 638 For more details on all these aspects the reader is invited to refer … … 656 653 657 654 658 For the open ocean, four bulk parametrization algorithms are available :655 For the open ocean, four bulk parametrization algorithms are available in NEMO: 659 656 \begin{itemize} 660 657 \item NCAR, formerly known as CORE, \citep{large.yeager_rpt04,large.yeager_CD09} 661 658 \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} 663 660 \item ECMWF (IFS documentation, cy45) 664 661 \end{itemize} 665 662 666 663 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. 664 With respect to version 3, the principal advances in version 3.6 of the COARE 665 bulk parametrization are built around improvements in the representation of the 666 effects of waves on 667 fluxes \citep{edson.jampana.ea_JPO13,brodeau.barnier.ea_JPO17}. This includes 668 improved relationships of surface roughness, and whitecap fraction on wave 669 parameters. It is therefore recommended to chose version 3.6 over 3. 671 670 672 671 … … 692 691 For the cool-skin scheme parametrization COARE and ECMWF algorithms share the same 693 692 basis: \citet{fairall.bradley.ea_JGR96}. With some minor updates based 694 on \citet{zeng.beljaars_GRL05} for ECMWF, and \citet{fairall. ea_19} for COARE693 on \citet{zeng.beljaars_GRL05} for ECMWF, and \citet{fairall.blomquist_rpt18} for COARE 695 694 3.6. 696 695 … … 699 698 turbulence input from Langmuir circulation). 700 699 701 Importantly, COARE warm-layer scheme \citep{fairall. ea_19} includes a prognostic700 Importantly, COARE warm-layer scheme \citep{fairall.blomquist_rpt18} includes a prognostic 702 701 equation for the thickness of the warm-layer, while it is considered as constant 703 702 in the ECWMF algorithm. 704 703 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 705 719 706 720 \subsection{Appropriate use of each bulk parametrization} … … 708 722 \subsubsection{NCAR} 709 723 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: 724 NCAR bulk parametrizations (formerly known as CORE) is meant to be used with the 725 CORE II atmospheric forcing \citep{large.yeager_CD09}. The expected sea surface 726 temperature is the bulk SST. Hence the following namelist parameters must be 727 set: 713 728 % 714 729 \begin{verbatim} … … 728 743 \subsubsection{ECMWF} 729 744 % 730 With a DFS* or any ECMWF-based type of atmospheric forcing, we strongly731 recommend to use the ECMWF bulk parametrizations with the cool-skin and 732 warm-layer parametrizations turned on. In ECMWF reanalyzes, since air733 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 as735 follows:745 With an atmospheric forcing based on a reanalysis of the ECMWF, such as the 746 Drakkar Forcing Set \citep{brodeau.barnier.ea_OM10}, we strongly recommend to 747 use the ECMWF bulk parametrizations with the cool-skin and warm-layer 748 parametrizations activated. In ECMWF reanalyzes, since air temperature and 749 humidity are provided at the 2\,m height, and given that the humidity is 750 distributed as the dew-point temperature, the namelist must be tuned as follows: 736 751 % 737 752 \begin{verbatim} … … 758 773 % 759 774 Since the ECMWF parametrization is largely based on the COARE* parametrization, 760 the two algorithms are very similar in terms of structure and closure approach761 (see \citet{brodeau.barnier.ea_JPO17} for the differences). As such, the 762 namelist tuning for COARE 3.x is identical to that ofECMWF:775 the two algorithms are very similar in terms of structure and closure 776 approach. As such, the namelist tuning for COARE 3.x is identical to that of 777 ECMWF: 763 778 % 764 779 \begin{verbatim} … … 777 792 778 793 779 ~ 794 %lulu 780 795 781 796 … … 845 860 846 861 \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 HightFrequency (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.) 848 863 \np{rn_zqt}{rn\_zqt}: is the height of humidity and temperature measurements (m) 849 864 \np{rn_zu}{rn\_zu}: is the height of wind measurements (m) … … 856 871 Its range must be between zero and one, and it is recommended to set it to 0 at low-resolution (ORCA2 configuration). 857 872 858 As for the flux paramet erization, information about the input data required by the model is provided in873 As for the flux parametrization, information about the input data required by the model is provided in 859 874 the namsbc\_blk namelist (see \autoref{subsec:SBC_fldread}). 860 875 -
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/src/OCE/SBC/sbcblk.F90
r12099 r12162 202 202 ENDIF 203 203 IF( ioptio /= 1 ) CALL ctl_stop( 'sbc_blk_init: Choose one and only one bulk algorithm' ) 204 205 206 207 204 208 205 ! !** initialization of the cool-skin / warm-layer parametrization … … 374 371 ! Sanity/consistence test on humidity at first time step to detect potential screw-up: 375 372 IF( kt == nit000 ) THEN 376 WRITE(numout,*) ''373 IF(lwp) WRITE(numout,*) '' 377 374 #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! :( ===' 379 376 #else 380 377 ztmp = SUM(tmask(:,:,1)) ! number of ocean points on local proc domain … … 397 394 END IF 398 395 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! ===' 400 397 #endif 401 WRITE(numout,*) ''398 IF(lwp) WRITE(numout,*) '' 402 399 END IF !IF( kt == nit000 ) 403 400 ! ! 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 43 43 PRIVATE 44 44 45 PUBLIC :: 45 PUBLIC :: TURB_NCAR ! called by sbcblk.F90 46 46 47 47 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 535 535 & pwnd(ji,jj), pUb(ji,jj), pslp(ji,jj), & 536 536 & pTau(ji,jj), zQsen, zQlat ) 537 537 538 538 zTs2 = pTs(ji,jj)*pTs(ji,jj) 539 539 zQlw = emiss_w*(prlw(ji,jj) - stefan*zTs2*zTs2) ! Net longwave flux … … 546 546 END SUBROUTINE UPDATE_QNSOL_TAU 547 547 548 548 549 549 SUBROUTINE BULK_FORMULA_VCTR( pzu, pTs, pqs, pTa, pqa, & 550 550 & pCd, pCh, pCe, & … … 601 601 END SUBROUTINE BULK_FORMULA_VCTR 602 602 603 603 604 604 SUBROUTINE BULK_FORMULA_SCLR( pzu, pTs, pqs, pTa, pqa, & 605 605 & pCd, pCh, pCe, &
Note: See TracChangeset
for help on using the changeset viewer.