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

ERA5 LANDSEA mask pulling from LANDMASK variable instead of the invariant file?


New member
Hello all,

I am at the WPS stage of a WRF version 3.8 simulation over the Atlantic using ERA5 boundary conditions collected from the NCAR site below:
NCAR RDA Dataset ds633.0

I use their surface data, pressure level data, and two invariant files for LANDSEA mask and geopotential/soil height.
Everything runs fine and I successfully produce met_em files. However, the problem lies with the met_ems' LANDMASK, LANDSEA, Skintemp, and SST variables.
Within the met_em's SST and Skintemp images above, the red arrows point at a spot of cooler temperatures indicating this is land in the SSTs. I'm fairly certain this is supposed to be part of the island chain of Guadeloupe, Dominica, etc.

However, when examining the met_ems' LANDMASK and LANDSEA fields below, there is no sign of this point.

Looking at the boundary condition data from NCAR shows that the SSTs have the same point that is considered land (Pictured below on the left). Within the NCAR ERA5 Land-sea mask invariant file (picture below on the right) we can see the island chain in the same spot as where there are no SSTs in the boundary conditions and met_ems.

Within the METGRID.TBL, the SSTs and SKINTEMP are predicated off of the LANDSEA field, but when I examine the LANDSEA entry in the METGRID.TBL below:
I notice the fill_lev=200100:LANDMASK(1).
looking at the WRF 3.8 User's guide on the entry for fill_lev it says that LANDMASK portion int he entry above "specifies how a level of the field should be filled if that level does not already exist." My interpretation of that is if the field doesn't exist, then it uses the LANDMASK field to generate the LANDSEA field.

What I feel like this all points towards is that the LANDSEA is being generated by the LANDMASK rather than the Land-sea mask from the invariant file. Although I should also say that some evidence contradicts that theory because if you look back at the met_ems' LANDSEA and LANDMASK, western Haiti is not identical between the two. However, It also looks like it might be a resolution issue and that maybe the boundary condition land-sea mask field featuring those island chains is a little too small for them to be caught by the LANDSEA field generated in the met_ems. Another point to that is the fact that the island chain does show up in D02 of the LANDMASK and LANDSEA.

Regardless, the fact that this island has no SST values in the boundary conditions means it has no values to place in the met_em SST field but is still being treated as water which will have knock-on effects as seen in the SKINTEMP field.

So my real questions are as follows:
What is the purpose of the invariant land-sea mask if the metgrid LANDSEA field pulls from the LANDMASK? Is my interpretation of how the fill_lev works correct?

Why is the LANDSEA field in the met_em's not picking up the islands from the land-sea mask in the boundary conditions?

Is there a way to fix this? I reckon if all else fails I can use Python to change the values of those points in the met_ems with no SST temperatures to an average of the surrounding water temperature, but would rather make sure this isn't something that I'm just messing up within the WRF side of things.

I hope this post made sense, thanks for any information or guidance that can be provided!

Oh, I've attached to this post my namelist.wps and METGRID.TBL.


  • 1684513384303.png
    86.7 KB · Views: 2
  • namelist.wps
    2.1 KB · Views: 0
  • METGRID.txt
    25.8 KB · Views: 1
I just want to let you know we haven't forgotten about you. I've asked a colleague to take a look, as they may have a better idea about this. They have been very busy lately and haven't had time to take a look, but I'll keep you posted as soon as I hear something, if they don't respond, themselves. Thank you for your patience.