xb_type

registry.var 中:

# BEGIN XB_TYPE DEFINITION:
typedef xb_type integer      map
typedef xb_type real         ptop
typedef xb_type real         ztop
typedef xb_type real         ds
typedef xb_type real         sigmaf_0
typedef xb_type integer      mix
typedef xb_type integer      mjy
typedef xb_type integer      mkz
typedef xb_type integer      num_of_var
#
typedef xb_type integer    ids
typedef xb_type integer    ide
typedef xb_type integer    jds
typedef xb_type integer    jde
typedef xb_type integer    kds
typedef xb_type integer    kde
typedef xb_type integer    ims
typedef xb_type integer    ime
typedef xb_type integer    jms
typedef xb_type integer    jme
typedef xb_type integer    kms
typedef xb_type integer    kme
typedef xb_type integer    its
typedef xb_type integer    ite
typedef xb_type integer    jts
typedef xb_type integer    jte
typedef xb_type integer    kts
typedef xb_type integer    kte
#
# table entries are of the form
#      <Table>  <Type>  <Sym>                <Dims>   <Use>   <NumTLev> <Stagger> <IO>     <DNAME>             <DESCRIP>     <UNITS>
#Grid variables
typedef xb_type real    grid_box_area          ij       -         1        -       -
typedef xb_type real    map_factor             ij       -         1        -       -
typedef xb_type real    u                      ijk      -         1        X       -
typedef xb_type real    v                      ijk      -         1        Y       -
typedef xb_type real    w                      ijk      -         1        -       -
typedef xb_type real    t                      ijk      -         1        -       -
typedef xb_type real    p                      ijk      -         1        -       -
typedef xb_type real    q                      ijk      -         1        -       -
typedef xb_type real    qrn                    ijk      -         1        -       -
typedef xb_type real    qcw                    ijk      -         1        -       -
typedef xb_type real    qci                    ijk      -         1        -       -
typedef xb_type real    qsn                    ijk      -         1        -       -
typedef xb_type real    qgr                    ijk      -         1        -       -
typedef xb_type real    qt                     ijk      -         1        -       -
typedef xb_type real    delt                   ijk      -         1        -       -
typedef xb_type real    xb_p_x                 ijk      -         1        -       -
typedef xb_type real    xb_p_y                 ijk      -         1        -       -
typedef xb_type real    h                      ijk      -         1        -       -
typedef xb_type real    hf                     ijk      -         1        -       -
typedef xb_type real    wh                     ijk      -         1        -       -
typedef xb_type real    rho                    ijk      -         1        -       -
typedef xb_type real    rh                     ijk      -         1        -       -
typedef xb_type real    es                     ijk      -         1        -       -
typedef xb_type real    qs                     ijk      -         1        -       -
typedef xb_type real    td                     ijk      -         1        -       -
typedef xb_type real    vertical_inner_product ijk      -         1        -       -
typedef xb_type real    ref                    ijk      -         1        -       -
typedef xb_type real    reflog                 ijk      -         1        -       -
typedef xb_type real    rough                  ij       -         1        -       -
typedef xb_type real    ztd                    ij       -         1        -       -
typedef xb_type real    tpw                    ij       -         1        -       -
typedef xb_type real    slp                    ij       -         1        -       -
typedef xb_type real    speed                  ij       -         1        -       -
typedef xb_type real    tb19v                  ij       -         1        -       -
typedef xb_type real    tb19h                  ij       -         1        -       -
typedef xb_type real    tb22v                  ij       -         1        -       -
typedef xb_type real    tb37v                  ij       -         1        -       -
typedef xb_type real    tb37h                  ij       -         1        -       -
typedef xb_type real    tb85v                  ij       -         1        -       -
typedef xb_type real    tb85h                  ij       -         1        -       -
typedef xb_type real    cori                   ij       -         1        -       -
typedef xb_type real    tgrn                   ij       -         1        -       -
typedef xb_type real    lat                    ij       -         1        -       -
typedef xb_type real    lon                    ij       -         1        -       -
typedef xb_type real    terr                   ij       -         1        -       -
typedef xb_type real    psac                   ij       -         1        -       -
typedef xb_type real    lanu                   ij       -         1        -       -
typedef xb_type real    snow                   ij       -         1        -       -
typedef xb_type real    xland                  ij       -         1        -       -
typedef xb_type real    landmask               ij       -         1        -       -
typedef xb_type real    u10                    ij       -         1        -       -
typedef xb_type real    v10                    ij       -         1        -       -
typedef xb_type real    t2                     ij       -         1        -       -
typedef xb_type real    q2                     ij       -         1        -       -
typedef xb_type real    psfc                   ij       -         1        -       -
typedef xb_type real    tsk                    ij       -         1        -       -
typedef xb_type real    smois                  ij       -         1        -       -
typedef xb_type real    tslb                   ij       -         1        -       -
typedef xb_type real    xice                   ij       -         1        -       -
typedef xb_type integer ivgtyp                 ij       -         1        -       -
typedef xb_type integer isltyp                 ij       -         1        -       -
typedef xb_type real    vegfra                 ij       -         1        -       -
typedef xb_type real    snowh                  ij       -         1        -       -
typedef xb_type real    regime                 ij       -         1        -       -
typedef xb_type real    znu                    k        -         1        -       -
typedef xb_type real    znw                    k        -         1        -       -
typedef xb_type real    dn                     k        -         1        -       -
typedef xb_type real    dnw                    k        -         1        -       -
typedef xb_type real    sigmah                 k        -         1        -       -
typedef xb_type real    sigmaf                 k        -         1        -       -
typedef xb_type real    coefx                  ij       -         1        -       -
typedef xb_type real    coefy                  ij       -         1        -       -
typedef xb_type real    coefz                  ij       -         1        -       -
typedef xb_type real    kma_a                  k        -         1        -       -
typedef xb_type real    kma_b                  k        -         1        -       -
# END XB_TYPE DEFINITION

在编译过程中生成的文件 var/build/module_domain_type.f90 中,由 registry 自动生成代码:

TYPE xb_type
integer                                  :: map
real                                     :: ptop
real                                     :: ztop
real                                     :: ds
real                                     :: sigmaf_0
integer                                  :: mix
integer                                  :: mjy
integer                                  :: mkz
integer                                  :: num_of_var
integer                                  :: ids
integer                                  :: ide
integer                                  :: jds
integer                                  :: jde
integer                                  :: kds
integer                                  :: kde
integer                                  :: ims
integer                                  :: ime
integer                                  :: jms
integer                                  :: jme
integer                                  :: kms
integer                                  :: kme
integer                                  :: its
integer                                  :: ite
integer                                  :: jts
integer                                  :: jte
integer                                  :: kts
integer                                  :: kte
real      ,DIMENSION(:,:)     ,POINTER   :: grid_box_area
real      ,DIMENSION(:,:)     ,POINTER   :: map_factor
real      ,DIMENSION(:,:,:)   ,POINTER   :: u
real      ,DIMENSION(:,:,:)   ,POINTER   :: v
real      ,DIMENSION(:,:,:)   ,POINTER   :: w
real      ,DIMENSION(:,:,:)   ,POINTER   :: t
real      ,DIMENSION(:,:,:)   ,POINTER   :: p
real      ,DIMENSION(:,:,:)   ,POINTER   :: q
real      ,DIMENSION(:,:,:)   ,POINTER   :: qrn
real      ,DIMENSION(:,:,:)   ,POINTER   :: qcw
real      ,DIMENSION(:,:,:)   ,POINTER   :: qci
real      ,DIMENSION(:,:,:)   ,POINTER   :: qsn
real      ,DIMENSION(:,:,:)   ,POINTER   :: qgr
real      ,DIMENSION(:,:,:)   ,POINTER   :: qt
real      ,DIMENSION(:,:,:)   ,POINTER   :: delt
real      ,DIMENSION(:,:,:)   ,POINTER   :: xb_p_x
real      ,DIMENSION(:,:,:)   ,POINTER   :: xb_p_y
real      ,DIMENSION(:,:,:)   ,POINTER   :: h
real      ,DIMENSION(:,:,:)   ,POINTER   :: hf
real      ,DIMENSION(:,:,:)   ,POINTER   :: wh
real      ,DIMENSION(:,:,:)   ,POINTER   :: rho
real      ,DIMENSION(:,:,:)   ,POINTER   :: rh
real      ,DIMENSION(:,:,:)   ,POINTER   :: es
real      ,DIMENSION(:,:,:)   ,POINTER   :: qs
real      ,DIMENSION(:,:,:)   ,POINTER   :: td
real      ,DIMENSION(:,:,:)   ,POINTER   :: vertical_inner_product
real      ,DIMENSION(:,:,:)   ,POINTER   :: ref
real      ,DIMENSION(:,:,:)   ,POINTER   :: reflog
real      ,DIMENSION(:,:)     ,POINTER   :: rough
real      ,DIMENSION(:,:)     ,POINTER   :: ztd
real      ,DIMENSION(:,:)     ,POINTER   :: tpw
real      ,DIMENSION(:,:)     ,POINTER   :: slp
real      ,DIMENSION(:,:)     ,POINTER   :: speed
real      ,DIMENSION(:,:)     ,POINTER   :: tb19v
real      ,DIMENSION(:,:)     ,POINTER   :: tb19h
real      ,DIMENSION(:,:)     ,POINTER   :: tb22v
real      ,DIMENSION(:,:)     ,POINTER   :: tb37v
real      ,DIMENSION(:,:)     ,POINTER   :: tb37h
real      ,DIMENSION(:,:)     ,POINTER   :: tb85v
real      ,DIMENSION(:,:)     ,POINTER   :: tb85h
real      ,DIMENSION(:,:)     ,POINTER   :: cori
real      ,DIMENSION(:,:)     ,POINTER   :: tgrn
real      ,DIMENSION(:,:)     ,POINTER   :: lat
real      ,DIMENSION(:,:)     ,POINTER   :: lon
real      ,DIMENSION(:,:)     ,POINTER   :: terr
real      ,DIMENSION(:,:)     ,POINTER   :: psac
real      ,DIMENSION(:,:)     ,POINTER   :: lanu
real      ,DIMENSION(:,:)     ,POINTER   :: snow
real      ,DIMENSION(:,:)     ,POINTER   :: xland
real      ,DIMENSION(:,:)     ,POINTER   :: landmask
real      ,DIMENSION(:,:)     ,POINTER   :: u10
real      ,DIMENSION(:,:)     ,POINTER   :: v10
real      ,DIMENSION(:,:)     ,POINTER   :: t2
real      ,DIMENSION(:,:)     ,POINTER   :: q2
real      ,DIMENSION(:,:)     ,POINTER   :: psfc
real      ,DIMENSION(:,:)     ,POINTER   :: tsk
real      ,DIMENSION(:,:)     ,POINTER   :: smois
real      ,DIMENSION(:,:)     ,POINTER   :: tslb
real      ,DIMENSION(:,:)     ,POINTER   :: xice
integer   ,DIMENSION(:,:)     ,POINTER   :: ivgtyp
integer   ,DIMENSION(:,:)     ,POINTER   :: isltyp
real      ,DIMENSION(:,:)     ,POINTER   :: vegfra
real      ,DIMENSION(:,:)     ,POINTER   :: snowh
real      ,DIMENSION(:,:)     ,POINTER   :: regime
real      ,DIMENSION(:)       ,POINTER   :: znu
real      ,DIMENSION(:)       ,POINTER   :: znw
real      ,DIMENSION(:)       ,POINTER   :: dn
real      ,DIMENSION(:)       ,POINTER   :: dnw
real      ,DIMENSION(:)       ,POINTER   :: sigmah
real      ,DIMENSION(:)       ,POINTER   :: sigmaf
real      ,DIMENSION(:,:)     ,POINTER   :: coefx
real      ,DIMENSION(:,:)     ,POINTER   :: coefy
real      ,DIMENSION(:,:)     ,POINTER   :: coefz
real      ,DIMENSION(:)       ,POINTER   :: kma_a
real      ,DIMENSION(:)       ,POINTER   :: kma_b
END TYPE xb_type