! Library:phys $Id: suhlconst.F90 5127 2007-05-13 20:31:14Z towil $

!options xopt(noeval)
subroutine suhlconst(kulout,kmype)

!**** *suhlconst*   - Initialize yhlconst

!     Purpose.
!     --------
!        Initialize yhlconst which contains a group of basic 
!        constants for the HIRLAM physical parameterizations.

!**   Interface.
!     ----------
!        *call* *suhlconst(kulout)

!        Explicit arguments :
!        --------------------
!        kulout : Logical unit for the output

!        Implicit arguments :
!        --------------------
!        yhlconst

!     Method.
!     -------
!        See documentation

!     Externals.
!     ----------

!     Reference.
!     ----------
!        Documentation HIRLAM

!     Author.
!     -------
!        B.H. Sass, (Danish Meteorological Institute).

!     Modifications.
!     --------------
!     HIRLAM version : September 2006 
!     A.Bogatchev : 26-Oct-2007 removing of severe breaks of coding rools


use parkind1  ,only : jpim    ,jprb

use yomhook   ,only : lhook,   dr_hook

use yoethf ,      only : rhoh2o
use yomcst ,      only : rpi,   rlvtt,    rd,       rcpd,    &
     &                   rcpv,   rmv,      rmd,      rg,     &
     &                   rtt,    rlstt,    ri0,              &
     &                   rsigma, ra,       romega 
use yomphy0,      only : vkarmn

use yhlconst    , only : pi,     latvap,   rair,     cpair,  &
     &                   ccpq,   epsilo,   gravit,   tmelt,  &
     &                   latice, rhowater, solar,    stebol, &
     &                   carman, rearth,   omega,    cpv
use yhloption   , only : hlprt

implicit none

integer(kind=jpim),intent(in)    :: kulout
integer(kind=jpim),intent(in)    :: kmype

real(kind=jprb) :: zhook_handle

!    -------------------------------------------------------------
!*       1.    Set default values.
!              -------------------

!        1.1 Set implicit default values

  if (lhook) call dr_hook('suhlconst',0,zhook_handle)

  pi       = rpi
  latvap   = rlvtt
  rair     = rd
  cpv      = rcpv
  cpair    = rcpd
  ccpq     = (rcpv / rcpd ) -1._jprb
  epsilo   = ( rmv / rmd )
  gravit   = rg
  tmelt    = rtt
  latice   = rlstt - rlvtt
  rhowater = rhoh2o
  solar    = ri0
  stebol   = rsigma
  carman   = vkarmn
  rearth   = ra
  omega    = romega

!     ------------------------------------------------------------------
!*       2.    Modify default values.
!              ----------------------
!        (name list reading not yet active) 
!     ------------------------------------------------------------------
!*       3.    Print final values.
!              -------------------
if( hlprt > 1 .and. kmype == 0 ) then 
  write(unit=kulout,fmt='('' MODULE yhlconst initialized '')')
  write(unit=kulout,fmt='('' PI= '',E10.4,'' LATVAP = '',E10.4 &
 & ,'' RAIR = '',E10.4,'' CPAIR = '',E10.4,'' CCPQ = '',E10.4 &
 & ,'' EPSILO = '',E10.4,'' GRAVIT = '',E10.4,'' TMELT = '',E10.4 &
 & ,'' LATICE = '',E10.4 &
 & ,'' RHOWATER = '',E10.4,'' SOLAR = '',E10.4,'' STEBOL = '',E10.4 &
 & ,'' CARMAN = '',E10.4,'' REARTH = '',E10.4 &
 & ,'' OMEGA = '',E10.4 , '' CPV = '',E10.4 &
 & )') &
 & PI,LATVAP,RAIR,CPAIR,CCPQ,EPSILO,GRAVIT,TMELT, &
 & LATICE,RHOWATER,SOLAR,STEBOL,CARMAN,REARTH,OMEGA,CPV
endif 

if (lhook) call dr_hook('suhlconst',1,zhook_handle)
end subroutine suhlconst
