Merge pull request #22 from wirc-sjsu/develop-w21
[WRF-Fire-merge.git] / phys / module_cam_esinti.F
blobe02218dcd822c6ba2951c7c5c02b7304d168556d
1 #define WRF_PORT
2 #define MODAL_AERO
3 ! Updated to CESM1.0.3 (CAM5.1.01) by Balwinder.Singh@pnnl.gov
5 !------------------------------------------------------------------------
6 ! Based on esinti.F90 from CAM
7 ! Ported to WRF by William.Gustafson@pnl.gov, Nov. 2009
8 ! Updated to CESM_1_0_1, Nov. 2010
9 !------------------------------------------------------------------------
11 #ifdef WRF_PORT
12 module module_cam_esinti
14   implicit none
16   private
17   public esinti
19 contains
20 #endif
22 subroutine esinti(epslon  ,latvap  ,latice  ,rh2o    ,cpair   ,tmelt   )
23 !----------------------------------------------------------------------- 
24
25 ! Purpose: 
26 ! Initialize es lookup tables
27
28 ! Method: 
29 ! <Describe the algorithm(s) used in the routine.> 
30 ! <Also include any applicable external references.> 
31
32 ! Author: J. Hack
33
34 !-----------------------------------------------------------------------
35    use shr_kind_mod, only: r8 => shr_kind_r8
36    use wv_saturation, only: gestbl
37    implicit none
38 !------------------------------Arguments--------------------------------
40 ! Input arguments
42    real(r8), intent(in) :: epslon          ! Ratio of h2o to dry air molecular weights
43    real(r8), intent(in) :: latvap          ! Latent heat of vaporization
44    real(r8), intent(in) :: latice          ! Latent heat of fusion
45    real(r8), intent(in) :: rh2o            ! Gas constant for water vapor
46    real(r8), intent(in) :: cpair           ! Specific heat of dry air
47    real(r8), intent(in) :: tmelt           ! Melting point of water (K)
49 !---------------------------Local workspace-----------------------------
51    real(r8) tmn             ! Minimum temperature entry in table
52    real(r8) tmx             ! Maximum temperature entry in table
53    real(r8) trice           ! Trans range from es over h2o to es over ice
54    logical ip           ! Ice phase (true or false)
56 !-----------------------------------------------------------------------
58 ! Specify control parameters first
60 #if ( defined WACCM_PHYS)
61    tmn   = 127.16_r8
62 #else
63    tmn   = 173.16_r8
64 #endif
65    tmx   = 375.16_r8
66    trice =  20.00_r8
67    ip    = .true.
69 ! Call gestbl to build saturation vapor pressure table.
71    call gestbl(tmn     ,tmx     ,trice   ,ip      ,epslon  , &
72                latvap  ,latice  ,rh2o    ,cpair   ,tmelt )
74    return
75 end subroutine esinti
76 #ifdef WRF_PORT
77 end module module_cam_esinti
78 #endif