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

How to use the GLDAS data to drive WRF

Naidi R

New member
Hi,all.
I am trying to use the soil temperature and moisture data of GLDAS to replace the soil data of JRA55 to drive wrf.
I downloaded data in grib format(It also provides files in netcdf format) and tried to process these files with ungrib.exe, but I did not find the Vtable file for GLDAS under wps/ungrib/Variable_Tables.
How can I successfully convert the GLDAS file into an intermediate format that metgrid.exe can handle?


GLDAS_NOAH025_3H
  • SoilMoi0_10cm_inst = Soil moisture content (0-10 cm underground) (kg m-2)
  • SoilMoi10_40cm_inst = Soil moisture content (10-40 cm underground) (kg m-2)
  • SoilMoi40_100cm_inst = Soil moisture content (40-100 cm underground) (kg m-2)
  • SoilMoi100_200cm_inst = Soil moisture content (100-200 cm underground) (kg m-2)
  • SoilTMP0_10cm_inst = Soil temperature (0-10 cm underground) (K)
  • SoilTMP10_40cm_inst = Soil temperature (10-40 cm underground) (K)
  • SoilTMP40_100cm_inst = Soil temperature (40-100 cm underground) (K)
  • SoilTMP100_200cm_inst = Soil temperature (100-200 cm underground) (K)



My WPS version is 4.2 , WRF is 4.4


Really appreciate any help on this.
Naidi
 
Hi,all.
I am trying to use the soil temperature and moisture data of GLDAS to replace the soil data of JRA55 to drive wrf.
I downloaded data in grib format(It also provides files in netcdf format) and tried to process these files with ungrib.exe, but I did not find the Vtable file for GLDAS under wps/ungrib/Variable_Tables.
How can I successfully convert the GLDAS file into an intermediate format that metgrid.exe can handle?


GLDAS_NOAH025_3H
  • SoilMoi0_10cm_inst = Soil moisture content (0-10 cm underground) (kg m-2)
  • SoilMoi10_40cm_inst = Soil moisture content (10-40 cm underground) (kg m-2)
  • SoilMoi40_100cm_inst = Soil moisture content (40-100 cm underground) (kg m-2)
  • SoilMoi100_200cm_inst = Soil moisture content (100-200 cm underground) (kg m-2)
  • SoilTMP0_10cm_inst = Soil temperature (0-10 cm underground) (K)
  • SoilTMP10_40cm_inst = Soil temperature (10-40 cm underground) (K)
  • SoilTMP40_100cm_inst = Soil temperature (40-100 cm underground) (K)
  • SoilTMP100_200cm_inst = Soil temperature (100-200 cm underground) (K)



My WPS version is 4.2 , WRF is 4.4


Really appreciate any help on this.
Naidi
Note that:Convert soli moisture to m3/m3.
 

Naidi R

New member
Hi Ming,

Thank you for your reply. I tried to follow the Vtable creation section of the instruction, which states "the meanings of the level fields are dependent on the "Level Type" field and are summarized in the following table"
levelcode_table.png
I checked the GRIB Code and Level Code of soil moisture and soil temperature in the GLDAS.grb file with g1print.exe. The following is the output.

Code:
----------------------------------------------------
 rec GRIB GRIB  Lvl  Lvl  Lvl         Time      Fcst
 Num Code name  Code one  two                   hour
----------------------------------------------------
   1 133            1    0    0  2015-03-01_00:00 + 00
   2 134            1    0    0  2015-03-01_00:00 + 00
   3 135            1    0    0  2015-03-01_00:00 + 00
   4 136            1    0    0  2015-03-01_00:00 + 00
   5 139            1    0    0  2015-03-01_00:00 + 00
   6 140            1    0    0  2015-03-01_00:00 + 00
   7 141            1    0    0  2015-03-01_00:00 + 00
   8 142            1    0    0  2015-03-01_00:00 + 00

***** End-Of-File on C unit   3

The Level Code here is 1 , both level 1 and level 2 are 0, which is different from the Level Code in the table.


I tried to set the vtable like this
Code:
GRIB | Level| Level| Level| metgrid  |  metgrid | metgrid                                  |
Code | Code |   1  |   2  | Name     |  Units   | Description                              |
-----+------+------+------+----------+----------+------------------------------------------+
 133 | 112  |   0  |  10  | SM000010 | kg m-2   | Soil moisture of 0-10 cm ground layer    |
 134 | 112  |  10  |  40  | SM010040 | kg m-2   | Soil moisture of 10-40 cm ground layer   |
 135 | 112  |  40  | 100  | SM040100 | kg m-2   | Soil moisture of 40-100 cm ground layer  |
 136 | 112  |  100 | 200  | SM100200 | kg m-2   | Soil moisture of 100-200 cm ground layer |
 139 | 112  |   0  |  10  | ST000010 | K        | T of 0-10 cm ground layer                |
 140 | 112  |  10  |  40  | ST010040 | K        | T of 10-40 cm ground layer               |
 141 | 112  |  40  | 100  | ST040100 | K        | T of 40-100 cm ground layer              |
 142 | 112  | 100  | 200  | ST100200 | K        | T of 100-200 cm ground layer             |
-----+------+------+------+----------+----------+------------------------------------------+

But the ungrib.log shows that ungrib.exe did not decode my grib file successfully. What do I need to fill in the Level Code in my Vtable?
 

Attachments

  • ungrib.log
    11.1 KB · Views: 5
  • GLDAS_NOAH025_3H.A20150301.0000.021.zip
    3.1 MB · Views: 4
Hi Ming,

Thank you for your reply. I tried to follow the Vtable creation section of the instruction, which states "the meanings of the level fields are dependent on the "Level Type" field and are summarized in the following table"
View attachment 9222
I checked the GRIB Code and Level Code of soil moisture and soil temperature in the GLDAS.grb file with g1print.exe. The following is the output.

Code:
----------------------------------------------------
 rec GRIB GRIB  Lvl  Lvl  Lvl         Time      Fcst
 Num Code name  Code one  two                   hour
----------------------------------------------------
   1 133            1    0    0  2015-03-01_00:00 + 00
   2 134            1    0    0  2015-03-01_00:00 + 00
   3 135            1    0    0  2015-03-01_00:00 + 00
   4 136            1    0    0  2015-03-01_00:00 + 00
   5 139            1    0    0  2015-03-01_00:00 + 00
   6 140            1    0    0  2015-03-01_00:00 + 00
   7 141            1    0    0  2015-03-01_00:00 + 00
   8 142            1    0    0  2015-03-01_00:00 + 00

***** End-Of-File on C unit   3

The Level Code here is 1 , both level 1 and level 2 are 0, which is different from the Level Code in the table.


I tried to set the vtable like this
Code:
GRIB | Level| Level| Level| metgrid  |  metgrid | metgrid                                  |
Code | Code |   1  |   2  | Name     |  Units   | Description                              |
-----+------+------+------+----------+----------+------------------------------------------+
 133 | 112  |   0  |  10  | SM000010 | kg m-2   | Soil moisture of 0-10 cm ground layer    |
 134 | 112  |  10  |  40  | SM010040 | kg m-2   | Soil moisture of 10-40 cm ground layer   |
 135 | 112  |  40  | 100  | SM040100 | kg m-2   | Soil moisture of 40-100 cm ground layer  |
 136 | 112  |  100 | 200  | SM100200 | kg m-2   | Soil moisture of 100-200 cm ground layer |
 139 | 112  |   0  |  10  | ST000010 | K        | T of 0-10 cm ground layer                |
 140 | 112  |  10  |  40  | ST010040 | K        | T of 10-40 cm ground layer               |
 141 | 112  |  40  | 100  | ST040100 | K        | T of 40-100 cm ground layer              |
 142 | 112  | 100  | 200  | ST100200 | K        | T of 100-200 cm ground layer             |
-----+------+------+------+----------+----------+------------------------------------------+

But the ungrib.log shows that ungrib.exe did not decode my grib file successfully. What do I need to fill in the Level Code in my Vtable?
Another way:convert GLDAS data to the Intermediate Format.
I just wonder where did you download GLDAS in grib format? The new GLDAS data are in netcdf.
 
Hi Ming,

Thank you for your reply. I tried to follow the Vtable creation section of the instruction, which states "the meanings of the level fields are dependent on the "Level Type" field and are summarized in the following table"
View attachment 9222
I checked the GRIB Code and Level Code of soil moisture and soil temperature in the GLDAS.grb file with g1print.exe. The following is the output.

Code:
----------------------------------------------------
 rec GRIB GRIB  Lvl  Lvl  Lvl         Time      Fcst
 Num Code name  Code one  two                   hour
----------------------------------------------------
   1 133            1    0    0  2015-03-01_00:00 + 00
   2 134            1    0    0  2015-03-01_00:00 + 00
   3 135            1    0    0  2015-03-01_00:00 + 00
   4 136            1    0    0  2015-03-01_00:00 + 00
   5 139            1    0    0  2015-03-01_00:00 + 00
   6 140            1    0    0  2015-03-01_00:00 + 00
   7 141            1    0    0  2015-03-01_00:00 + 00
   8 142            1    0    0  2015-03-01_00:00 + 00

***** End-Of-File on C unit   3

The Level Code here is 1 , both level 1 and level 2 are 0, which is different from the Level Code in the table.


I tried to set the vtable like this
Code:
GRIB | Level| Level| Level| metgrid  |  metgrid | metgrid                                  |
Code | Code |   1  |   2  | Name     |  Units   | Description                              |
-----+------+------+------+----------+----------+------------------------------------------+
 133 | 112  |   0  |  10  | SM000010 | kg m-2   | Soil moisture of 0-10 cm ground layer    |
 134 | 112  |  10  |  40  | SM010040 | kg m-2   | Soil moisture of 10-40 cm ground layer   |
 135 | 112  |  40  | 100  | SM040100 | kg m-2   | Soil moisture of 40-100 cm ground layer  |
 136 | 112  |  100 | 200  | SM100200 | kg m-2   | Soil moisture of 100-200 cm ground layer |
 139 | 112  |   0  |  10  | ST000010 | K        | T of 0-10 cm ground layer                |
 140 | 112  |  10  |  40  | ST010040 | K        | T of 10-40 cm ground layer               |
 141 | 112  |  40  | 100  | ST040100 | K        | T of 40-100 cm ground layer              |
 142 | 112  | 100  | 200  | ST100200 | K        | T of 100-200 cm ground layer             |
-----+------+------+------+----------+----------+------------------------------------------+

But the ungrib.log shows that ungrib.exe did not decode my grib file successfully. What do I need to fill in the Level Code in my Vtable?
Hi, Naidi.
I met the similar problem with you when I created the Vtable for GLDAS-2. How did you deal with that?
 
Hi Haiqingsong, how can we convert soil moisture from kg/m2 into m3/m3?? Could you please give me some suggestions or mathematical equations??
Thank you.

Best,
Chetan
You just need to divide the soil moisture by the thickness of the soil layer.
 
Top