= More realistic air-ice/snow turbulent flux estimates over sea-ice Last edition: '''[[Wikinfo(changed_ts)]]''' by '''[[Wikinfo(changed_by)]]''' The PI is responsible to closely follow the progress of the action, and especially to contact NEMO project manager if the delay on preview (or review) are longer than the 2 weeks expected. [[PageOutline(2, , inline)]] == Summary == ||=Action || More realistic air-ice/snow turbulent flux estimates over sea-ice || ||=PI(S) || Laurent Brodeau @ Ocean Next || ||=Digest || Implementation of state-of-the-art parameterizations for more accurate estimation air/ice turbulent fluxes (wind stress, sensible heat flux, etc). These parameterizations compute the bulk-transfer-coefficients, ''CD'', ''CH'' & ''CE'', to be used in the bulk formulae and also perform the height adjustment of air temperature and humidity from ''z=zt' to the surface wind reference height 'z=zu''. || ||=Dependencies || no || ||=Branch || source:/NEMO/branches/2020/dev_r13648_ASINTER-04_laurent_bulk_ice || ||=Previewer(s) || Names || ||=Reviewer(s) || Names || ||=Ticket || #2369 || == Description == The work accomplished can be separated in two parts: - Further development and improvements of the general SBCBLK interface (introduction of proper bulk parameterizations for ice-air exchanges, new air-sea bulk parameterizations + general improvements and simplifications) - Further development of the STATION_ASF test-case (boolean sanity-check of the SBCBLK interface and sea-ice support "key_si3") == Implementation == === A] New bulk parameterizations to estimate ice-air CD, CH & CE and turbulent fluxes over sea-ice === The use now has the possibility to chose between 4 options to to estimate ice-air CD, CH & CE and vertical adjustment of air temperature and humidity over sea-ice: - constant coefficients, with values explicitly specified in the namelist - Andreas et al., 2005 - Lüpkes et al. 2012 - Lüpkes & Gryanik, 2015 As such, the following section is added in the ''namsbc_blk'' namelist block: {{{#!f !! Bulk transfer coefficients over sea-ice: (relevant IF: nn_ice >=1 ) ln_Cx_ice_cst = .true. ! use constant ice-air bulk transfer coefficients (value given below) rn_Cd_i = 1.4e-3 ! sea-ice drag coefficient rn_Ce_i = 1.4e-3 ! " sublimation coefficient rn_Ch_i = 1.4e-3 ! " sensible heat flux coefficient ln_Cx_ice_AN05 = .false. ! (Andreas et al. 2005) ln_Cx_ice_LU12 = .false. ! (Lupkes et al. 2012) ln_Cx_ice_LG15 = .false. ! (Lupkes & Gryanik 2015) }}} ... Note: in previous versions of the code, algorithms ''Lupkes et al. 2012'' and ''Lupkes & Gryanik 2015'' were found into {{{sbcblk.F90}}}. However, now: * they are to be found in their respective module file ({{{sbcblk_algo_ice_lu12.F90}}}, {{{sbcblk_algo_ice_lg15.F90}}}) * they have been rewritten from scratch in consistency with air-sea algorithms * they include improvements such as the height-adjustment of air temperature and humidity during the iterative computation of the transfer coefficients ... === B] Improvements of the general SBCBLK interface === (new air-sea bulk parameterization + general improvements and simplifications) * module "sbcblk_phy" becomes "sbc_phy" (outside SBC: ABL/ablmod.F90, ABL/sbcabl.F90) * '''SBC/sbcblk.F90''' * old and uncomplete "Cdn10_Lupkes2015" & "Cdn10_Lupkes2012" are gone! * more ''efficient'' use of {{{key_si3}}} * new air-sea bulk algorithm available: "sbcblk_algo_andreas" (Andreas et al., 2015) * {{{nn_iter_algo}}}, number of iterations to be used in bulk algorithms now provided in "&namsbc_blk" namelist block {{{ INTEGER :: nn_iter_algo ! Number of iterations in bulk param. algo ("stable ABL + weak wind" requires more)}}} * handling of new namelist parameters for air-ice bulk algorithms (sea section A above...) * use of new global public arrays {{{theta_air_zt}}} and {{{q_air_zt}}}, potential air temperature and specific humidity at zt, respectively * {{{theta_air_zt}}}, the potential temperature, is computed from absolute temperature at zt (read in netCDF file) and {{{q_air_zt}}} if {{{ln_tair_pot==.false.}}} (new namelist parameter) {{{ LOGICAL :: ln_tair_pot ! temperature read in files ("sn_tair") is already potential temperature (not absolute)}}} * "blk_oce_1" passes latent heat flux as '''output''' argument, (affects: ABL/sbcabl.F90) * "blk_oce_2" passes latent heat flux as '''input''' argument, (affects: ABL/sbcabl.F90) * "blk_oce_2" input argument "pqsr" removed because not used, (affects: ABL/sbcabl.F90) * "SBC/sbcblk_algo_*.F90": various improvements * number of iterations now provided through namelist parameter into "&namsbc_blk" * neutral transfer coefficients now as OPTIONAL output arguments * SBC/sbc_ice.F90: {{{pp_cldf}}} removed and declared into "sbc_phy" instead (affects: SBC/sbccpl.F90, SBC/sbcblk.F90, SBC/sbcmod.F90) * SBC/sbc_oce.F90: declaration of global public arrays {{{theta_air_zt}}} and {{{q_air_zt}}}, potential air temperature and specific humidity at zt, respectively * DOM/phycst.F90: add {{{vkarmn2}}}, square of ''von Karmán'' constant ... === C] Further development of the STATION_ASF test-case === (boolean sanity-check of the SBCBLK interface and sea-ice support "key_si3") See online documentation here: https://github.com/NEMO-ocean/NEMO-examples/tree/master/STATION_ASF == Documentation updates == {{{#!box width=55em help Using previous parts, define the main changes to be done in the NEMO literature (manuals, guide, web pages, …). }}} ''...'' == Preview == {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#preview_)]] }}} ''...'' == Tests == {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#tests)]] }}} Test-case associated with this development: • Test case name: '''STATION_ASF''' (C1D meets SAS). See [https://github.com/NEMO-ocean/NEMO-examples/tree/master/STATION_ASF] for a more complete introduction. • Test case functionality: test-case STATION_ASF checks that all bulk algorithms available in NEMO, used to estimate the bulk transfer coefficients for turbulent air-sea and air-ice fluxes, are working properly. This is done by checking that all turbulent fluxes computed at the punctual location of STATION_ASF lie within a reasonable range. • Test case setup: in STATION_ASF nemo.exe runs on one processor and needs only 2 lightweight netCDF files as input. These 2 files provide hourly time-series of sea-surface variables (SST, SSH), and surface atmospheric state (wind, temperature, humidity and downwelling radiative fluxes), respectively, at the punctual location of STATION_ASF. 1 year of simulation with STATION_ASF takes a few tens of seconds on 1 proc. • Test case verification value: WILL BE boolean. Each computed turbulent flux (hourly time-series), namely evaporation, wind stress and sensible flux, will be checked for consistency during a whole year. This operation will be carried out with every bulk (air-sea and air-ice) parameterization algorithms available in NEMO, including the testing of different options: cool-skin/warm-layer and wave-pattern input). • Status of the test case as for now: Exists on the official GitHub for NEMO. Boolean output not ready yet, version for air-ice fluxes in progress. == Review {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#review)]] }}} ''...''