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

(RESOLVED) ECMWF Data to Horizontal interpolation of QCLOUD and QICE Causing real.exe Problem

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 all!

I think this problem is pretty easy to solve.

I am using ECMWF data to initialize WRF and I have just started to initialize cloud water and cloud ice. I have managed to do it now but have one problem. There was no problem to change the Vtable to get ungrib to unpack the variables and metgrid also ran without problems. The only problem I have is in the METGRID.TBL. There it says that the ground, level type 200100 (level 138), is to be filled with a constant value of zero, if a value does not exist in the GRIB-files. Of course cloud water and cloud ice don't exist on the ground(138). The lowest level for these is 137. Because of this, the cloud water and cloud ice in the met_em-file are interpolated from 0 at level 138 to the value at level 137. After that, this is vertically interpolated by real.exe to wrfinput_d01(WRF_3D in attachments).

In my first attachment you see the result for cloud ice. The false value of zero at ground level affects the wrfinput_d01 values at the four lowest grid points:

Skärmavbild 2019-09-05 kl. 19.20.28.png

Because of this I changed the value to be filled at ground in the METGRID.TBL from 0 to the same as at level 137. This can be seen in the form of the vertical part of the green curve, in the lowest part of the graph, in attachment number 2:

Skärmavbild 2019-09-05 kl. 18.59.27.png

The interpolation from met_em to wrfinput_d01 now looks much better, but my question is:

How can I do this in a smoother way? I don't want a value at ground in the met_em-file. At least I don't want to use it in the vertical interpolation to the wrfinput_d01. Is there a way not to fill level 138 with any value at all? I tried to take away the filling in the METGRID.TBL but then metgrid.exe crashed, so I had to solve it this way. It seems that it must be filled, or......?


Can you try the namelist option use_surface = .false., which will tell the code not to use the input surface data. However, this option will affect all variables. Please be cautious when you turn on this option.