Back to OASIS4 home
Type Drv_EPIO
: defined in prismdrv, for the storage of one EPIOS and EPIOT for one
association source/target components.
TYPE Drv_EPIO
Integer :: epio_id ! id set by the
transformer (T)
Integer :: trans_rank ! rank of the T process
treating this epio
Integer :: status ! indicates
if this index has already been
! used (needed for the
allocation process)
Integer :: src_comp_id ! source component global id
Integer :: tgt_comp_id ! target component global id
Integer :: src_process ! local rank of the source process
Integer :: tgt_process ! local rank of the target process
Integer :: src_status ! status to inform if the src
EPIO has
! already been set
or not
Integer :: tgt_status ! status to inform if the tgt
EPIO has
! already been set
or not
Integer :: src_size ! number of source
points in the EPIO
Integer :: src_lonlatz_size !size of source lat/lon/z
compact
! arrays (points or corners)
Integer :: src_nbr_corner ! number of corner for the source
grid
Integer :: tgt_size ! number of target
points in the EPIO
Integer :: tgt_nbr_corner ! number of corner for the target
grid
Integer :: weights_status ! indicates if the weights were
already
! calculated or not
Integer :: src_coord_type ! PRISM_Real or PRISM_Double_Precision
Integer :: tgt_coord_type ! PRISM_Real or PRISM_Double_Precision
INTEGER :: max_links_map1 ! current size
of link arrays
INTEGER :: num_links_map1 ! actual number
of links for remapping
INTEGER :: resize_increment ! default to
increase array size
INTEGER ::
src_grid_type ! source grid type
INTEGER :: gaussred_stride !
stride in lat/lon corner array
! between cell minimum and maximum values.
Integer,
Pointer :: src_mask_pointer(:) ! mask for source epio
Integer,
Pointer :: tgt_mask_pointer(:) ! mask for source epio
Integer,
Pointer :: index_array(:,:) ! for each EPIO target point, indices
! to access the compact
arrays of corresponding source
! point/corner latitudes, longitudes, and z
Integer, Pointer ::
same_lat(:) ! array of integer to know if the bascule must
! be done or not for each target point for
gaussian reduced source grid
Integer,
Pointer :: nbsrccells_pertgtpt(:) ! for each EPIO target point,
! the number of corresponding source cells (used for
conservative
! remapping only as this number varies for each tgt pt)
INTEGER,
POINTER :: srcepio_add(:) ! array containing for each element of
! the lon/lat/z compact arrays the corresponding rank in the total
! number of epio source points
INTEGER,
POINTER :: grid1_add_map1(:) ! for
each 2d conservative remapping
! link: rank of the corresponding source point in the total
! number of epio source points
INTEGER,
POINTER :: grid2_add_map1(:) !
for each 2d conservative remapping
! link: rank of the corresponding
target point in the total
! number of epio target points
REAL,
POINTER :: src_lat_pointer_real(:) ! source
epio point/corner
! latitude (compact array)
Real,
Pointer :: src_lon_pointer_real(:) ! source
epio point/corner
! longitude (compact array)
Real,
Pointer :: src_z_pointer_real(:) !
source epio point/corner
! position in the vertical dimension (compact array)
Real,
Pointer :: tgt_lat_pointer_real(:) ! target
epio point/corner
! latitude (not compact array)
Real,
Pointer :: tgt_lon_pointer_real(:) ! target
epio point/corner
! longitude (not compact array)
Real,
Pointer :: tgt_z_pointer_real(:) !
target epio point/corner
! position in the vertical dimension (compact array)
Double
Precision, Pointer :: src_lat_pointer_dble(:) !
see above
Double
Precision, Pointer :: src_lon_pointer_dble(:) !
see above
Double
Precision, Pointer ::
src_z_pointer_dble(:) ! see above
Double
Precision, Pointer :: tgt_lat_pointer_dble(:) !
see above
Double
Precision, Pointer :: tgt_lon_pointer_dble(:) !
see above
Double
Precision, Pointer ::
tgt_z_pointer_dble(:) ! see above
Double
Precision, Pointer :: weights(:,:) !
interpolation weights
DOUBLE
PRECISION, POINTER :: wts_map1(:,:)
! 2d cons remapping weights
DOUBLE
PRECISION, POINTER :: grid1_area(:) ! area of
source epio cell
! as provided by the component
DOUBLE
PRECISION, POINTER :: grid2_area(:) ! area of
target epio cell
! as calculated by the 2d conservative remappin
END TYPE Drv_EPIO