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