The SDE integration with HelMod results in a quite expensive effort from the computational point of view since,
to minimize the uncertainties, an huge amount of event should be integrated from Earth to heliosphere boundary.

Monte Carlo integration allows us to evaluate the normalized probability function \(G(R_0|R)\) that a particle observed at Earth with rigidity \(R_0\) entered into the heliosphere with rigidity \(R\).
Thus, the modulated spectrum at specific energy \(R_0\) is proportional to:
 J_{mod}(R_0)= \int_0^\infty J_{LIS}(R)G(R_0|R)dR.
Once that \(G(R_0|R)\) was evaluated, using the numerical approximation, it is possible to apply the modulation directly to LISs provided by GALPROP.

The effect of propagation in heliosphere is then evaluated using a normalized probability function pre-evaluated with HelMod using parameters described in previous section.
We developed a python script that read GALPROP output and provide modulated spectrum for periods of selected experiments.


Download latest released version

HelMod data sets and results can be freely downloaded or copied. However, the user should make the appropriate acknowledgment or citation, e.g., see  Citations or Bibliography  pages.

How to install and configure

install python (>=2.7) packages

  • pyfits
  • scypy >=0.17.0
  • numpy >=1.10
  • wget
  • matplotlib

Download Python file and place in a working directory.

To configure the module you first need to download the HelMod Archive:

> python SolarModulation_Galprop_<version>.py  --Install

This will download and save the Archive in the working directory. To specify a different installing directory use the option -a <PATH> or --ArchivePATH <PATH>

If you are working offline and/or you get different version of the Archive you can skip the download part using --UseLocal to use the local .tgz file in the working directory.


if you want to use the Module everywhere on the local machine you can set the enviroment key that defines the path to installed archive.



How to Use the Module

To use The module you need

  1. The path helmod Archive (see how to install and configure)
  2. A GALPROP fits file or a TXT file

The basic command to get Solar modulated spectrum is:

python SolarModulation_Galprop_<version>.py <GALPROPFits.gz> <ExpNameKey>

where <ExpNameKey>  is the key name that define the paticle species and experiment which you want to modulate.

The list of available species/experiments in the archive can be listed using the command

python SolarModulation_Galprop_<version>.py -l


during the modulation there are few options you can use

-a (--ArchivePATH)  <PATH> to HelMod Archive if you don't set the Envinroment Key

--MakePlot          Create a Plot in png format

--NoExpData         display simulation and LIS only

--Normalize         apply automatic normalization of modulated spectrum to Experimental Data

-o (--output) <FILE_NAME> specify output file name (default is "ModulatedSpectra.dat")

--joinLIS           Sum the LIS in kinetic enery from all Isotope (ex. proton, Deuterium,..) and apply the same modulation

--joinIsotope       apply different modulation for different Isotope, then Sums the results after conversion in Rigidity

-p (--ParametersSet) <PAR_SET_NAME> Define the name of not default parameter Sets available in HelMod Archive (Expert Only)

-t                 specify that a txt file is provided instead of GALPROPFits.

--PrintLIS          Print Complete LIS used for Modulation (note that if --joinIsotope is Activeted output LIS is the sum in Rigidity of all isotopes

--ExtraSource_GeV <FILE_NAME> specify an extrasource to be added to LIS. File must be two column and expressend in GeV/nuc

LIS in text format

User can provide a txt file for LIS with the follow characteristics:

  1. The file must be a text file.
  2. The file must contains two columns only:
    1. one for kinetic energy per nucleon [GeV]
    2. the second for the LIS flux [ (m\(^2\) s sr GeV)\(^{-1}\)].
  3. The file can contains comments. Line starting with '#' character will be ignored.