<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def mask_var(self, data, lon_cyclic=True, lon_str=LON_STR, lat_str=LAT_STR):
 """Mask the given data outside this region. Parameters data : xarray.DataArray The array to be regionally masked. lon_cyclic : bool, optional (default True) Whether or not the longitudes of ``data`` span the whole globe, meaning that they should be wrapped around as necessary to cover the Region's full width. lon_str, lat_str : str, optional The names of the longitude and latitude dimensions, respectively, in the data to be masked. Defaults are ``aospy.internal_names.LON_STR`` and ``aospy.internal_names.LON_STR``, respectively. Returns ------- xarray.DataArray The original array with points outside of the region masked. """

        # TODO: is this still necessary?
        if not lon_cyclic:
            if self.west_bound > self.east_bound:
                raise ValueError("Longitudes of data to be masked are "
                                 "specified as non-cyclic, but Region's "
                                 "definition requires wraparound longitudes.")
        masked = data.where(self._make_mask(data, lon_str=lon_str,
                                            lat_str=lat_str))
        return masked