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?

cjoh513

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.
1684512496641.png1684512753274.png
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.
1684512843926.png1684512910667.png



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.
1684513406931.png1684513592301.png

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:
========================================
name=LANDSEA
interp_option=nearest_neighbor
fill_missing=-1.
fill_lev=200100:LANDMASK(1)
========================================
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.
 

Attachments

  • METGRID.txt
    25.8 KB · Views: 2
  • namelist.wps
    2.1 KB · Views: 2
  • 1684513384303.png
    1684513384303.png
    86.7 KB · Views: 7
Hi,
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.
 
Hello all,
I have exactly the same problem as cjo513. Just wondering if there is any solution to this problem.
Thanks,
basit
 
ss, 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.
I have this SST (left) and SSTSK (middle panel) from met_files. Its arabian gulf region with grid spacing 3km. met_em with SST looks quite bad. when i ran the simulation, and plotted SST and SKINTEMP they look like even worse (right panel). Any ideas?
 

Attachments

  • skinTemp_wrfout.png
    skinTemp_wrfout.png
    127.3 KB · Views: 4
  • skinTemp_met_em.png
    skinTemp_met_em.png
    468.3 KB · Views: 4
  • sst_met_em.png
    sst_met_em.png
    55.2 KB · Views: 5
Please modify your Vtable by deleting the line for SST, then rerun ungrib.exe.
Let me know whether you can get a better result. Thanks.
 
Hi Ming,
I removed SST from the Vtable which in my case is ERA-interim.pl
i ungribbed the ERA5 files. and re-run the ungrib.exe followed by metgrid.exe. The results of domain d02 are attahed. I plotted three fields, SKINTEMP, LANDMASK and LANDSEA. SST is obviously not there any more since i removed it fm the Vtable. There is a clear mismatch in resoluton between LANDSEA and other fields. This would definitely effect the WRF output
Please advise how to make sst consistent with rest of the fields.
Thanks
basit
 

Attachments

  • landmask_d02_3km.png
    landmask_d02_3km.png
    19.9 KB · Views: 6
  • skinTemp_d02_3km.png
    skinTemp_d02_3km.png
    283.9 KB · Views: 5
  • landsea_d02_3km.png
    landsea_d02_3km.png
    14.2 KB · Views: 5
@Ming Chen Hi Ming, I would appreciate if you could reflect on the issue. Another thing, the ERA_INVARIANT method never worked for me. I tried that method also for soil moisture issue as advised by @kwerner but it always gave me an error. Please suggest some work-around if no perfect solution is available at hand.
 
basit,
LANDSEA and LANDMASK are from the forcing data and from Geogrid, respectively. Very often landmask has higher resolution than landsea, and metgrid uses both to handle horizontal interpolation. In your case, SKINTEMP is more consistent with landmask, which is what we expect.
 
@Ming Chen, Hi Ming, thanks for the clear and crisp response. Just wondering if there is a work around to handle this problem. One thing that I could not understand is that ERA5 is coming at around 27 km spatial resolution, WPS interpolate all fields to the desired resolution (in my case 9 and 3 km), then why only SST and LANDSEA fields are not interpolated? I might be wrong but to me it looks like that the problem is at WPS end. Please let me know what you think about it.
 
Hey there basit,
I never found a direct solution, but I did use a workaround. I mention it at the top of this post.
However, I don't know if it would be very reasonable for you on a larger scale. I manually changed the missing cells to the average SSTs of their neighbors.
 
Hi cjoh513,
Thanks for the suggestion. I guess i need to write a script for changing the SST values along the coastline. In addition to average SST, it porbably is worth trying to replace the effected cells with the skin temperature.
 
Hi Basit,

LANDSEA is not interpolated because WPS/WRF always uses LANDMASK as the 'true' landmask.
SST is interpolated, but. for the case with ERA5, SST over land is missing value, which causes trouble during the horizontal interpolation. This is why we use SKINTEMP to replace SST.

@Ming Chen, Hi Ming, thanks for the clear and crisp response. Just wondering if there is a work around to handle this problem. One thing that I could not understand is that ERA5 is coming at around 27 km spatial resolution, WPS interpolate all fields to the desired resolution (in my case 9 and 3 km), then why only SST and LANDSEA fields are not interpolated? I might be wrong but to me it looks like that the problem is at WPS end. Please let me know what you think about it.
 
Hi Ming,
Thanks again for the explanation. Based on your feed back, i think, i can now devise me own strategy to handle this issue.
 
Top