docs: def PhaseScreens(numTelescope,r0,pupilSize,screenSize=1024,numRealisation=-1):
      """Return a generator for atmospheric wavefront perturbations across
      a set of *numTelescope* telescopes, each of size *pupilSize* and
      with Fried parameter *r0*. The perturbations are modelled as being
      uncorrelated between telescopes. The number of realisations is given
      by *numRealisation*, but if *numRealisation* is negative then an 
      infinite sequence of realisations is generated.
      """
      screenGenerators=[ScreenGenerator(screenSize,r0,pupilSize,pupilSize)
                        for i in range(numTelescope)]
      iter=0
      while numRealisation<0 or iter<numRealisation:
          iter+=1
          yield np.array([next(screen) for screen in screenGenerators])