In order to simulate the temporal and spectral distribution of SASE pulses there is an easy way based random fluctuations filtered spectraly and temporally.
The only input parameters are the spectral bandwidth and the pulse duration.
Here you can find a small python script (by MartinB) implementing the partial coherence methode as described in Thomas Pfeifer , Yuhai Jiang, Stefan Düsterer, Robert Moshammer, and Joachim Ullrich, et al. Partial-coherence method to model experimental free-electron laser pulse statistics, Opt. Lett. 35, 3441-3443 (2010); link to the paper Simulations like this:
The pulse shapes in time AND corresponding spectral dstribution can be easily created with the script ( the script can be downloaded in the attachment table below)Jupyter Notebook SASEPulseGenV2.ipynb
Some examples of results:
Here are the screenshots of the script: