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.
2019WP/ASINTER-05_Brodeau_Advanced_Bulk (diff) – NEMO

Changes between Version 3 and Version 4 of 2019WP/ASINTER-05_Brodeau_Advanced_Bulk


Ignore:
Timestamp:
2019-07-05T13:50:22+02:00 (5 years ago)
Author:
laurent
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2019WP/ASINTER-05_Brodeau_Advanced_Bulk

    v3 v4  
    1 = ASINTER-05_Brodeau_Advanced_Bulk 
     1= ASINTER-05_Brodeau_Advanced_Bulk = 
    22 
    33Last edition: '''[[Wikinfo(changed_ts)]]''' by '''[[Wikinfo(changed_by)]]''' 
     
    77[[PageOutline(2, , inline)]] 
    88 
    9 == Summary 
     9== Summary == 
    1010 
    1111See ticket #2159 [https://forge.ipsl.jussieu.fr/nemo/ticket/2159] 
     
    3232 
    3333 
    34 == Preview  
     34== Preview == 
     35 
     36=== Modified modules ''aka'' source files === 
     37 
     38(Forked from NEMOGCM trunk at rev 11085) 
     39 
     40* `DOM/phycst.F90` 
     41 * Moved/merged all physical parameters previously declared into `sbcblk.F90` into `phycst.F90` (keeping the name they had in phycst.F90 when previously declared in both modules with a different name) 
     42 
     43* `SBC/sbc_oce.F90` 
     44 * Added `tsk`, public 2D array to contain the sea-surface skin temperature from the cool-skin/warm-layer parameterization [Celsius] 
     45 * Added `rhoa`, public 2D array to contain the air density at z=zu [kg/m3] 
     46 
     47* `SBC/sbcblk.F90` 
     48 * Moved/merged all physical parameters previously declared into `sbcblk.F90` into `phycst.F90` (keeping the name they had in phycst.F90 when previously declared in both modules with a different name) 
     49 * Moved all the functions for air thermodynamics into a new module: `SBC/sbcblk_phy.F90` 
     50 * New namelist parameters to namelist's section `namsbc_blk`:  
     51  * `ln_skin` 
     52  * `ln_humi_dpt` 
     53 * Added function FUNCTION sbc_blk_cswl_alloc() to allocate array `tsk` (declared into `sbc_oce.F90`). 
     54 * Added part where `turb_ecmwf` (and soon turb_coare*) is called with Qlw, rad_sw, & slp (optional arguments) in case of ln_skin=.true. 
     55 * 0.98 now becomes `rdct_qsat_salt` (into `phycst.F90`) 
     56 * Longwave radiative flux component `zqlw` now computed after turbulent fluxes are, because needs the updated skin temperature which comes out the `turb_ecmwf` (and soon turb_coare*) function 
     57 * Corrected mistake: no `rdct_qsat_salt` factor for q_sat over ice! (zqi_sat) 
     58 * Added XIOS `iom_put` for density of air (rho_air), and skin temperature 
     59 * Added local arrays `zqair` to contain specific humidity of air at height `rn_zqt` 
     60 * When ln_humi_dpt=.true., `zqair` is deduced from the dew-point temperature (read into `sn_humi` file) and the SLP. When ln_humi_dpt=.false., `zqair` is simply what is read into `sn_humi` file 
     61 * rhoa (air density at height `rn_zu`, declared into `sbc_oce.F90`) is updated once for all in `blk_oce()` instead of being computed their and their in different locations. 
     62 
     63* `SBC/sbcblk_algo_ecmwf.F90` 
     64 * Increased numerical stability to handle non-realistic values over land points, which caused systematic crash in old version (such as in 4.0) ''What’s really new:'' 
     65 * The use of the cool-skin/warm-layer parameterization is triggered when optional arguments `Qsw, rad_lw, slp` are specified when calling `turb_ecmwf` 
     66  * In each iteration step, estimation of solar and non-solar components of net surface heat flux is done prior to call to subroutine CSWL_ECMWF (defined into `SBC/sbcblk_skin.F90`) 
     67 * Some variables renamed for clarity, ex: sst → T_s 
     68 * Function `visc_air` moved to `sbcblk_phy.F90`... 
     69 * Use of official function `Ri_bulk()` defined into `SBC/sbcblk_skin.F90` 
     70 
     71* `SBC/sbcblk_algo_coare.F90` 
     72 * Increased numerical stability to handle non-realistic values over land points, which caused systematic crash in old version (such as in 4.0) ''What’s really new:'' 
     73 * The use of the cool-skin/warm-layer parameterization is triggered when optional arguments `Qsw, rad_lw, slp` are specified when calling `turb_coare` 
     74 * In each iteration step, estimation of solar and non-solar components of net surface heat flux is done prior to call to subroutine CSWL_ECMWF (defined into `SBC/sbcblk_skin.F90`) 
     75 * Some variables renamed for clarity, ex: sst → T_s 
     76 * Function `visc_air` moved to `sbcblk_phy.F90`... 
     77 * Use of official functions `One_on_L()` and `Ri_bulk()` defined into `SBC/sbcblk_skin.F90` 
     78 
     79* `SBC/sbcblk_algo_ncar.F90` 
     80 * Bla bla to come... 
     81 
     82 
     83==== New modules ''aka'' source files ==== 
     84* `SBC/sbcblk_phy.F90` [ catalogue of functions for non constant physical parameters in the MBL (Marine Boundary Layer) ] ''Gathers the following functions:'' 
     85 * virt_temp 
     86 * Rho_air 
     87 * Visc_air 
     88 * L_vap 
     89 * cp_air 
     90 * gamma_moist 
     91 * One_on_L 
     92 * Ri_bulk 
     93 * q_sat 
     94 
     95* `SBC/sbcblk_skin.F90` [ cool-skin / warm-layer parameterization of ECMWF, countains function CSWL_ECMWF, which updates the value of the skin temperature out of previous guess of skin temperature, solar and non-solar components of surface heat flux and friction velocity u*] ''Gathers the following subroutine:'' 
     96 * CSWL_ECMWF 
     97 
     98 
     99 
    35100 
    36101{{{#!box help 
     
    38103}}} 
    39104 
    40 == Tests 
     105== Tests == 
    41106 
    42107{{{#!box help 
     
    44109}}} 
    45110 
    46 == Review 
     111== Review == 
    47112 
    48113{{{#!box help