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 | |