code: def add_dipole_gwb(psr, dist=1, ngw=1000, seed=None, flow=1e-8,
                     fhigh=1e-5, gwAmp=1e-20,  alpha=-0.66,
                     logspacing=True, dipoleamps=None, 
                     dipoledir=None, dipolemag=None):
          
      
  
      gwb = GWB(ngw, seed, flow, fhigh, gwAmp, alpha, logspacing,
                dipoleamps, dipoledir, dipolemag)
      gwb.add_gwb(psr,dist)
      
      return gwb
docs: Add a stochastic background from inspiraling binaries distributed
      according to a pure dipole distribution, using the tempo2
      code that underlies the GWdipolebkgrd plugin.
  
      The basic use is identical to that of 'add_gwb':
      Here 'dist' is the pulsar distance [in kpc]; 'ngw' is the number of binaries,
      'seed' (a negative integer) reseeds the GWbkgrd pseudorandom-number-generator,
      'flow' and 'fhigh' [Hz] determine the background band, 'gwAmp' and 'alpha'
      determine its amplitude and exponent, and setting 'logspacing' to False
      will use linear spacing for the individual sources.
  
      Additionally, the dipole component can be specified by using one of two
      methods:
      1) Specify the dipole direction as three dipole amplitudes, in the vector
      dipoleamps
      2) Specify the direction of the dipole as a magnitude dipolemag, and a vector
      dipoledir=[dipolephi, dipoletheta]
  
      It is also possible to create a background object with
      
      gwb = GWB(ngw,seed,flow,fhigh,gwAmp,alpha,logspacing)
  
      then call the method gwb.add_gwb(pulsar[i],dist) repeatedly to get a
      consistent background for multiple pulsars.
      
      Returns the GWB object