code: def mask_var(self, data, lon_cyclic=True, lon_str=LON_STR,
                   lat_str=LAT_STR):
          
          # 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
docs: 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.