iv_type

   type iv_type
      integer :: nstats(num_ob_indexes)

      integer :: time

      integer :: num_inst, total_rad_pixel, total_rad_channel

      real    :: synop_ef_u, synop_ef_v, synop_ef_t, synop_ef_p, synop_ef_q
      real    :: metar_ef_u, metar_ef_v, metar_ef_t, metar_ef_p, metar_ef_q
      real    :: ships_ef_u, ships_ef_v, ships_ef_t, ships_ef_p, ships_ef_q
      real    :: geoamv_ef_u, geoamv_ef_v
      real    :: polaramv_ef_u, polaramv_ef_v
      real    :: gpspw_ef_tpw
      real    :: sound_ef_u, sound_ef_v, sound_ef_t, sound_ef_q
      real    :: mtgirs_ef_u, mtgirs_ef_v, mtgirs_ef_t, mtgirs_ef_q
      real    :: tamdar_ef_u, tamdar_ef_v, tamdar_ef_t, tamdar_ef_q
      real    :: tamdar_sfc_ef_u, tamdar_sfc_ef_v, tamdar_sfc_ef_t, tamdar_sfc_ef_p, tamdar_sfc_ef_q
      real    :: airep_ef_u, airep_ef_v, airep_ef_t, airep_ef_q
      real    :: pilot_ef_u, pilot_ef_v
      real    :: ssmir_ef_speed, ssmir_ef_tpw
      real    :: satem_ef_thickness, ssmt1_ef_t, ssmt2_ef_rh
      real    :: gpsref_ef_ref, gpsref_ef_p, gpsref_ef_t, gpsref_ef_q
      real    :: gpseph_ef_eph
      real    :: qscat_ef_u, qscat_ef_v
      real    :: profiler_ef_u, profiler_ef_v
      real    :: buoy_ef_u, buoy_ef_v, buoy_ef_t, buoy_ef_p, buoy_ef_q
      real    :: radar_ef_rv, radar_ef_rf, radar_ef_rr
      real    :: bogus_ef_u, bogus_ef_v, bogus_ef_t, bogus_ef_p, bogus_ef_q, bogus_ef_slp
      real    :: airsr_ef_t,  airsr_ef_q
      real    :: rain_ef_r
#if (WRF_CHEM == 1)
      real    :: chemic_surf_ef
#endif

      type (infa_type) :: info(num_ob_indexes)

      type (airsr_type)    , pointer :: airsr(:)
      type (sound_type)    , pointer :: sound(:)
      type (synop_type)    , pointer :: sonde_sfc(:)
      type (airep_type)    , pointer :: airep(:)
      type (pilot_type)    , pointer :: pilot(:)
      type (satem_type)    , pointer :: satem(:)
      type (geoamv_type)   , pointer :: geoamv(:)
      type (polaramv_type) , pointer :: polaramv(:)
      type (synop_type)    , pointer :: synop(:)
      type (synop_type)    , pointer :: metar(:)
      type (synop_type)    , pointer :: ships(:)
      type (gpspw_type)    , pointer :: gpspw(:)
      type (gpsref_type)   , pointer :: gpsref(:)
      type (gpseph_type)   , pointer :: gpseph(:)
      type (ssmi_tb_type)  , pointer :: ssmi_tb(:)
      type (ssmi_rv_type)  , pointer :: ssmi_rv(:)
      type (ssmt1_type)    , pointer :: ssmt1(:)
      type (ssmt2_type)    , pointer :: ssmt2(:)
      type (pseudo_type)   , pointer :: pseudo(:)
      type (qscat_type)    , pointer :: qscat(:)
      type (synop_type)    , pointer :: buoy(:)
      type (pilot_type)    , pointer :: profiler(:)
      type (bogus_type)    , pointer :: bogus(:)
      type (radar_type)    , pointer :: radar(:)
      type (instid_type)   , pointer :: instid(:)
      type (mtgirs_type)   , pointer :: mtgirs(:)
      type (tamdar_type)   , pointer :: tamdar(:)
      type (synop_type)    , pointer :: tamdar_sfc(:)
      type (rain_type)     , pointer :: rain(:)
#if (WRF_CHEM == 1)
      type (chemic_surf_type), pointer :: chemic_surf(:)
#endif

      type (varbc_tamdar_type) :: varbc_tamdar

      real :: missing
      real :: ptop
   end type iv_type

单点观测数据结构

type field_type
   real                   :: inv             ! Innovation vector
   integer                :: qc              ! Observation QC
   real                   :: error           ! Observational error
   real                   :: sens            ! Sensitivity vector
   real                   :: imp             ! Impact vector
end type field_type

单层观测数据结构

type synop_type
   real                    :: h              ! Height in m
   type (field_type)       :: u              ! u-wind.
   type (field_type)       :: v              ! v-wind.
   type (field_type)       :: t              ! temperature.
   type (field_type)       :: p              ! pressure.
   type (field_type)       :: q              ! q.
end type synop_type

多层观测数据结构

type sound_type
   real                  , pointer :: h        (:) ! Height in m
   real                  , pointer :: p        (:) ! pressure.

   type (field_type)     , pointer :: u        (:) ! u-wind.
   type (field_type)     , pointer :: v        (:) ! v-wind.
   type (field_type)     , pointer :: t        (:) ! temperature.
   type (field_type)     , pointer :: q        (:) ! q.
end type sound_type

相关的程序

  • da_allocate_obs_info.inc

  • da_allocate_observations.inc

  • da_allocate_observations_chem_sfc.inc

  • da_allocate_observations_rain.inc

  • da_deallocate_observations.inc