Back to OASIS4 home

Global Variables in the Psmile (defined in oasis4/lib/psmile_oa4/src/psmile.F90)

Comps (Number_of_Comps_allocated): of type Component (type defined in psmile.F90), contains the component definition.
Allocation in prism_init : Allocate (Comps(Number_of_Comps_allocated), STAT = ierror)
Initialization in prism_init_comp.
***** more infos here

Methods (Number_of_Methods_allocated) : of type Method (type defined in psmile.F90), contains the informations on the points of the grid and not the corners (see Grids).
Allocation in prism_init : Allocate (Methods(Number_of_Methods_allocated), STAT = ierror)
Initialization in prism_set_points.
There is only one set of corner for one grid (stored in Grids(grid_id) but there can be more than one set of points.
Is linked to the search based on method point (bilinear and bicubic interpolations) and not on corner point (conservative interpolation).
For the conservative interpolation, only one « method » can be defined while more than one method (ie set of points) can be defined on one grid for the other interpolations.
For example, for my grids, there are three kind of points for ORCA (T,U,V) while there are only one set of corners.
Methods contain the informations on the coordinates of the points.

Fields (number_of_fields_allocated) : of type GridFunction (type defined in psmile.F90), contains the infos about
all the transient fields associated to one grid of a component.
Allocation in prism_init : Allocate (Fields(Number_of_Fields_allocated), STAT = ierror)
Initialization in the prism_def_var.
As the interpolations in the Transformer are divided in two steps, calculation of the weights and evaluation of the interpolated field, each field of one component is associated to a grid_id so the weights are only
calculated once for each couple of (source,target) grids.
The index grid_id is associated to the component when the component calls the routine prism_def_grid and return a grid_id associated to a comp_id.
***** more infos here

Grids (Number_of_Grids_allocated) : of type Grid (type defined in psmile.F90), informations about the grids (shape ...)
and corners associated with one component.
Allocation in prism_init : Allocate (Grids(Number_of_Grids_allocated), STAT = ierror)
Initialization in prism_def_grid.

Masks (Number_of_Masks_allocated) : of type Mask (type defined in psmile.F90), informations about the masks
associated with one grid.
Allocation in prism_init : Allocate (Masks(Number_of_Masks_allocated), STAT = ierror)
Initialization in prism_set_mask.

comp_infos (1:n_act_comp) (target) : of type Enddef_comp (type defined in oasis4/lib/common_oa4/src/psmile_common.F90), informations on the components located on the actual process.
Allocation in prism_enddef : Allocate (comp_infos(1:n_act_comp), STAT = ierror)
Initialization in psmile_enddef_comp

all_comp_infos (1:Number_of_coll_comps
= SUM (Number_of_comps_per_appl(:))) : of type Enddef_comp (type defined in oasis4/lib/common_oa4/src/psmile_common.F90), informations on all the components of all applications.
Allocation in psmile_enddef_appl : Allocate (all_comp_infos(1:Number_of_coll_comps), STAT = ierror)
Initialization in psmile_enddef_appl.

paction :
of type Enddef_action (type defined in psmile_common)
Allocation of the different sub-structures in psmile_get_intersect :
allocate(paction%n_answer2recv_per_grid(Number_of_Grids_allocated))
Allocate (paction%lrequest(paction%nreq), stat = ierror)
Allocate (paction%loc_messages(nd_msgint, paction%n_answer2recv), stat = ierror)


cpl_list (Number_of_Cpls_allocated) : of type GridConnection (type defined in psmile), to store informations about
source and target grid relations (epio ...) to send info to the transformer

IO_apps_infos  : of type IO_App_info (defined in psamile), for definition of comm of application for MPP_IO (independant from the psmile)

Io_Comp_infos (1:size(Comps)) : of type IO_Comp_info (type defined in psmile), for MPP_IO
Allocation in psmile_io_init_comp : allocate(IO_Comps_infos(1:size(Comps)),STAT=ierror)
initialisation in
psmile_io_init_comp

neighcells_3d (:,:,:) : integer

field2grid (:) : integer

Timesteps_info(:) : of type TimeStep (type defined in psmile.F90)

Timesteps (:) : double precision

PRISM_applProc(:) : integer

PRISM_noCompsPerAppl(:) : integer

PRISM_compRankSets(:) : integer

PRISM_rankSets(:,:) integer

PRISM_applName(:) : character

PRISM_compName(:) : charater