Dear DM-
Mario encouraged me to post this here. PhoSim v3.6 is released and release details follow. We also are beginning production of standard PhoSim test data for this version, so if you have particular needs, please let me know. Notes follow:
I am pleased to announce that we have completed and validated the twelfth major release of the Photon Simulator-- PhoSim v3.6. The release combines a number of usability, software engineering, fidelity, and validation improvements and extends our ab initio photon/electron physics simulation tool of optical survey telescopes capable of running efficiently both in single user mode as well as on high throughput computing platforms and grids.
There are a number of new improvements in this version listed below, but one of the most exciting features is the enabling of multi-threading capabilities. PhoSim was always parallelizable at the individual chip level, but now the simulation of individual chips can be multi-threaded. This means that individual astrophysical sources will be simulated in parallel on multiple threads. If you have roughly N cores to run roughly N threads, then you will find that it comes close to finishing N times faster! This also amazingly requires the same amount of memory as 1 thread.
This has two main uses. On large scale computing, we will be using this for data challenges. The total number of CPU core hours are conserved but the whole calculation becomes much more efficient. We can take advantage of modern hardware architectures that would prefer multiple threads executing reducing the total CPU time per job and not growing the memory per core.
The second use is on individual laptops or desktops. In the single user mode, most simulations are usually a detailed simulation of 1 (or few) chip(s). With a realistic catalog which covers at least one whole chip, this can often take 1/2 hour (w/o background) and a few hours (w/ background). However, with multi-threading this can go close to N times faster! To utilize multi-threading you just have to do: “-t N” where N is the number of threads with your usual PhoSim command line. The optimal number for N is a fun project in itself, but in general it is optimal to roughly use the number of cores (real or hyperthreaded) you actually have on your laptop/desktop (e.g. with a mac you can type “sysctl -n hw.ncpu”) My hope is that a little bit of multi-threading will change the way everyone interacts with PhoSim-- instead of launching PhoSim at the end of the day and looking at the images the next day, you can play around with it in real-time much more.
In addition to this capability, a number of other items have been addressed-- a more accurate turbulence outer scale distribution leading to better differential astrometry and PSF ellipticity patterns (https://lsst.rcac.purdue.edu/doc/astrometry.pdf), more accurate zodiacal and airglow emission, more accurate sensor physics including tree rings and brighter-fatter physics, fixes for contamination, tools for quick catalog creation and ray visualization (in phosim/tools), and validation of the 33,250 coefficients of the optical path difference maps of every controlled degree of freedom of the camera telescope system (tilt/shift/bending mode). We are also continuing to expand the functionality for simulating systems other than LSST. The documentation on the website has been redone in the past few weeks as well.
This particular version was a result of a lot of work by the PhoSim Team, especially Colin Burke, Jun Cheng, En-Hsin Peng, Glenn Sembroski, Matt Wiesner and a lot of support from the LSST System Engineering team, especially George Angeli, Chuck Claver, Bo Xin, Sandrine Thomas.
Some specific details follow:
- You can get all documentation and download the release version here:
https://bitbucket.org/phosim/phosim_release/
-
Other ways to get or produce PhoSim data:
A) You can get calibration images (flats, darks, biases) for this version and large-scale science images here (which take a while to generate on your own). We haven’t completed the v3.6 runs, but they will appear there as well. Go to globus.org and set up an account. Then use the endpoint: purduelsst#phosim and then go to /depot/lsst/phosim/data/
B) If you don’t want to install phosim, you can get access to phosim via a simple web interface that is attached to 50,000+ cores on open science grid/diagrid here: www.diagrid.org (then create an account and select the phosim tool)
C) In addition to running phosim on your laptop/desktop, if you have a cluster or grid (i.e. OSG) with condor installed, run phosim as usual but simply use the “-g condor” option. This enables massive parallel simulations with minimal effort on your part.
D) Please also contact me, if you need a particular simulation run with PhoSim and do not want to learn how to use PhoSim. Many people have the expertise to run off a variety of simulations for you.
-
Specific new items in the v3.6 release:
Multi-threading capability
Validation of sensitivity matrix
Fully separated design from perturbations with perturbation mode command
Implementation of default LSST perturbations in file & move commands
General architectural simplification, software standards
Generic parabolic telescope (perfect telescope) ISC files
Simplification to minimal ISC file set
DES telescope ISC files
Tool for ray visualization
Tool for SED matching
Tool for quick catalog creation
Removal of setup that are unnecessary
Relative opacity generalization
Optical design update
WCS generic
Random number simplification and other helper improvements
Fix to zodiacal light and airglow
Generalized SED band
Adjustment to outerscale distribution
Tool for ZEMAX for body commands
Bright fatter anisotropy
Complex tree rings
Correlation coefficient validation
More functionality for complex focal planes
Fix for contamination absorption
- Feedback and future:
As always, please file tickets for bugs at the site and/or email me any feedback directly for more complicated questions.
v3.7 is mostly completed and will be done soon (early 2017), v3.8 is being worked on, and we will issue at least one patch for v3.6.1 to fix some outstanding overdue issues but may do more depending on your feedback.
Best Regards,
John