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) How to replace ALBEDO and LAI fields in my geo_em files?

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.


Dear Colleges,

I am interested in using high-resolution (~1km) global Leaf Area Index and ALBEDO satellite data for a give day (available at!/dataset/satellite-albedo) instead of Modis monthly mean fields. I am using WPS 4.0.

Here are my questions regarding the using of these two updated static fields:

1) how to change my namelist.wps properly?

2) the data are in netcfd format. how to process the data? Where to put the data? how to specify the path and format? Do I need additional files (metafiles)?

3) the data contains missing values over some water bodies (the LAI map is attached), how will the WPS work with the missing data?



  • LAI in c_gls_LAI_201808130000_GLOBE_PRO.jpg
    LAI in c_gls_LAI_201808130000_GLOBE_PRO.jpg
    736.3 KB · Views: 2,985
Please see my answers below to your questions:
(1) Once you have successfully processed the high resolution LAI data, I would suggest you put it under the same WPS_GEOG directory, where all other static data are also located. In this case, you don't need to change namelist.wps. But you need to revise GEOGRID.TBL to set correct path to the LAI data.
(2) You need to read the data, rewrite it in the format WPS can accept. Please see
(3) You can specify 'mask' and 'fill_missing' values for LAI over the water in GEOGRID.TBL. Below is an example (for SOILTEMP):
interp_option= lowres:sixteen_pt+four_pt+wt_average_4pt+wt_average_16pt+search
(4) One alternative option is that, you don't need to go through the above process. You can read the data, remap it to WRF grid, then use it to replace the original LAI in your geo_em file. However, this option will involve interpolation and data modification issue, etc.
Thanks for your reply! It was sad for me to know that it is not possible to write a geogrid binary-formatted file directly from Fortran. I am experienced in fortran, while I do not use the C. However, I will try to call the write_geogrid.c (in the geogrid/src directory) from Fortran code when writing data.
Can you kindly attach one example of Fortran code calling the write_geogrid.c (with the C code) for properly writing the data? I am particularly interested in preparing a single-level continuous fields (like lai and albedo) containing missing values which are negative values. I will modify these codes and apply.
Also, you did not mention about index file. Will I need to prepare separate index file for my fields?

I am sorry thatI don't have a code at hand to deal with this issue.
For the index file, you need to create this file for your specific data. You can copy one for the similar variable from the WPS_GEOG and modify it. More details about the index file can be found in

I successfully updated the LAI12m field with geogrid.
However, there is one issue: There are missing values in satellite observations also over some inland areas, and in some cases the geogrid shows negative LAI values (the blue "spots" in the attached map for domain d02, dx=3km). I suppose this takes place during interpolation, becauase in the original netcdf observational file there are no negative values.

Here is my GEOGRID.TBL part for lai:

masked = water
fill_missing = 0.

Please, also see attached my index file.

1) How can I get free from the negative lai values, or how can I mask also the negative values?
2) Will it be serious issue for my further model run (simulations)?



  • LAI12M in geo_em.d02_new.jpg
    LAI12M in geo_em.d02_new.jpg
    293.7 KB · Views: 2,499
  • index.txt
    337 bytes · Views: 85

Your index file looks fine. I think you need to pre-process the original satellite data, i.e., over land area where LAI is missing, you need to fill LAI with reasonable values. Over water points, LAI can be zero. Note that geo_em and met_em files won't allow missing values.

I am still working on preparing the lai field with the geogrid program, still negative values are present.
Could you please take a look to my working files which can be downloaded from:

Please, be informed that I was not able to prepare the lai data following the WRF guide, since it was problematic to read netcdf files using fortran.
Instead, I used the method described in the attached PDF file (Section 3). I used the gdal_translate tool to convert netcdf file to binary file.

Since the geogrid.exe does not show any errors, it is not clear for me:

1) Why the misssing values are not recognized also over inland areas (or maybe at all) and used in the interpolation procedure?
2) Even if the misssing values are used by the geogrid, why the interpolated values are negative, because the missing values should be equal to 32768 (I also tried 255)?
3) is it possible to fill all negative values by some constant value (like for for the case fill_missing = 0.) ?
4) I also tried to fill the missing values over land using QGIS "fill no data tool", but when I change the raster the geo_em* files become worse.

You can download the initial netcdf file with observations from:

I would much appreciate any further help and suggestions on this issue.



  • Guide-highres-terrain-WRF.pdf
    1.1 MB · Views: 131
I have one more question. There are datasets for different types of LAI: 1.Leaf area index, high vegetation; 2. Leaf area index, low vegetation. Which one do you recommend to use with the geogrid.exe program?


Do you refer to the two LAI datasets, i.e., lai_modis_10m and lai_modis_30s, as "1.Leaf area index, high vegetation; 2. Leaf area index, low vegetation. " ? If so, note that the default option in WPS is lai_modis_30s. The other dataset, lai_modis_10m is way too coarse. However, if you run WRF with coarse resolution such as tens of kilometers, then lai_modis_10m should also work.

No, I am going to use the newly released ERA5-land lai data with 0.1x0.1 deg. spatial resolution. In the ERA5-Land data catalog there are two kind of lai data: 1.Leaf area index, high vegetation and 2. Leaf area index, low vegetation. I assume that the vegetation height is considered. What kind of vegetation (from those two) is recommended to use with the geogrid.exe?

Do you think that 0.1x0.1 deg. spatial resolution lai is also too coarse for my nest domain with 3 km spatial resolution?

At!/dataset/reanalysis-era5-land?tab=overview the following description is provided:

leaf area index, high vegetation m2 m-2 One-half of the total green leaf area per unit horizontal ground surface area for high vegetation type.
Leaf area index, low vegetation m2 m-2 One-half of the total green leaf area per unit horizontal ground surface area for low vegetation type.
I think 0.1 deg data is way too coarse for 3-km WRF run.
I am not familiar with the ERA-5 Land LAI and vegetation data and cannot tell which one is better. Please make choice based on your case and your understanding to the ERA5 land data.