Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Outputting friction as a 3D array

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


New member
Hi there,

I'm looking to output friction in my wrfout files, could anyone guide me as to how? I can obtain U*; hence, can work some magic to calculate surface friction, but I'm looking for a 3D friction field.

Would you please clarify the following issues:
(1) what resolution you are running?
(2) what physics options you use?
(3) What do you want to use this friction for?
Hi Ming,

(1) Horizontal resolution of 200 m and 60 vertical levels.

(2) Physics schemes:
mp_physics = 8 (Thompson scheme)
sf_sfclay_physics = 2 (Eta similarity scheme)
sf_surface_physics = 1 (5-layer thermal diffusion scheme)
bl_pbl_physics = 2 (MYJ scheme)

(3) Air parcel trajectories to determine the contribution of friction to the development of low-level vortices.

HI, TyBuck,

Here are a few suggestions:

1. At 200 m resolution, you should consider using LES options (diff_opt = 2, km_opt = 2 or 3). We think PBL should not be applied at this resolution.

2. Friction is only 2D near the surface affecting the lowest model level wind. Above that model only responds to the local shear which is largest near the ground and this is represented in the model as diffusion.

3. The model does not output diffusion coefficients from LES (xkm*, xkh*), but they can be added to the output file. Code needs to be added to output the terms that use these coefficients. But because these are all instantaneous fields, you must be cautious when interpreting the results.

Please let me know if you have more questions.
Thanks for the help!

As for extracting the coefficients, would I need to edit the Registry.EM file and recompile the model, or is there a way to edit my current compilation?
In Registry.EM_COMMON, you can find the following lines:
state   real   xkmv            ikj      misc        1         -     r         "xkmv"                  "VERTICAL EDDY VISCOSITY"     "m2 s-1"
state   real   xkmh            ikj      misc        1         -     r         "xkmh"                  "HORIZONTAL EDDY VISCOSITY"   "m2 s-1"
state   real   xkhv            ikj      misc        1         -     r         "xkhv"                  "VERTICAL EDDY DIFFUSIVITY OF HEAT"
state   real   xkhh            ikj      misc        1         -     r         "xkhh"                  "HORIZONTAL EDDY DIFFUSIVITY OF HEAT"

Please change the 8th column from 'r' to 'rh', then type ./clean -a and recompile the code.
These variables will be included in standard wrfout files.