{-----------------------------------------------------------------
(c) 2009-2010 Markus Dittrich,
National Resource for Biomedical Supercomputing &
Carnegie Mellon University
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public
License Version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License Version 3 for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
--------------------------------------------------------------------}
-- | message routines used in simgi
module Messages ( show_version
, startup_message
, usage
) where
-- imports
import Prelude
-- local imports
import GenericModel
-- | show version info
show_version :: IO ()
show_version = putStrLn "This is simgi v0.3 (c) 2009-2010 Markus Dittrich"
-- | show a brief startup message
startup_message :: ModelState -> IO ()
startup_message state = show_version
>> (putStrLn $ "\n-------- Simulation parameters ----------")
>> (putStrLn $ "rng seed : " ++ (show simSeed))
>> (putStrLn $ "max time : " ++ (show simTime) ++ " s")
>> (putStrLn $ "system volume : " ++ finalSimVol)
>> (putStrLn $ "data output frequency : " ++ (show simFreq))
>> (putStrLn $ "log output frequency : " ++ (show simLogFreq))
>> (putStrLn $ "output filename : " ++ simOutFile)
>> (putStrLn $ "-----------------------------------------")
>> putStrLn "\nstarting simulation ...\n"
where
(ModelState { seed = simSeed
, maxTime = simTime
, systemVol = simVol
, outputBufferSize = simLogFreq
, outputFreq = simFreq
, outfileName = simOutFile
}) = state
-- for nil volumes we want to display nil not -1.0
finalSimVol = if (simVol < 0)
then "nil"
else (show simVol) ++ " dm^3"
-- | provide brief usage info
usage :: IO ()
usage = putStrLn "Usage: simgi [options] \n\n\
\Currently supported options are:\n\n\
\\t -s --seed \n\
\\t specify value for the rng starting seed.\n\n\
\\t -v --version-info \n\
\\t print version info.\n\n\
\\t -h --help \n\
\\t print this help message."