Back to OASIS4 home

Type Grid : defined in oasis4/lib/psmile_oa4/src/psmile.F90, to store the information on the structure of the grids and the corners

Grids(:)

Type Grid

         Integer                                      :: global_grid_id
         Integer                                      :: status
         Integer                                      :: comp_id
         Integer                                      :: grid_type
         Integer                                      :: grid_shape (2, ndim_3d)
         Integer                                      :: grid_structure
         Integer                                      :: n_dim
         Integer (kind=int64)                 :: size
         Integer (kind=int64)                 :: global_size(ndim_3d)
         Logical                                     :: used_for_coupling
         Logical                                     :: used_for_io ! for stand_alone application
         Logical                                     :: pole_covered
         Integer                                      :: smioc_index
         Character(len=max_name)       :: grid_name
         Type (Corner_Block), Pointer  :: corner_pointer  ! to store the corners of the grid given by the user in prism_set_corners
         Type (Enddef_mg), Pointer     :: mg_infos (:)
         Integer                                      :: nlev
         Integer                                      :: ijk0 (ndim_3d)
         Integer                                      :: periodic(ndim_3d)
         Logical                                     :: cyclic(ndim_3d)
         Integer                                      :: len_periodic (ndim_3d)
         Integer                                      :: nbr_halo_segments
         Type (Halo_info), Pointer        :: halo (:)
         ! Specific for Gauss-reduced grids
         Integer                                     :: nbr_latitudes
         Integer, Pointer                        :: nbr_points_per_lat(:)
         Integer, Pointer                        :: partition(:,:)
         Integer, Pointer                        :: extent(:,:)
         Type (Corner_Block), Pointer  :: gcorner_pointer  ! used in the search to store corners of gaussian reduced grid
         Integer, Pointer                        :: star(:,:)
         Integer, Pointer                        :: face(:,:)
         Integer, Pointer                        :: global_beg(:)
         Integer, Pointer                        :: global_end(:)
         Integer, Pointer                        :: g2l(:,:)
         Integer, Pointer                        :: l2g(:,:)
         Integer, Pointer                        :: g_irange(:,:)
         Integer, Pointer                        :: remote_index(:)
         Integer, Pointer                        :: send_list(:)
         Integer, Pointer                        :: recv_list(:)
         Type(integer_vector), Pointer :: get_list(:)
         Type(integer_vector), Pointer :: put_list(:)
         Type(integer_vector), Pointer :: put_loc_list(:)
         Integer                                    :: ijk0_r (ndim_3d)
         Integer                                    :: assoc_grid_id   ! grid_id of associated grid used in User-defined interpolations (For geographical field, assoc_grid_id is the id of gridless grid)

End Type Grid

Type Halo_info

         Integer                   :: local_rank
         Integer                   :: local_block
         Integer                   :: remote_rank
         Integer                   :: remote_grid_id
         Integer                   :: remote_block
         Integer                   :: halo_size
         Integer                   :: send_range(2,ndim_3d)     ! indexes of halo that have to be sent by the local proc
         Integer                   :: global_range(2,ndim_3d)  ! indexes of halo that have to be received

End Type Halo_info