docs: def plot_forward_models(self, maglim=None, phalim=None, **kwargs):
          """Create plots of the forward models
  
          Returns
          -------
          mag_fig: dict
              Dictionary containing the figure and axes objects of the magnitude
              plots
  
          """
          return_dict = {}
  
          N = len(self.frequencies)
          nrx = min(N, 4)
          nrz = int(np.ceil(N / nrx))
  
          for index, key, limits in zip(
                  (0, 1), ('rmag', 'rpha'), (maglim, phalim)):
              if limits is None:
                  cbmin = None
                  cbmax = None
              else:
                  cbmin = limits[0]
                  cbmax = limits[1]
  
              fig, axes = plt.subplots(
                  nrz, nrx,
                  figsize=(16 / 2.54, nrz * 3 / 2.54),
                  sharex=True, sharey=True,
              )
              for ax in axes.flat:
                  ax.set_visible(False)
  
              for ax, frequency in zip(axes.flat, self.frequencies):
                  ax.set_visible(True)
                  td = self.tds[frequency]
                  pids = td.a['forward_model']
                  td.plot.plot_elements_to_ax(
                      pids[index],
                      ax=ax,
                      plot_colorbar=True,
                      cbposition='horizontal',
                      cbmin=cbmin,
                      cbmax=cbmax,
                      **kwargs
                  )
              for ax in axes[0:-1, :].flat:
                  ax.set_xlabel('')
  
              for ax in axes[:, 1:].flat:
                  ax.set_ylabel('')
  
              fig.tight_layout()
              return_dict[key] = {
                  'fig': fig,
                  'axes': axes,
              }
  
          return return_dict