Version 21 (modified by laurent, 4 years ago) (diff) |
---|
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.
Summary
Action | More realistic air-ice/snow turbulent flux estimates over sea-ice |
---|---|
PI(S) | Laurent Brodeau @ Ocean Next |
Digest | Implementation of a bulk-transfer-coefficient parameterization for sea-ice-covered regions. This parameterization should consider sea-ice roughness and be able to handle extremely stable surface atmospheric layer conditions typical of sea-ice-covered regions. |
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:
!! 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: with respect to the former version of the code, Lupkes et al. 2012 and Lupkes & Gryanik 2015 are now found in their respective module file (gone from sbcblk.F90, and are more thoughtfully adapted, for example the adjustment of air temperature and humidity during the iterative computation of the Cx is now taken into account...
...
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")
Documentation updates
...
Preview
...
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
...