Back to OASIS4 home
Global Variables in the Transformer (defined in oasis4/src/prismdrv.F90)
Drv_Procs
(il_size=total_nb_of_procs_driver_appl) : of type Drv_Proc_manage (type
defined in prismdrv), contains infos for
process management.
Allocation in prismdrv_init_appl :
ALLOCATE(Drv_Procs(il_size), stat = id_err)
Drv_Exchanges
(Number_of_Exchanges) : of type Drv_Exchange
(type defined in
prismdrv), contains infos about the
exchanges of transients proc to proc.
1 exchange = (one source grid, one target
grid, one partition, one
interpolation) + ((EPIOS,EPIOT)=EPIO)
associated.
Clones of the different transient fields defined on the exchange.
When the Driver is parallel, the EPIO are distributed over the
different procs in a loop.
Allocation in prismdrv_set_smioc_info :
ALLOCATE(Drv_Exchanges(Number_of_Exchanges), stat = id_err) for the master PRISM_root
Allocation in prismtrs_bcats2trs :
ALLOCATE(Drv_Exchanges(Number_of_Exchanges), stat = id_err) for the other procs of the Transformer
Drv_Epios
(Number_of_Epios_allocated)
: of type Drv_EPIO (type
defined in prismdrv), the EPIO
beeing the ensemble of points used in the
interpolation (see above).
Contains coordinates of source epio and associated target epio and of
the neighbours of the epio.
Allocation in prismtrs_set_src_epio_dble and in
prismtrs_set_src_epio_real : ALLOCATE
(Drv_Epios(Number_of_Epios_allocated), STAT = id_err)
Drv_Grids : of type
Drv_Grid : see if this structure is necessary or not
Drv_Interps (Number_of_Interps)
: of
type Drv_Interp (type
defined in prismdrv).
Allocation in prismdrv_set_smioc_info :
ALLOCATE(Drv_Interps(Number_of_Interps), stat = id_err) for
the master PRISM_root
Allocation in prismtrs_bcats2trs :
ALLOCATE(Drv_Interps(Number_of_Interps), stat = id_err) for the other procs of the Transformer
Drv_Transfs
(Number_of_Transfs)
: transformations table
Allocation in prismdrv_set_smioc_info :
ALLOCATE(Drv_Transfs(Number_of_Transfs), stat = id_err)
sga_experiment_start_date,
sga_experiment_end_date,
sga_run_start_date, sga_run_end_date
: of
type PRISM_Time_Struct (type defined in
oasis4/lib/common_oa4/src/prism_constants), dates
of the simulations.
Initialisation when reading the scc.xml file in prismdrv_set_scc_info.
cga_appli_name
(0:ig_nb_appl) : character,
Name of the different applications of the simulation.
Allocation in prismdrv_set_scc_info : ALLOCATE (
cga_appli_name(0:ig_nb_appl), STAT = id_err )
cga_appli_exe_name
(0:ig_nb_appl) : character,
Name of the different applications executables
of the simulation.
Allocation in prismdrv_set_scc_info : ALLOCATE
( cga_appli_exe_name(0:ig_nb_appl), STAT = id_err )
cga_appli_args
(:) : character,
Argument of the different applications executables
of the simulation.
Allocation in prismdrv_set_scc_info :
ALLOCATE ( cga_appli_args(0:0), STAT = id_err ) if no args or ALLOCATE
( cga_appli_args(ig_nb_tot_args), STAT = id_err )
cga_appli_hostname
(1:ig_nb_tot_hosts) : character,
Name of the different applications executables
of the simulation.
Allocation in prismdrv_set_scc_info : ALLOCATE
( cga_appli_hostname(ig_nb_tot_hosts), STAT = id_err )
cga_appli_compname
(1:ig_nb_tot_comps) : character,
Name of the different components for each
application.
Allocation in prismdrv_set_scc_info : ALLOCATE
( cga_appli_compname(ig_nb_tot_comps), STAT = id_err )
iga_appli_nb_hosts
(:) : integer, Number of hosts for
each application.
Allocation in prismdrv_set_scc_info : ALLOCATE
( iga_appli_nb_hosts(0:ig_nb_appl), STAT = id_err )
iga_appli_nb_pes
(0:ig_nb_appl) : integer,
Number of processes for each application.
Allocation in prismdrv_set_scc_info : ALLOCATE
( iga_appli_nb_pes(0:ig_nb_appl), STAT = id_err )
iga_appli_nb_comps
(0:ig_nb_appl) : integer,
Number of components for each application.
Allocation in prismdrv_set_scc_info : ALLOCATE
( iga_appli_nb_comps(0:ig_nb_appl), STAT = id_err )
iga_appli_nb_args
(0:ig_nb_appl) : integer,
Number of arguments for each application
Allocation in prismdrv_set_scc_info : ALLOCATE
( iga_appli_nb_args(0:ig_nb_appl), STAT = id_err )
iga_appli_hostnbprocs
(ig_nb_tot_hosts) : integer,
Number of processes for each hosts of an application
Allocation in prismdrv_set_scc_info : ALLOCATE
( iga_appli_hostnbprocs(ig_nb_tot_hosts), STAT = id_err )
iga_appli_nbtot_ranksets
(1:ig_nb_appl) : integer,
Total number of rank sets for all applications in the experiment
Allocation in prismdrv_set_scc_info : ALLOCATE
( iga_appli_nbtot_ranksets(1:ig_nb_appl), STAT = id_err )
iga_appli_redirect
(0:ig_nb_appl) : integer, Stdout
redirected or not for all applications
Allocation in prismdrv_set_scc_info : ALLOCATE
( iga_appli_redirect(0:ig_nb_appl), STAT = id_err )
comm_coupling
(0:ig_nb_appl) : integer, Coupler
internal communicator for communication with
individual applications
Allocation in prismdrv_set_scc_info : ALLOCATE
( comm_coupling(0:ig_nb_appl), STAT = id_err )
iga_appli_compnbranksets
(ig_nb_tot_comps) : integer, Number of
rank sets (min-max-inc) for all components for all
applications
Allocation in prismdrv_set_scc_info : ALLOCATE
( iga_appli_compnbranksets(ig_nb_tot_comps), STAT = id_err )
iga_appli_compranks
(ig_nbtot_ranksets,3)
: integer, Array of rank sets (min-max-inc)
for all components for all
applications
Allocation in prismdrv_set_scc_info :
ALLOCATE ( iga_appli_compranks(ig_nbtot_ranksets,3), STAT = id_err )
Dimensionning numbers
Integer :: ig_driver_nb_pes
! nb of pes for the driver
Integer :: ig_nb_appl
! nb of applications
Integer :: ig_nb_tot_pes
! nb of processes
Integer :: ig_nb_tot_hosts
! total number of hosts
Integer :: ig_nb_tot_comps
! total number of comps
Integer :: ig_nb_tot_args
! total number of args
INTEGER :: ig_nb_tot_unitsets
! total number of Forrean unit sets
INTEGER :: ig_nb_tot_grids
! total number of grids
INTEGER :: ig_nb_tot_transi
! total number of transients
INTEGER :: ig_nb_tot_persis
! total number of presistents
Integer :: Number_of_Epios_allocated
! Number of allocated Epios
Integer :: Number_of_comms
! Number of exchanges of Transients
Integer :: Number_of_Interps
! Number of interpolations
Integer :: Number_of_Transfs
! Number of transformations
Integer :: Number_of_Exchanges
! Number of exchanges transiting
! through the transformer
MPI implementation
Integer ::
ig_MPI
Communicators
Integer :: comm_drv_global
! Global
communicator
Integer :: comm_drv_local
! Driver
communicator
Integer :: comm_drv_psmile
!
communicator that gathers psmile appli.
Integer :: driver_rank
Integer :: comm_drv_trans
! Global communicator dedicated
to the trans.