!===============================================================================
!
! module_conf_info.F90
!
!-------------------------------------------------------------------------------
!
! Copyright (C) 2002-2016 Hinnerk Stueben 
!               2006-2008 Yoshifumi Nakamura
!
! This file is part of BQCD -- Berlin Quantum ChromoDynamics program
!
! BQCD is free software: you can redistribute it and/or modify
! it under the terms of the GNU General Public License as published by
! the Free Software Foundation, either version 3 of the License, or
! (at your option) any later version.
!
! BQCD 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 for more details.
!
! You should have received a copy of the GNU General Public License
! along with BQCD.  If not, see <http://www.gnu.org/licenses/>.
!
!-------------------------------------------------------------------------------
# include "defs.h"

!-------------------------------------------------------------------------------
module module_conf_info

  type type_conf_info
     REAL, dimension(2)      :: beta, kappa, kappa_strange, &
                                csw, csw_kappa, csw_kappa_strange, &
                                alpha, n_stout, h, theta
     REAL                    :: plaq
     integer, dimension(DIM) :: L, bc_fermions
     integer                 :: rkind
     integer, dimension(2)   :: ensemble
     integer                 :: run, job, traj
     character(len = 10)     :: gauge_action, fermi_action, bc_normal_schr
     RAN_NAME                :: ran
  end type type_conf_info

  character(len = *), parameter :: k_format  = "Format"
  character(len = *), parameter :: k_prog    = "Program"
  character(len = *), parameter :: k_ran     = "RandomNumbers"
  character(len = *), parameter :: k_run     = "Run"
  character(len = *), parameter :: k_job     = "Job"
  character(len = *), parameter :: k_traj    = "Traj"
  character(len = *), parameter :: k_host    = "Host"
  character(len = *), parameter :: k_date    = "Date"
  character(len = *), parameter :: k_L       = "L"
  character(len = *), parameter :: k_ga      = "GaugeAction"
  character(len = *), parameter :: k_fa      = "FermiAction"
  character(len = *), parameter :: k_bcns    = "BoundaryCondition"
  character(len = *), parameter :: k_bc      = "bc_fermions"
  character(len = *), parameter :: k_rkind   = "REAL_kind"
  character(len = *), parameter :: k_plaq    = "PlaqEnergy"


  character(len = *), parameter, dimension(2) ::  &
       k_ensemble  = (/ "ensemble        ", "former_ensemble " /), &
       k_beta      = (/ "beta            ", "former_beta     " /), &
       k_kappa     = (/ "kappa           ", "former_kappa    " /), &
       k_kappa_strange = (/ "kappa_strange           ", "former_kappa_strange    " /), &
       k_csw       = (/ "csw             ", "former_csw      " /), &
       k_csw_kappa = (/ "csw_kappa       ", "former_csw_kappa" /), &
       k_csw_kappa_strange = (/ "csw_kappa_strange       ", "former_csw_kappa_strange" /), &
       k_alpha     = (/ "alpha           ", "former_alpha    " /) , &
       k_n_stout   = (/ "n_stout         ", "former_n_stout  " /) , &
       k_h         = (/ "h               ", "former_h        " /) , &
       k_theta     = (/ "theta           ", "former_theta    " /)

end

!===============================================================================
