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.
2020WP/ASINTER-04_laurent_bulk_ice – NEMO
wiki:2020WP/ASINTER-04_laurent_bulk_ice

Version 22 (modified by laurent, 3 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.

  1. Summary
  2. Description
  3. Implementation
  4. Documentation updates
  5. Preview
  6. Tests
  7. Review

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, are more thoughtfully adapted, and where almost completely rewritten from scratch in consistency with air-sea algorithms. 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

Error: Failed to load processor box
No macro or processor named 'box' found

...

Preview

Error: Failed to load processor box
No macro or processor named 'box' found

...

Tests

Error: Failed to load processor box
No macro or processor named 'box' found

Test-case associated with this development:

  • 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

Error: Failed to load processor box
No macro or processor named 'box' found

...