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

Masked interpolation of SST

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.


New member
I'm running the WRF model and I'm using an external SST data with 1 km resolution and the GFS data as initial and boundary conditions. To conduct an appropriated masked interpolation of SST data, I followed the suggestion given in

If my input data have a landmask that is different from the one generated by the geogrid program, how do I know which one should be used?
To do masked interpolation correctly, you will need a field that defines the landmask of the input data. If you look at any of the Vtables, we name the landmask field from the incoming data LANDSEA. You need a pair of these landmask fields to do masked interpolation properly. If you do not yet have a landmask field from your data, you should create one and call it LANDSEA. You can use this as a constant input for metgrid (use the namelist variable constants_name). Then in your METGRID.TBL, you should set (using SST as an example):

interp_mask = LANDSEA(1)

In addition, if your SST is masked by some unique value over land (such as e-30), then having a landmask field is important. Having a matching landmask field for the SST is properly interpolated along water/land boundaries.

I followed this suggestion using the mask field of the external SST data and informing the unique value over land in METGRID.TBL. The external SST and the SST mask fields were pre-processed using Fortran codes since the data is available in netCDF format.
However, even following this procedure the SST field is not masked properly. My SST data has a landmask that is different from the one generated by the geogrid program. The water cells that do not match between them are illustrated (Figure attached waterpoints_without_sstmur_metgrid_d3.png). It is explained in the tutorial class "The WRF Preprocessing System (WPS): Fundamental Capabilities" slide 36 (, that when it happens, an SST from a masked interpolation fills this region. However, I did not understand very well how this region is filled by the masked interpolation. In my simulation, I verified that these water cells were filled by the metgrid SKINTEMP field (Fig. skintemp_metgrid_d3_default.png). Then, the SST field in the WRF model (wrflowinp_d03, Figures sst_real_wrflowinp_d3_flagzeroKelvin.png and sst_real_wrflowinp_d3_default.png) combines the data from the SST and SKINTEMP variables of met_em.d03* files. The SST of met_em.d03* (Fig. sst_metgrid_d3_default.png and sst_metgrid_d3_flagzeroKelvin.png) is interpolated from the external SST data and the SKINTEMP of met_em.d03* is interpolated from the GFS model.

I would like to ask if am I doing something wrong in my simulation or this is the way the WRF model makes de SST pre-processing?
It seems more appropriate if the SST field of the WRF results came from the external SST data only.

I am attaching my namelist.wps, namelist.input, METGRID.TBL, and some figures.

Thanks in advance!


  • landmask_metgrid_d3.png
    44.4 KB · Views: 766
  • skintemp_metgrid_d3_default.png
    89.7 KB · Views: 765
  • sst_metgrid_d3_default.png
    53 KB · Views: 765
  • sst_metgrid_d3_flagzeroKelvin.png
    102.4 KB · Views: 764
  • sst_real_wrflowinp_d3_default.png
    53.7 KB · Views: 765
  • sst_real_wrflowinp_d3_flagzeroKelvin.png
    104.3 KB · Views: 765
  • waterpoints_without_sstmur_metgrid_d3.png
    45.5 KB · Views: 765
    34.2 KB · Views: 79
  • namelist.input.txt
    4.2 KB · Views: 57
  • namelist.wps.txt
    1.4 KB · Views: 60