@Ming Chen
Thanks for the reply.
I used the ECMWF IFS Vtable and was able to successfully run ungrib.exe and metgrid.exe and generate the met_em files. However, I noticed that:
- NUM_METGRID_SOIL_LEVELS = 0
- num_metgrid_levels = 14
In general, WRF usually expects at least 4 soil levels for proper land surface model performance and better soil-temperature/moisture evolution during forecasts.
Since the IFS input was not providing soil levels correctly through my current workflow, I tried an alternative approach:
- I used ECMWF IFS atmospheric variables with Vtable.ECMWF
- Ran ungrib.exe and generated the atmospheric FILE:*
- Then I downloaded GFS data for the same simulation period
- Created a modified Vtable.GFS.soil containing only soil variables (removed atmospheric variables)
- Ran ungrib.exe again for the GFS soil fields and generated separate soil FILE:*
- Used both atmospheric (IFS) and soil (GFS) intermediate files together in metgrid.exe
After this, the generated met_em files showed:
- NUM_METGRID_SOIL_LEVELS = 4
- num_metgrid_levels = 14
The WRF model ran successfully, and surprisingly the results looked reasonable. I compared 10-day simulations against METAR observations for T2, RH, and wind speed, and the agreement appears quite good.
My main doubt is regarding the scientific validity of this approach:
Can we scientifically use:
- ECMWF IFS atmospheric fields
- together with NOAA GFS soil fields
for WRF initialization?
The reason I am asking is because the soil layer structures are different between GFS and ECMWF.
GFS soil layers:
- 0–10 cm
- 10–40 cm
- 40–100 cm
- 100–200 cm
whereas ECMWF IFS soil layers are:
- 0–7 cm
- 7–28 cm
- 28–100 cm
- 100–289 cm
So the soil depth definitions and layer thicknesses are clearly different.
Despite this mismatch, the model is still running stably and producing reasonable results, which surprised me.
Could you please guide me on:
- Whether this hybrid combination is scientifically acceptable
- Whether WRF internally interpolates/adapts these soil layers
- Possible risks or inconsistencies of mixing IFS atmospheric fields with GFS land/soil fields
- The best scientific approach moving forward for operational forecasts or research-quality simulations
I would really appreciate your guidance on whether this method is acceptable or if there is a better recommended workflow for using ECMWF IFS with WRF.

ECMWF IFS Vtable :
@@ -0,0 +1,55 @@
GRIB1| Level| From | To | metgrid | metgrid | metgrid |GRIB2|GRIB2|GRIB2|GRIB2|
Param| Type |Level1|Level2| Name | Units | Description |Discp|Catgy|Param|Level|
-----+------+------+------+----------+----------+------------------------------------------+-----------------------+
129 | 100 | * | | GEOPT | m2 s-2 | | 0 | 0 | | 100 |
156 | 100 | * | | HGT | m | Height | 0 | 3 | 5 | 100 |
130 | 100 | * | | TT | K | Temperature | 0 | 0 | 0 | 100 |
131 | 100 | * | | UU | m s-1 | U | 0 | 2 | 2 | 100 |
132 | 100 | * | | VV | m s-1 | V | 0 | 2 | 3 | 100 |
157 | 100 | * | | RH | % | Relative Humidity | 0 | 1 | 1 | 100 |
165 | 1 | 0 | | UU | m s-1 | U At 10 m | 0 | 2 | 2 | 103 |
166 | 1 | 0 | | VV | m s-1 | V At 10 m | 0 | 2 | 3 | 103 |
167 | 1 | 0 | | TT | K | Temperature At 2 m | 0 | 0 | 0 | 103 |
168 | 1 | 0 | | DEWPT | K | | 0 | 0 | 6 | 103 |
| 1 | 0 | | RH | % | Relative Humidity At 2 m | 0 | 0 | | 103 |
172 | 1 | 0 | | LANDSEA | 0/1 Flag | Land/Sea flag | 2 | 0 | 0 | 1 |
129 | 1 | 0 | | SOILGEO | m2 s-2 | | 0 | 0 | | 103 |
156 | 1 | 0 | | SOILHGT | m | Terrain field of source analysis | 0 | 0 | | 106 |
134 | 1 | 0 | | PSFC | Pa | Surface Pressure | 0 | 3 | 0 | 1 |
151 | 1 | 0 | | PMSL | Pa | Sea-level Pressure | 0 | 3 | 0 | 101 |
235 | 1 | 0 | | SKINTEMP | K | Sea-Surface Temperature | 0 | 3 | | 101 |
31 | 1 | 0 | | SEAICE | 0/1 Flag | Sea-Ice-Flag | 0 | 3 | | 101 |
34 | 1 | 0 | | SST | K | Sea-Surface Temperature | 0 | 3 | | 101 |
141 | 1 | 0 | | SNOW_EC | m | | 0 | 3 | | 101 |
| 1 | 0 | | SNOW | kg m-2 |Water Equivalent of Accumulated Snow Depth| 0 | 3 | | 101 |
139 | 112 | 0 | 7 | ST000007 | K | T of 0-7 cm ground layer | 2 | 0 | 2 | 106 |
170 | 112 | 7 | 28 | ST007028 | K | T of 7-28 cm ground layer | 192 | 128 | 170 | 106 |
183 | 112 | 28 | 100 | ST028100 | K | T of 28-100 cm ground layer | 192 | 128 | 183 | 106 |
236 | 112 | 100 | 255 | ST100289 | K | T of 100-289 cm ground layer | 192 | 128 | 236 | 106 |
39 | 112 | 0 | 7 | SM000007 | fraction | Soil moisture of 0-7 cm ground layer | 192 | 128 | 39 | 106 |
40 | 112 | 7 | 28 | SM007028 | fraction | Soil moisture of 7-28 cm ground layer | 192 | 128 | 40 | 106 |
41 | 112 | 28 | 100 | SM028100 | fraction | Soil moisture of 28-100 cm ground layer | 192 | 128 | 41 | 106 |
42 | 112 | 100 | 255 | SM100289 | fraction | Soil moisture of 100-289 cm ground layer | 192 | 128 | 42 | 106 |
0 | 1 | 0 | 7 | ST000007 | K | T of 0-7 cm ground layer | 2 | 3 | 18 | 151 |
1 | 2 | 7 | 28 | ST007028 | K | T of 7-28 cm ground layer | 2 | 3 | 18 | 151 |
2 | 3 | 28 | 100 | ST028100 | K | T of 28-100 cm ground layer | 2 | 3 | 18 | 151 |
3 | 4 | 100 | 289 | ST100289 | K | T of 100-289 cm ground layer | 2 | 3 | 18 | 151 |
0 | 1 | 0 | 7 | SM000007 | fraction | Soil moisture of 0-7 cm ground layer | 2 | 0 | 25 | 151 |
1 | 2 | 7 | 28 | SM007028 | fraction | Soil moisture of 7-28 cm ground layer | 2 | 0 | 25 | 151 |
2 | 3 | 28 | 100 | SM028100 | fraction | Soil moisture of 28-100 cm ground layer | 2 | 0 | 25 | 151 |
3 | 4 | 100 | 289 | SM100289 | fraction | Soil moisture of 100-289 cm ground layer | 2 | 0 | 25 | 151 |
-----+------+------+------+----------+----------+------------------------------------------+-----+-----+-----+-----+
#
# Vtable for the ECMWF IFS output that can be found at:
#
https://data.ecmwf.int/forecasts/ccyymmdd/12z/ifs/0p25/oper/
#
# output includes 13 p-levels (mandatory levels only). 0 to 360-h every 6-h
#
# This Vtable will work with IFS output from before November 2024 (soil level code 106)
# and after Nov 2024 (soil level code 151). If more IFS soil levels are added in the future
# they can be decoded by modifying the Vtable soil fields. Column 1 is the start
# level number, column 2 is the end level number. Columns 3 and 4 contain the
# depth of those levels in cm.
#
# This Vtable has not been tested on any other EC output.