MODULE SUSCST_MOD
CONTAINS
SUBROUTINE SUSCST

USE PARKIND1  ,ONLY : JPIM     ,JPRB
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK

USE YOS_CST  , ONLY : RTT, RPI, RDAY, R, RD, RV, RETV, RLSTT, RLMLT, &
                    & RLVTT, RCPD, RCPV, RSIGMA, RG, RATM, ROMEGA

#ifdef DOC
!**   *SUSCST* IS THE SET-UP ROUTINE FOR COMMON BLOCK *YOS_CST*
!              This contains the fundamental model constants

!     INTERFACE.
!     ----------
!     CALL *SUSCST* FROM *SUSURF*

!     METHOD.
!     -------

!     EXTERNALS.
!     ----------

!     REFERENCE.
!     ----------

!     Original    P. Viterbo      May 2005
!        Based on the IFS sucst

#endif

IMPLICIT NONE

REAL(KIND=JPRB) :: ZRKBOL, ZRCLUM, ZRHPLA, ZRNAVO, ZRMD, ZRMV
REAL(KIND=JPRB) :: ZSIYEA, ZSIDAY

REAL(KIND=JPRB) :: ZCORIOI
REAL(KIND=JPRB) :: ZHOOK_HANDLE

!     ------------------------------------------------------------------

IF (LHOOK) CALL DR_HOOK('SUSCST_MOD:SUSCST',0,ZHOOK_HANDLE)

!  DEFINE FUNDAMENTAL CONSTANTS.

RPI=2.0_JPRB*ASIN(1.0_JPRB)
ZRCLUM=299792458._JPRB
ZRHPLA=6.6260755E-34_JPRB
ZRKBOL=1.380658E-23_JPRB
ZRNAVO=6.0221367E+23_JPRB

! SMALL PLANET CORIOLIS ACCELERATION
ZCORIOI = 1._JPRB

!  DEFINE ASTRONOMICAL CONSTANTS.

RDAY=86400._JPRB*ZCORIOI
ZSIYEA=365.25_JPRB*RDAY*2.0_JPRB*RPI/6.283076_JPRB
ZSIDAY=RDAY/(1.0_JPRB+RDAY/ZSIYEA)
ROMEGA=2.0_JPRB*RPI/ZSIDAY

!  DEFINE GEOIDE.

RG=9.80665_JPRB

!  DEFINE RADIATION CONSTANTS.

RSIGMA=2.0_JPRB * RPI**5 * ZRKBOL**4 /(15._JPRB* ZRCLUM**2 * ZRHPLA**3)

!  DEFINE THERMODYNAMIC CONSTANTS, GAS PHASE.

R=ZRNAVO*ZRKBOL
ZRMD=28.9644_JPRB
ZRMV=18.0153_JPRB
RD=1000._JPRB*R/ZRMD
RV=1000._JPRB*R/ZRMV
RCPD=3.5_JPRB*RD
RCPV=4._JPRB *RV
RETV=RV/RD-1.0_JPRB

!  DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE.

RTT=273.16_JPRB
RLVTT=2.5008E+6_JPRB
RLSTT=2.8345E+6_JPRB
RLMLT=RLSTT-RLVTT
RATM=100000._JPRB

IF (LHOOK) CALL DR_HOOK('SUSCST_MOD:SUSCST',1,ZHOOK_HANDLE)

!     ------------------------------------------------------------------

END SUBROUTINE SUSCST
END MODULE SUSCST_MOD
