Package LOG

Gestion des logs

Le package LOG est composé d'un unique fichier source m_qtlmap_log.F95.

L'interface du module propose un ensemble de fonction pour intialiser, ecrire et finaliser un mode d'ecriture sur la console

    integer, public, parameter             :: DEBUG_DEF     = 0
    integer, public, parameter             :: VERBOSE_DEF   = 1
    integer, public, parameter             :: INFO_DEF      = 2
    integer, public, parameter             :: WARNING_DEF   = 3
    integer, public, parameter             :: ERROR_DEF     = 4

    public :: init_log
    public :: get_log_level
    public :: log_mess
    public :: log_vector
    public :: log_matrix
    public :: log_matrix_sparse
    public :: end_log

Plus le mode est faible (de 4 à 0), plus les sorties seront verbeuses. Cela permet d'ecrire des informations necessaires en cas de resolution de probleme et de desactiver ces sorties pour une utilisation courante du logiciel.
On peut tout simplement supprimer l'ensemble de ces sorties en initialisant à WARNING_DEF ou ERROR_DEF.

Les procedures QTLMap commencent par l'affichage du nom de la procedure en mode debug (execution avec l'option -d ou --debug)

    subroutine add_general_mean(xinc,incidenceDesc)
       type(INCIDENCE_TYPE)                                  , intent(inout) :: incidenceDesc
       real (kind=dp) , dimension(incidenceDesc%dataset%data%genea%nd,incidenceDesc%ntnivmax) , intent(inout) :: xinc
       integer :: ntniv

       call log_mess("incidence : ** Add General mean ** ",DEBUG_DEF)
       incidenceDesc%ntniv = incidenceDesc%ntniv+1

       ntniv = incidenceDesc%ntniv
       incidenceDesc%nteff = incidenceDesc%nteff+1
       incidenceDesc%desc(incidenceDesc%nteff)%name="General Mean" 
       incidenceDesc%desc(incidenceDesc%nteff)%start=incidenceDesc%nteff
       incidenceDesc%desc(incidenceDesc%nteff)%end=incidenceDesc%nteff
       incidenceDesc%desc(incidenceDesc%nteff)%isVar = .false.
       xinc(:,ntniv) = 1

    end subroutine add_general_mean