High Resolution Modelling

This page gives some details and advice on settings for running HARMONIE-AROME at sub-kilometre resolutions. A number of workshops have been held on this topic; more information and presentations may be found on hirlam.org.

Default configuration to be made available via scr/Harmonie_configurations.pm. Below are some details on the various options.

Practicalities

Since experiments with higher resolutions may take a longer time than usual, it can be worthwhile to increase the PATIENCE beyond the default. For example, add the following to Env_submit

if ( $ENV{SIMULATION_TYPE} eq 'nwp' ) {
 $job_list{'Forecast'}{'ENV'}              = $submit_type.'-v PATIENCE=28800' ;
}

Grid choice

Within ecf/config_exp.h, it is recommended to use quadratic or cubic spectral truncations:

GRID_TYPE=QUADRATIC           # Type of grid (LINEAR|QUADRATIC|CUBIC)

These choices are cheaper and more stable. No problematic reduction in accuracy has been reported, and quadratic grids are used operationally at a number of centres.

For 750m resolution and a quadratic grid, TSTEP=30 should work well. For linear truncation, 20s will be needed.

Boundaries

Use of IFS boundaries has been found to be satisfactory.

With higher sub-kilometric resolutions, smaller domains are inevitable. To deal with domain spin-up issues with precipitation, it may be worth coupling hydrometeors from the boundary files. Within scr/MARS_get_bd and scr/gl_bd there is an option USE_IFS_CLOUD_COND, which adds cloud and hydrometeors to the the boundary files. This can be added and exported in ecf/config_exp.h if needed.

The coupling is then activated in nam/harmonie_namelists.pm under NAMGFL, e.g. for cloud ice:

  'YI_NL%NCOUPLING' => '1,',

Diffusion and controlling noise

LGWADV

By default, LGWADV=FALSE and LRDBBC=TRUE. These can be found in NAMDYNA.

It has been found that changing the values can remove noise visible in certain situations in MSLP fields; i.e. set LGWADV=TRUE and LRDBBC=FALSE. These are the values used at Météo France and ALADIN centres using the predictor-corrector time-stepping, rather than semi-implicit SETTLS (default in HARMONIE).

'''Update''': new defaults in 43h2.1.1, LGWADV=TRUE and LRDBBC=FALSE

VESL

Another option to control noise is the off-centering parameter VESL, found in NAMDYN, which is 0 by default in operational 2.5km configurations. A non-zero value such as 0.1 will smooth small-scale noise.

For some (currently unknown) reason, the LGWADV option described above cannot be used with a non-zero value of VESL; forecasts crash quickly. Given the potential of VESL to stabilise higher-resolution runs, it is probably a preferable option, i.e.

 NAMDYN=>{
  'VESL' => '0.1,',
},
 NAMDYNA=>{
  'LGWADV' => '.FALSE.,',
  'LRDBBC' => '.TRUE.,',
},

'''Update post-ASW2021''': this instability may in fact have been a bug, caused by the following in src/arpifs/adiab/lattex.F90:

!*       2.1   Momentum equation.


! * LSETTLS is replaced by LLSETTLSW=.FALSE. for wind-eqn if VESL>0 because
!   stable extrapolation deteriorates scores without improving stability.

IF (PESGP > PESGM) THEN
  LLSETTLSW=.FALSE.
ELSE
  LLSETTLSW=LSETTLS
ENDIF

This is when VESL>0, SETTLS is switched off for wind equations, but no others. Seems to trigger the problem. Removing the if and keeping just

LLSETTLSW=LSETTLS

in all cases allows VESL to run stably with LGWADV and SETTLS. (No long term verification scores tested)

Spectral horizontal diffusion

The strength of the spectral diffusion is controlled by the various RDAMP* parameters. Defaults in nam/harmonie_namelists.pm are:

 NAMDYN=>{
  'RDAMPDIV' => '20.,',
  'RDAMPPD' => '200000.,',
  'RDAMPQ' => '20.,',
  'RDAMPT' => '20.,',
  'RDAMPVD' => '20.,',
  'RDAMPVOR' => '20.,',
},

With a quadratic or cubic grid with non-zero VESL, these defaults have been found to be adequate. Without VESL, higher levels of diffusion through lover RDAMP* values of 10 or even 1 are necessary.

SLHD

Experiments at Météo France suggest not to use SLHD on hydrometeors: c.f. ASM 2020 presentation by Yann Seity.

In ecf/config_exp.h

LGRADSP=yes                             # Apply Wedi/Hortal vorticity dealiasing (yes|no)
LUNBC=yes                               # Apply upper nested boundary condition (yes|no)

Sample configurations

Coming soon...