When you include masked data into WPS, it is important to have a corresponding landmask field. With a properly defined landmask, metgrid will know what to use to interpolate the data. Another option is to define missing values (or negative values) with some large value (-1.E30, for example). Then add the following in metgrid/METGRID.TBL to tell the program not to use it when interpolating. An example field name SM000010 is shown below (note the use of ,em>missing_value):
name=SM000010
interp_option=sixteen_pt+four_pt+average_4pt+search
masked=water
interp_mask=LANDSEA(0)
missing_value=-1e30
fill_missing=1.
flag_in_output=FLAG_SM000010
name=SM000010
interp_option=sixteen_pt+four_pt+average_4pt+search
masked=water
interp_mask=LANDSEA(0)
missing_value=-1e30
fill_missing=1.
flag_in_output=FLAG_SM000010