MODULE wrf_metadata 34

  INTEGER, PARAMETER :: wrfversion = 2   ! Denote the supported WRF version, 
                                ! Should be specified in arps2wrf.input
                                ! = 1  WRFV1.3
                                ! = 2  WRFV2.0.3

  REAL, PARAMETER  :: r_d   = 287.0
  REAL, PARAMETER  :: r_v   = 461.6
  REAL, PARAMETER  :: rvovrd= r_v/r_d
  REAL, PARAMETER  :: cp_wrf= 7.*r_d/2.
  REAL, PARAMETER  :: cv_wrf= cp_wrf - r_d
  REAL, PARAMETER  :: cvpm  = -cv_wrf/cp_wrf
  REAL, PARAMETER  :: g_wrf = 9.81

  REAL, PARAMETER  :: t0      = 300.0
  REAL, PARAMETER  :: p1000mb = 1.0E+5


  REAL, PARAMETER  :: omega_ear = 7.292e-5
  REAL(KIND(0D0)), PARAMETER  :: d2rfactor = 3.14159265358979D0/180.

  INTEGER, PARAMETER  :: LanduseCategories = 24
  INTEGER, PARAMETER  :: SoilCategories    = 16
  INTEGER, PARAMETER  :: ISWATER      = 16
  INTEGER, PARAMETER  :: ISICE        = 24
  INTEGER, PARAMETER  :: ISURBAN      = 1
  INTEGER, PARAMETER  :: ISWATER_SOIL = 14

  ! constants for MMINLU = "UMD" 
  INTEGER, PARAMETER  :: ISWATER_UMD  = 14
  INTEGER, PARAMETER  :: ISICE_UMD    = 14
  INTEGER, PARAMETER  :: ISURBAN_UMD  = 13

  INTEGER, PARAMETER  :: WRF_REAL                 = 104
  INTEGER, PARAMETER  :: WRF_DOUBLE               = 105
  INTEGER, PARAMETER  :: WRF_INTEGER              = 106
  INTEGER, PARAMETER  :: WRF_LOGICAL              = 107
  INTEGER, PARAMETER  :: WRF_COMPLEX              = 108
  INTEGER, PARAMETER  :: WRF_DOUBLE_COMPLEX       = 109

  ! Added in WRFV2.1 to initialize WRF, Passed in from namelist
  REAL                :: base_temp
  REAL,    PARAMETER  :: base_pres  = 100000.
  REAL,    PARAMETER  :: base_lapse = 50.

!   This module defines global attributes for the wrfinput_d01 file

  TYPE wrf_global_metadata
    CHARACTER(LEN=80)   :: title
    CHARACTER(LEN=24)   :: start_date
    INTEGER             :: we_dimension    ! staggered value
    INTEGER             :: sn_dimension
    INTEGER             :: bt_dimension    ! non-staggered value

    INTEGER             :: dyn_opt
    INTEGER             :: diff_opt
    INTEGER             :: km_opt
    INTEGER             :: damp_opt
    REAL                :: khdif
    REAL                :: kvdif
    INTEGER             :: mp_physics
    INTEGER             :: ra_lw_physics
    INTEGER             :: ra_sw_physics
    INTEGER             :: sf_sfclay_physics
    INTEGER             :: sf_surface_physics
    INTEGER             :: bl_pbl_physics
    INTEGER             :: cu_physics

    INTEGER             :: we_p_unstag_s
    INTEGER             :: we_p_unstag_e
    INTEGER             :: we_p_stag_s
    INTEGER             :: we_p_stag_e
    INTEGER             :: sn_p_unstag_s
    INTEGER             :: sn_p_unstag_e
    INTEGER             :: sn_p_stag_s
    INTEGER             :: sn_p_stag_e
    INTEGER             :: bt_p_unstag_s
    INTEGER             :: bt_p_unstag_e
    INTEGER             :: bt_p_stag_s
    INTEGER             :: bt_p_stag_e

    REAL                :: dx
    REAL                :: dy
    REAL                :: dt
    REAL                :: cen_lat
    REAL                :: cen_lon
    REAL                :: tru_lat1
    REAL                :: tru_lat2
    REAL                :: stand_lon
    REAL                :: moad_cen_lat

    REAL                :: gmt
    INTEGER             :: julyr
    INTEGER             :: julday

    INTEGER             :: iswater
    INTEGER             :: isice
    INTEGER             :: isurban
    INTEGER             :: isoilwater
    INTEGER             :: map_proj
    CHARACTER(LEN=4)    :: mminlu

    INTEGER             :: grid_id         ! Added in WRFV2.1
    INTEGER             :: parent_id
    INTEGER             :: i_parent_start
    INTEGER             :: j_parent_start
    INTEGER             :: parent_grid_ratio
  END TYPE wrf_global_metadata

  ! this type defines the variable attributes

  TYPE wrf_var_metadata
    CHARACTER(LEN=12)   :: name
    INTEGER             :: fieldType
    CHARACTER(LEN=3)    :: memoryOrder
    CHARACTER(LEN=80)   :: description
    CHARACTER(LEN=25)   :: units
    CHARACTER(LEN=1)    :: stagger
    CHARACTER(LEN=80)   :: dimName1
    CHARACTER(LEN=80)   :: dimName2
    CHARACTER(LEN=80)   :: dimName3
  END TYPE wrf_var_metadata

  !
  ! IO format constants
  !
  INTEGER, PARAMETER :: IO_NET   = 7        ! In ARPS system, including arps2wrf
  INTEGER, PARAMETER :: IO_INT   = 1
  INTEGER, PARAMETER :: IO_PHDF5 = 5
 
  INTEGER, PARAMETER :: IO_NET_WRF   = 2    ! WRF system
  INTEGER, PARAMETER :: IO_INT_WRF   = 1
  INTEGER, PARAMETER :: IO_PHDF5_WRF = 4

END MODULE wrf_metadata

!REAL(KIND(0D0)) FUNCTION d2rfactor
!    d2rfactor = 2.d0*ACOS(0.d0)/180.d0
!END FUNCTION d2rfactor