METGRID not decoding soil parameters properly

All issues/questions about EMS v3.4 package, please ask here.
Post Reply
jayarezee
Posts: 6
Joined: Tue Feb 13, 2018 12:53 pm

METGRID not decoding soil parameters properly

Post by jayarezee » Tue Feb 13, 2018 1:07 pm

I'm attempting to initialize WRF using 0.25deg GALWEM data from the Air Force. It contains soil moisture and soil temperature data at four levels each (10,35,100,300cm), but either ungrib or METGRID won't recognize the level depths correctly.

wgrib2 returns the following for the variables...

117:93939350:CISOILM Column-Integrated Soil Moisture Validation [kg m-2]:0.1 m underground
118:94308573:CISOILM Column-Integrated Soil Moisture Validation [kg m-2]:0.35 m underground
119:94728555:CISOILM Column-Integrated Soil Moisture Validation [kg m-2]:1 m underground
120:95189779:CISOILM Column-Integrated Soil Moisture Validation [kg m-2]:3 m underground
121:95704464:SOILTMP Soil Temperature Validation [K]:0.1 m underground
122:96392626:SOILTMP Soil Temperature Validation [K]:0.35 m underground
123:97075229:SOILTMP Soil Temperature Validation [K]:1 m underground
124:97749789:SOILTMP Soil Temperature Validation [K]:3 m underground

However...g2print shows this...

---------------------------------------------------------------------------------------
rec Prod Cat Param Lvl Lvl Lvl Prod Name Time Fcst
num Disc num code one two Templ hour
---------------------------------------------------------------------------------------
117 2 3 20 106 1 0 0 UNKNOWN 2018-02-12_12:00:00 06
118 2 3 20 106 35 0 0 UNKNOWN 2018-02-12_12:00:00 06
119 2 3 20 106 1 0 0 UNKNOWN 2018-02-12_12:00:00 06
120 2 3 20 106 3 0 0 UNKNOWN 2018-02-12_12:00:00 06
121 2 3 18 106 1 0 0 UNKNOWN 2018-02-12_12:00:00 06
122 2 3 18 106 35 0 0 UNKNOWN 2018-02-12_12:00:00 06
123 2 3 18 106 1 0 0 UNKNOWN 2018-02-12_12:00:00 06
124 2 3 18 106 3 0 0 UNKNOWN 2018-02-12_12:00:00 06

The only one it's correctly interpreting is the 35cm level. It is interpreting the 0.1 m and 1 m levels both as 1 cm, and the 3 m level as 3 cm. Subsequently, the 35cm data is the only one that shows up when I run ungrib.

Does anyone have any suggestions about how to work around this?

meteoadriatic
Posts: 1574
Joined: Wed Aug 19, 2009 10:05 am

Re: METGRID not decoding soil parameters properly

Post by meteoadriatic » Tue Feb 13, 2018 2:10 pm

Looks like Vtable is wrong. Can you please post Vtable contents that you use?

jayarezee
Posts: 6
Joined: Tue Feb 13, 2018 12:53 pm

Re: METGRID not decoding soil parameters properly

Post by jayarezee » Tue Feb 13, 2018 2:44 pm

Here's the Vtable I'm using. Thanks for taking the time to look it over.

EDIT: I noticed I had a strange GRIB1 parameter and the wrong units for SOILM. I changed them below, but I still get the same results.

Code: Select all

GRIB1| Level| From |  To  | metgrid  | metgrid | metgrid                                 |GRIB2|GRIB2|GRIB2|GRIB2|
Param| Type |Level1|Level2| Name     | Units   | Description                             |Discp|Catgy|Param|Level|
-----+------+------+------+----------+---------+-----------------------------------------+-----------------------+
  11 | 100  |   *  |      | TT       | K       | Temperature                             |  0  |  0  |  0  | 100 |
  33 | 100  |   *  |      | UU       | m s-1   | U                                       |  0  |  2  |  2  | 100 |
  34 | 100  |   *  |      | VV       | m s-1   | V                                       |  0  |  2  |  3  | 100 |
  52 | 100  |   *  |      | RH       | %       | Relative Humidity                       |  0  |  1  |  1  | 100 |
   7 | 100  |   *  |      | HGT      | m       | Height                                  |  0  |  3  |  5  | 100 |
  11 | 105  |   2  |      | TT       | K       | Temperature       at 2 m                |  0  |  0  |  0  | 103 |
  52 | 105  |   2  |      | RH       | %       | Relative Humidity at 2 m                |  0  |  1  |  1  | 103 |
  33 | 105  |  10  |      | UU       | m s-1   | U                 at 10 m               |  0  |  2  |  2  | 103 |
  34 | 105  |  10  |      | VV       | m s-1   | V                 at 10 m               |  0  |  2  |  3  | 103 |
   1 |   1  |   0  |      | PSFC     | Pa      | Surface Pressure                        |  0  |  3  |  0  |   1 |
   2 | 102  |   0  |      | PMSL     | Pa      | Sea-level Pressure                      |  0  |  3  |  1  | 101 |
  86 | 111  |  10  |      | SOILM010 | kg m-2  | Soil Moist   10 cm below ground         |  2  |  3  | 20  | 106 |
  86 | 111  |  35  |      | SOILM035 | kg m-2  | Soil Moist   35 cm below ground         |  2  |  3  | 20  | 106 |
  86 | 111  | 100  |      | SOILM100 | kg m-2  | Soil Moist  100 cm below ground         |  2  |  3  | 20  | 106 |
  86 | 111  | 300  |      | SOILM300 | kg m-2  | Soil Moist  300 cm below ground         |  2  |  3  | 20  | 106 |
  85 | 111  |  10  |      | SOILT010 | K       | Soil Temp    10 cm below ground         |  2  |  3  | 18  | 106 |
  85 | 111  |  35  |      | SOILT035 | K       | Soil Temp    35 cm below ground         |  2  |  3  | 18  | 106 |
  85 | 111  | 100  |      | SOILT100 | K       | Soil Temp   100 cm below ground         |  2  |  3  | 18  | 106 |
  85 | 111  | 300  |      | SOILT300 | K       | Soil Temp   300 cm below ground         |  2  |  3  | 18  | 106 |
  91 |   1  |   0  |      | SEAICE   | proprtn | Ice flag                                | 10  |  2  |  0  |   1 |
  81 |   1  |   0  |      | LANDSEA  | proprtn | Land/Sea flag (1=land, 0 or 2=sea)      |  2  |  0  |  0  |   1 |
   7 |   1  |   0  |      | SOILHGT  | m       | Terrain field of source analysis        |  2  |  0  |  7  |   1 |
  11 |   1  |   0  |      | SKINTEMP | K       | Skin temperature                        |  0  |  0  | 17  |   1 |
  65 |   1  |   0  |      | SNOW     | kg m-2  | Water equivalent snow depth             |  0  |  1  | 13  |   1 |
     |   1  |   0  |      | SNOWH    | m       | Physical Snow Depth                     |  0  |  1  | 15  |   1 |
-----+------+------+------+----------+---------+-----------------------------------------+-----------------------+
Last edited by jayarezee on Tue Feb 13, 2018 5:45 pm, edited 1 time in total.

meteoadriatic
Posts: 1574
Joined: Wed Aug 19, 2009 10:05 am

Re: METGRID not decoding soil parameters properly

Post by meteoadriatic » Tue Feb 13, 2018 5:18 pm

Hmm

Is there anything useful in ungrib.log? Can you post it's contents?

Also can you please use "code" tags around pasted contents for much better readability?

jayarezee
Posts: 6
Joined: Tue Feb 13, 2018 12:53 pm

Re: METGRID not decoding soil parameters properly

Post by jayarezee » Tue Feb 13, 2018 6:32 pm

Not much useful in the ungrib log. Here you can see that it's finding the 35cm level, but none of the other soil levels.

Code: Select all

 *** Starting program ungrib.exe ***
Start_date =  2018-02-13_06:00:00 ,      End_date = 2018-02-13_18:00:00
output format is WPS
Path to intermediate files is ****************************************
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      3 in the GRIB2 file, was not found in the Vtable
Subsoil level      3 in the GRIB2 file, was not found in the Vtable
Subsoil level      3 in the GRIB2 file, was not found in the Vtable
Subsoil level      3 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      1 in the GRIB2 file, was not found in the Vtable
Subsoil level      3 in the GRIB2 file, was not found in the Vtable
Subsoil level      3 in the GRIB2 file, was not found in the Vtable
Subsoil level      3 in the GRIB2 file, was not found in the Vtable
Subsoil level      3 in the GRIB2 file, was not found in the Vtable

###############################################################################

Inventory for date = 2018-02-13 06:00:00

PRES   TT       UU       VV       RH       HGT      PSFC     PMSL     SOILM010 SOILM035 SOILM100 SOILM300 SOILT010 SOILT035 SOILT100 SOILT300 SEAICE   LANDSEA  SOILHGT  SKINTEMP SNOW     SNOWH
-------------------------------------------------------------------------------
2013.0  O        O        O        O        O        O        X        O        O        O        O        O        O        O        O        O        O        O        O        O        O
2001.0  X        X        X        X        O        X        O        O        X        O        O        O        X        O        O        X        X        X        X        X        O
.
.
.
It goes through all the times, finds the other variables and says it was a successful completion of ungrib.

Why it's interpreting the 10 cm, 100 cm, and 300 cm levels as 1, 1, and 3 is the real mystery.

meteoadriatic
Posts: 1574
Joined: Wed Aug 19, 2009 10:05 am

Re: METGRID not decoding soil parameters properly

Post by meteoadriatic » Tue Feb 13, 2018 7:32 pm

What happens if you change under Level1 these?

Code: Select all

10 -> 1
100 -> 1
300 -> 3
It looks wrong to me to do that, but try and see what happens then.

jayarezee
Posts: 6
Joined: Tue Feb 13, 2018 12:53 pm

Re: METGRID not decoding soil parameters properly

Post by jayarezee » Tue Feb 13, 2018 7:46 pm

Well...that made it find the 10cm and the 300cm. I agree that it's probably not the good way to do it, but it's progress...

Code: Select all

Inventory for date = 2018-02-13 06:00:00

PRES   TT       UU       VV       RH       HGT      PSFC     PMSL     SOILM010 SOILM035 SOILM100 SOILM300 SOILT010 SOILT035 SOILT100 SOILT300 SEAICE   LANDSEA  SOILHGT  SKINTEMP SNOW     SNOWH
-------------------------------------------------------------------------------
2013.0  O        O        O        O        O        O        X        O        O        O        O        O        O        O        O        O        O        O        O        O        O 
2001.0  X        X        X        X        O        X        O        X        X        O        X        X        X        O        X        X        X        X        X        X        O 

meteoadriatic
Posts: 1574
Joined: Wed Aug 19, 2009 10:05 am

Re: METGRID not decoding soil parameters properly

Post by meteoadriatic » Tue Feb 13, 2018 7:56 pm

Now is the question how to distinguish between 10cm and 100cm because they seems to have same description in grib file.

I'm not sure but you might try to put astersk in From Level1 field (and maybe use only one line - similar like those 3D fields like Temperature for example). Don't worry about Description and units... I don't think this is important.

jayarezee
Posts: 6
Joined: Tue Feb 13, 2018 12:53 pm

Re: METGRID not decoding soil parameters properly

Post by jayarezee » Tue Feb 13, 2018 7:57 pm

Thanks for the help and the suggestion. I'll try this and get back to you tomorrow.

jayarezee
Posts: 6
Joined: Tue Feb 13, 2018 12:53 pm

Re: METGRID not decoding soil parameters properly

Post by jayarezee » Wed Feb 14, 2018 3:23 pm

meteoadriatic wrote:
Tue Feb 13, 2018 7:56 pm
Now is the question how to distinguish between 10cm and 100cm because they seems to have same description in grib file.

I'm not sure but you might try to put astersk in From Level1 field (and maybe use only one line - similar like those 3D fields like Temperature for example). Don't worry about Description and units... I don't think this is important.
I tried this suggestion, using a few different combinations of asterisks, but none of them seem to do the trick.

I think my next plan of attack will have to be to figure out a way to change how the GRIB is encoded. Not ideal, but I don't see any other way around it at this point.

Post Reply