def METHOD_NAME(self, which="both"):
    """Sky model (`~gammapy.modeling.models.SkyModel`).
    * ``which="both"`` -  Create a composite template if both models are available, or, use the available one if only one is present
    * ``which="KM2A"`` - Sky model for KM2A analysis if available.
    * ``which="WCDA"`` - Sky model for WCDA analysis if available.
    """
    if which == "both":
        wcda = self.METHOD_NAME(which="WCDA")
        km2a = self.METHOD_NAME(which="KM2A")
        models = [m for m in [wcda, km2a] if m is not None]
        if len(models) == 2:
            geom = self._get_components_geom(models)
            mask = geom.energy_mask(energy_max=25 * u.TeV)
            geom = geom.as_energy_true
            wcda_map = Models(wcda).to_template_sky_model(geom).spatial_model.map
            model = Models(km2a).to_template_sky_model(geom, name=km2a.name)
            model.spatial_model.map.data[mask] = wcda_map.data[mask]
            model.spatial_model.filename = f"{model.name}.fits"
            return model
        else:
            return models[0]
    else:
        _, is_ul = self._parse("N0", which)
        if is_ul:
            return None
        else:
            return SkyModel(
                spatial_model=self.spatial_model(which),
                spectral_model=self.spectral_model(which),
                name=self.name,
            )