be_type

   type be_subtype
      integer           :: mz          ! Vertical truncation of errors.
      integer           :: max_wave    ! Global only - horizontal spectral truncation.
      character*5       :: name        ! Variable name.
      real*8, pointer   :: rf_alpha(:) ! RF scale length.
      real*8, pointer   :: val(:,:)    ! Local Standard dev./sqrt(eigenvalue).
      real*8, pointer   :: evec(:,:,:) ! Local Vertical eigenvectors.
      real*8, pointer   :: val_g(:)    ! Global Standard dev./sqrt(eigenvalue).
      real*8, pointer   :: evec_g(:,:) ! Global Vertical eigenvectors.
      real*8, pointer   :: power(:,:)  ! Power spectrum
!_____For wavelet option:
      REAL, POINTER     ::sd(:,:,:)    ! 3D field   std. dev.
      REAL, POINTER     ::wsd(:,:,:)   ! 3D wavelet std. dev.
   end type be_subtype

   ......
   ......
   ......

   type be_type
      integer           :: ncv_mz      ! number of variables for cv_mz
      integer, pointer  :: cv_mz(:)    ! array to hold mz of each cv
      integer           :: ne
      integer           :: max_wave           ! Smallest spectral mode (global).
      integer           :: mix
      integer           :: mjy
      type (be_subtype) :: v1
      type (be_subtype) :: v2
      type (be_subtype) :: v3
      type (be_subtype) :: v4
      type (be_subtype) :: v5

      type (be_subtype) :: v6
      type (be_subtype) :: v7
      type (be_subtype) :: v8
      type (be_subtype) :: v9
      type (be_subtype) :: v10
      type (be_subtype) :: v11

      type (be_subtype) :: alpha
      real*8, pointer     :: pb_vert_reg(:,:,:)
#if (WRF_CHEM == 1)
      !integer           :: ncv_mz_chem      ! number of variables for cv_mz
      !integer, pointer  :: cv_mz_chem(:)    ! array to hold mz of each cv

      type (be_subtype),allocatable :: v12(:)     ! Chem initial condition scaling factor CVs
      integer           :: ncv_mz_chemic      ! number of variables for cv_mz
      integer, pointer  :: cv_mz_chemic(:)    ! array to hold mz of each cv

#endif

      ! Control variable space errors:
      type (cv_type)    :: cv

      real, pointer :: reg_psi_chi  (:,:)
      real, pointer :: reg_psi_t (:,:,:)
      real, pointer :: reg_psi_ps   (:,:)
      real, pointer :: reg_psi_rh   (:,:,:)
      real, pointer :: reg_chi_u_t   (:,:,:)
      real, pointer :: reg_chi_u_ps     (:,:)
      real, pointer :: reg_chi_u_rh     (:,:,:)
      real, pointer :: reg_t_u_rh    (:,:,:)
      real, pointer :: reg_ps_u_rh      (:,:)

!-----For cv option 3:
      INTEGER          :: ndeg,nta
      REAL             :: swidth
      REAL, POINTER    :: be(:)
      REAL, POINTER    :: rate(:)
      REAL, POINTER    :: table(:,:)
      REAL, POINTER    :: agvz(:,:,:,:)
      REAL, POINTER    :: bvz(:,:,:)
      REAL, POINTER    :: wgvz(:,:,:)
      REAL, POINTER    :: slix(:,:,:,:)
      REAL, POINTER    :: slipx(:,:)
      REAL, POINTER    :: sljy(:,:,:,:)
      REAL, POINTER    :: sljpy(:,:)
      REAL, POINTER    :: vz(:,:,:,:)
      REAL, POINTER    :: corz(:,:,:,:)
      REAL, POINTER    :: corp(:,:)

!_____For wavelet option:
      REAL, POINTER    ::sd( :,:,:)! 4 3D & 1 2D field   std. dev. sets.
      REAL, POINTER    ::wsd(:,:,:)! 4 3D & 1 2D wavelet std. dev. sets.
   end type be_type

相关的程序

  • da_allocate_background_errors.inc

  • da_deallocate_background_errors.inc