module modmask 32
  implicit none
  save
  !Purpose:
  !Mask of assimilated data for various type of observations
  !
  !Author  : S. Pellerin ARMA, January 2009
  !
  !Revision:
  !          S. Macpherson ARMA, September 2009
  !            -- add mask lmaskgp for ground-based GPS ZTD data
  !
  ! Mask should be set to .true. if data is assimilated
  ! lmaskpp_in       : mask for pressure profile inside the vertical domain
  ! lmaskpp_out      : mask for pressure profile below the surface
  ! lmasksf_in       : mask for surface data
  ! lmasksf_out      : mask for suface data below the model topography
  ! lmaskto/go/ro/zp : mask for tovs/goes/gpsro/profiler data
  ! lmaskgp          : mask for ground based GPS ZTD data
  ! lmask            : global (all obs type) mask of assimilated data
  ! ldiagpp/sf       : mask of diagnostic pressure profile/suface data
  ! ldiag            : global mask of diagnostic data
  !
  logical, pointer, dimension(:) :: lmaskpp_in,lmaskpp_out,lmasksf_in
  logical, pointer, dimension(:) :: lmasksf_out,lmask,lmaskto,lmaskgo
  logical, pointer, dimension(:) :: lmaskro,lmaskzp,ldiagpp,ldiagsf,ldiag
  logical, pointer, dimension(:) :: lmaskgp

  logical, pointer,dimension(:) :: lmask_g 
  logical, pointer,dimension(:) :: lmaskpp_inout_g 
  logical, pointer,dimension(:) :: lmasksf_inout_g 
  logical, pointer,dimension(:) :: lmaskto_g
  logical, pointer,dimension(:) :: lmaskgo_g
  logical, pointer,dimension(:) :: lmaskro_g
  logical, pointer,dimension(:) :: lmaskzp_g
  logical, pointer,dimension(:) :: lmaskgp_g

  !
end module modmask