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

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

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

...