AMANDA Monte Carlo with Simuperl
John Kelley, UW-Madison, April 2008
This page describes how to install and run the latest version (V02-02-04
)
of Paolo Desiati's simuperl
package for AMANDA MC production.
The most important changes in this version of simuperl are:
- Support for Photonics has been fully integrated (including coincident muon
simulation). See this page for more information.
- The parallel prodtree/ structure has been eliminated, with binaries and
detector configuration located in simuperl/bin/. Binaries are stored in CVS
in such a way as to avoid problems with merging (see
this page for more information).
- Some obsolete packages, such as pCORSIKA and corama, have been eliminated.
Let me know if I deleted your favorite, and I can put it back in.
Update August 2007: Starting with V02-02-00,
simuperl Amasim + Photonics defaults to the AHA
ice model. Millennium is still available by tweaking the $PHOTVER and $PHOTPATH
variables in master.pl. Furthermore, the electrical files for AMANDA use the
old, canonical OM sensitivities again. Otherwise, detector configuration files
are as mentioned below.
IMPORTANT: The AHA tables are not availble on the NPX2 nodes
(slowing things down a bit) or at all on GLOW (so Amasim is broken there). This
should be fixed in a week or two.
Update July 2007: Starting with V02-00-00-beta,
simuperl is transitioning to the aluminum-opt5
[physto.se] version of Amasim. The binary of amasim in simuperl is compiled
with gcc and does not use Intel-specific processor optimizations. It is still
~4.5x faster than the aluminum-fix version (thanks Johan!).
Additionally, we have updated the following detector configuration files:
- Photonics and PTD Amasim runs no longer use the same electrical file.
This is because the canonical OM sensitivies + Photonics have been found to
be suspect. For the time being, with Photonics
we are using preliminary OM sensitivies calculated by Jim
Braun, using a modified version of Rafael Lang's method on 2005 downgoing
muons. This is still under active investigation. PTD still uses the canonical
OM sensitivities.
- New pulse shape definitions (minor changes — smoothed by Johan; also,
dummy delayed pulses for channels for which no measurement exists).
- New PE distribution with more realistic pedestal is NOT added. I currently
see large effects on trigger rate and Nhits distribution with this change
and am still investigating.
Please let me know if you have any questions.
To install the latest version of simuperl, do the following:
- Set up ssh: if you are planning on running simuperl using the NPX2 cluster
in Madison, you will need to set up an SSH keypair so that you can ssh into
the npx2 machine without any user input. (Note that you may also have to do
the same thing elsewhere if you are planning on modifying simuperl to work
on your local cluster system.)
- First generate your ssh keys. Accept all the default suggestions when
prompted and just press "enter" for an empty passphrase when
asked to provide one.
% ssh-keygen -t rsa
- Add your public key to the list of authorized hosts:
% cd ~/.ssh
% cat id_rsa.pub >> authorized_keys
- Make sure the host key for "npx2.icecube.wisc.edu" is added
to your known hosts list (using the fully qualified host name, not just
"npx2" here is important). After this step, you may want to
double-check that you can ssh into npx2 without any user input.
% ssh npx2.icecube.wisc.edu
- Once logged into npx2, make sure the PBS commands are in your $PATH ("qstat",
"qsub" and the like).
% which qstat
Currently these are located in /usr/pbs/bin/
.
- If you are planning on using GLOW, you will be submitting jobs from the
machine "skua" or "condor" (same machine) instead of "npx2".
Once logged into condor, you will need to make sure the CONDOR commands are
also in your path:
% which condor_q
Currently these are located in /opt/condor/bin/
(also
add /opt/condor/sbin/
for good measure).
- Checkout the simuperl package from the CVS repository at Madison (make
sure you have your CVS_RSH environment variable set to "ssh"):
% cvs -d pub.icecube.wisc.edu:/net/local/cvsroot co -r V02-02-04
simuperl
- Run the install script to create links in the bin/ directory:
% cd simuperl
% ./install.pl
- Run the binary install script to create links to the current binary versions:
% cd bin
% ./install_links.pl
- If you are not using Photonics: edit
simuperl/master.pl
so that $ENV{ICE} is set to "mamint", not "photonics".
Then, you're done with the installation.
- If you are using Photonics:
- If you're in Madison and are using NPX2 or GLOW, copies of the tables
are stored on the nodes or are accessible from them (the path is set by
simuperl). See the $PHOTPATH variable in master.pl for details.
- Otherwise, download the Photonics tables and table lists from Johan's
table page. You will need the
AmandaCoord_AmandaSpan.tar
table lists package, as well as either the sparse tables or the fully
detailed tables for simulation.
Now edit $PHOTPATH in master.pl to point to your table location, and $PHOTLIST
to point to the table list file location.
To run simuperl, use the master.pl
script. You can see a few notes
on the process by Chihwa Song here.
You can also see all the command-line options by running the script without
any.
Many options can be changed with command-line switches, but you will
need to edit the script if:
- You are not using Photonics
- You do not wish to simulate the string trigger in Amasim
- You are using a detector configuration other than AMANDA-II
- You are not using a UW-Madison computing cluster
- You want to do something else non-standard
As an example, here's how to use master.pl to run 100 nusim jobs for the year
2003 through to Amasim, 20 at a time, on the NPX2 cluster at Madison, with output
files going to wherever the link my_results
points (you can also
use a fully qualified path now for -outdir).
% ssh npx2
% cd <simuperl top dir>
% ./master.pl -jobs 20 -max 100 -start 1 -stop 4 -save ama -outdir my_results
-generator nusim -year 2003
Good luck!
HELP! My jobs crashed!
Simuperl has a habit of silently dying when encountering an error. It does
log information, but it's not necessarily intuitive how to find it.
- Check the latest output file in the submit/ directory. This may contain
an error message (for example, explaining why master.pl crashed).
- Check the latest log files in the log/ directory. If the jobs were submitted,
but they crashed on the nodes, you may be able to find out why they crashed
here.
- Check for log files in the result directory (for example, Amasim log files
are saved in <outdir>/ama/ or <outdir>/nu/ama). These may also
contain information about why a job crashed.
- Run a single job with the
-debug
switch to master.pl; this
will save intermediate run and log files which may help you figure out what's
going on.
- Run a single job on your machine with
-batchsys none
and follow
the run the your local /tmp/simuperl.#### directory.
Known issues:
- coincident muons on GLOW are broken.
- INFILE mode on GLOW is broken.
- INFILE mode with batchsys=none is broken.
- PTD ice models other than the "mamint" or "bulkmam"
are broken.
- Local (batchsys "none") runs still leave temporary directories
around.
- There is no easy way to switch between string trigger periods (other than
by hand) in 2001 and 2002.
- Alfio's changes for his Condor setup are still not merged (sorry).
Updates from V02-02-03 to V02-02-04:
- Changed MMC to use mediadef file (includes bedrock for ANIS) and
switches nuclear structure function to BUTK (matches IceCube).
- Fixed bug in random seeding introduced just in 02-02-03.
Updates from V02-01-02 to V02-02-03:
- Changes from Kath for Fairbanks cluster, fixes in
run_reco.pl
,
and enhancements to INFILE mode (can specify a file name).
- Fixes to ANIS generation — tau decay now enabled by default, generation
volume reduced, energy range not hardcoded, and RDMC compatibility enforced
in MMC output.
- Added -omsens command line option to
master.pl
(changes Amasim
OM sensitivity).
Updates from V02-01-01 to V02-02-02:
- Added string trigger configuration files for 2001 and 2002. Currently the
only way to switch between string trigger periods is by hand.
Updates from V02-01-00 to V02-02-01:
- Changed INFILE mode to allow use of fully qualified paths when specifying
input file pattern.
- Added string trigger downscaling to
master.pl
via STRTDS variable
(was hardcoded to 2 in Amasim steering file).
- NKG in dCORSIKA is now OFF by default (change steering file in
dcors/make_corsika_steer.pl
to enable).
Updates from V02-01-04-beta to V02-02-00:
- AHA is the default Photonics ice model.
- Photonics electrical files are back to canonical OM sensitivities.
- Zenithwise table loading in Amasim for Photonics is better optimized (less
memory required).
- Tweaked default trigger time by ~4% in years 2005 and beyond to match TDC
peak in data.
Updates from V02-01-02-beta to V02-01-04-beta:
- Updated dCORSIKA binaries to v6.616 (see this page
for more info). You will need to rerun
bin/install_links.pl
.
- Checked in missing EPOS support files for dCORSIKA.
Updates from V02-01-01-beta to V02-01-02-beta:
- Removed OM 681 from 2006 electrical files (not in geometry file, and marked
as bad anyway).
Updates from V02-01-00-beta to V02-01-01-beta:
- Added real 2006 electrical files using calibration from M. Walter (Aluminified
by me, off-by-one error fixed by J. Braun).
- Really allow year of 2006 in master.pl.
- Fix transfer of "earth_prop.geom" files to GLOW for nusim (not
sure if this is important).
Updates from V02-00-04-beta to V02-01-00-beta:
- Updated dCORSIKA to v6.600 (see this page for
more info); must rerun
install_links.pl
to link to new binaries.
- Fixed PTD "bulkmam" table paths in steering file.
- Added support for EPOS hadronic model for dCORSIKA (
-model epos
).
- Fixed electrical file version for year 2000.
- Added dummy delayed pulses in all electrical files for pulse type 4 and
5.
- Changed all ch_to_ns values to 1.0417 in electrical files before 2002 (per-OM
values not supported now by Amasim).
- Corrected Photonics electrical files for years < 2005 so that only OM
sensitivities are different.
- Added 2006 detector calibration information (same as 2005 for now).
Updates from V02-00-03-beta to V02-00-04-beta:
- Runs clean up after themselves a bit better: eliminate random seed table
from Condor output, compress log files, etc.
Updates from V02-00-02-beta to V02-00-03-beta:
- Fixed major bug introduced in V02-00-02-beta, pointing to IceCube-coordinate
list files on NPX2 and GLOW.
Updates from V02-00-00-beta to V02-00-02-beta:
- Fix PTD to work with amasim aluminum-opt5 (change in steering file syntax
for ice layers).
- Fixed Photonics table list location for users not using install_photonics_links.pl
(thanks Chihwa).
- Fixed INFILE support with Photonics (thanks Chihwa).
- Added support for different Photonics table versions with $PHOTVER and $PHOTLIST
variables in master.pl.
Updates from V01-07-00 to V02-00-00-beta:
- Switched to aluminum-opt5 amasim for years 2000-05 and added support for
built-in scatserver.
- Changed pulse definition file and Photonics electrical file for AMANDA-II
detector, 2000-05.
- Added support for nusim and anis on Condor.
- Added -batchsys command-line option ("pbs", "condor",
or "none").
- Fixes to local runs (batchsys "none").
- Added command-line option for nusim energy range and spectral slope (Michael
Walter).
- Merged Zeuthen-specific changes from Michael Walter. Can now activate with
$BATCHLOC variable in master.pl.
Updates from V01-06-04 to V01-07-00:
- Switched to dCORSIKA v6.502 binaries. See this page
for more info.
- Default cluster is NPX2 instead of NPX.
- Automated cluster-specific Photonics table locations.
Updates from V01-06-03 to V01-06-03:
- Added missing QGSJET-II binary to Condor node transfer list.
Updates from V01-06-01 to V01-06-02:
- Added static MMC binary (fixes library issues on npx2). Rerun
bin/install_links.pl
after updating.
Updates from V01-06-00 to V01-06-01:
- Fixed nusim Amasim runs in non-Photonics mode (steering file generation
was broken).
Updates from V01-05-02 to V01-06-00:
- Added support for coincident muons + Photonics. Because of the Photonics
level2 table structure, this involves simulating pairs of zenith angle bands.
- Improvements to coincident event merger including better user lines with
sub-event energy and zenith angle. Fixed track parent bug. Better random seeding.
- Updated Amasim and scatserver to versions built with Photonics 1.5_r1e.
This fixes a bug in which Amasim would crash on 64-bit machines when trying
to connect to the scatserver.
Updates from V01-04-00 to V01-05-02:
- Initial Condor batch system support (for Madison GLOW cluster) added.
- nusim on Condor is not supported yet.
- Default configuration is still NPX.
Updates from V01-03-03 to V01-04-00:
- Fixed bug (thanks, Alfio) in zenith splitter which cut out dcorsika single
muon showers before amasim.
- String trigger is now ON by default.
- Hoerandel parametrization of CR spectrum is now used by default (instead
of Wiebel-Sooth).
- Added better error checking among ice model, year, and string trigger settings.
Updates from V01-03-02 to V01-03-03:
- Ability to specify node-local alternate Photonics table path with PHOTPATH
in master.pl.
- Scatserver now copied to local node.
- Changed string trigger downscaling factor to 2. String trigger is still
off by default.
Updates from V01-03-01 to V01-03-02:
- Output directory can now be an absolute path (finally!).
- Amasim + Photonics logfiles are compressed.
- Increased default maximum dCORSIKA primary energy to 1e10 GeV.
Updates from V01-02-03 to V01-03-01:
- String trigger now a simulation option within master.pl.
Configuration files are currently available for 2003-2005.
- Replaced Amasim binary with one using static libscatclient.
Updates from V01-02-02 to V01-02-03:
- Removed hardcoded maximum primary energy for dCORSIKA and added new variable
to control this in master.pl
- Reduced default maximum primary energy from 1E11 GeV to 1E9 GeV.
Updates from V01-02-01 to V01-02-02:
- ucr with librdmc 2.9.3 in bin/dcors was not checked in (whoops!).
Updates from V01-02-00 to V01-02-01:
- SIBYLL floating-point exception bug fixed in dCORSIKA.
- DPMJET charm production bug fixed in dCORSIKA.
Updates from V01-01-01 to V01-02-00:
- dCORSIKA is updated to v6.5a. Binaries for various
HE interaction models checked in, as well as QGSJET-II data.
- Command-line support for switching dCORSIKA models added to master.pl.
- Default dCORSIKA primary spectral slope changed to -2.7+1.0 = -1.7.
- Default number of dCORSIKA events decreased to 10K.
- Default HE interaction model is now QGSJET-II.
Updates from V01-00-00 to V01-01-01:
- Fixed Amasim steering file generation — TDC offset was wrong for 2000-04.
- ANIS theta ranges and neutrino types now supported via command-line arguments.
- "INFILE" mode now fixed (thanks to Chihwa Song).
- Added 2004 AMANDA-II detector files.
- Converted all AMANDA-II detector files (2000-2005) to aluminum Amasim format.
- Converted all IceCube and Amaice pulse shape files to aluminum Amasim format.
- Removed all usage of grapefruit Amasim.
Thanks — and please contact me if you have any questions.
Back to home page