Back to OASIS4 home

Constants in the Psmile (defined in oasis4/lib/common_oa4/include/psmile.inc)

Undefined values
integer, parameter                 :: PSMILe_undef  = -280177
real, parameter                      :: PSMILe_rundef = -280177.0
double precision, parameter  :: PSMILe_dundef = -280177.0

PRISM_root      : Local rank of application root process in Appl%comm
integer, parameter :: PRISM_root        = 0

! ch_id                : Character string containing the id of the process.
character(len=max_name)            :: ch_id = '[?] undefined'

Time operation type (ig_source_timeop, ig_target_timeop)
integer, parameter :: PSMILe_tave                = 3600
integer, parameter :: PSMILe_tacc                 = 3601
integer, parameter :: PSMILe_tmin                = 3602
integer, parameter :: PSMILe_tmax                = 3603
integer, parameter :: PSMILe_time_nnghbr   = 3604
integer, parameter :: PSMILe_time_linear      = 3605

Actions performed in the transformer
integer, parameter :: PSMILe_trans_Init                           = 4000
integer, parameter :: PSMILe_trans_Finalize                    = 4001
integer, parameter :: PSMILe_trans_Put                            = 4002
integer, parameter :: PSMILe_trans_Get                           = 4003
integer, parameter :: PSMILe_trans_Set_neighbors_info  = 4004
integer, parameter :: PSMILe_trans_Set_src_epio_info    = 4005
integer, parameter :: PSMILe_trans_Set_tgt_epio_info    = 4006
integer, parameter :: PSMILe_trans_Set_triple_links        = 4007
integer, parameter :: PSMILe_trans_Get_rank                  = 4008
integer, parameter :: PSMILe_trans_Set_epio_trans         = 4009
integer, parameter :: PSMILe_trans_Finalize_trans          = 4010
integer, parameter :: PSMILe_trans_End_trans                = 4011
integer, parameter :: PSMILe_trans_set_src_process       = 4012
integer, parameter :: PSMILe_trans_Set_rank_trans        = 151169

Parameters used for the transformer management
 integer, parameter :: PSMILe_trans_Header_length   = 11
integer, parameter :: PSMILe_trans_Max_iter        = 100
integer, parameter :: PSMILe_trans_unset        = 4020
integer, parameter :: PSMILe_trans_notbegun     = 4021
integer, parameter :: PSMILe_trans_notrequested = 4022
integer, parameter :: PSMILe_trans_complete     = 4023

double precision, parameter   :: zero    = 0.0d0
double precision, parameter   :: one     = 1.0d0
double precision, parameter   :: two     = 2.0d0
double precision, parameter   :: three   = 3.0d0
double precision, parameter   :: four    = 4.0d0
double precision, parameter   :: half    = 0.5d0
double precision, parameter   :: bignum  = 1.0d20
double precision, parameter   :: tiny    = 1.0d-14
double precision, parameter   :: baby    = 1.1d-3
double precision, parameter   :: quart   = 0.25d0
double precision, parameter   :: north_thresh = 1.45d0 ! threshold for coord transf.
double precision, parameter   :: south_thresh =-2.00d0 ! threshold for coord transf.

The tags used in within communicator "comm_psmile"
! Codes for global (extra) search messages:
! Note: PSMILe_Finalize_extra_search must be different from code for interpolation_methods such as "PSMILe_trilinear, PSMILe_bilinear, ..."
      Integer, Parameter :: PSMILe_Finalize_extra_search = -1000
! Message tags used in PSMILe_Enddef:
!  PSMILe_Enddef_tag = Tag used to exchange data within applications.
!  REQTAG            = Tag used to request the send of grid coordinates.
!  GRDTAG            = Tag used to send the grid coordinates.
!  VARTAG            = Tag used to send data on additional fields.
!  EXTTAG            = Tag used to request extra search of interpolation neighbours or to signal end of extra search.
!  CELLTAG           = Tag used to request extra search of cells or to signal end of extra search.
!  REXTTAG           = Tag used to receive answer for extra search.
!  SELTAG            = Tag used to receive the selected points for lobal nearest neighbour search.
!  LOCTAG            = Tag used to return the locations found. (plus additional tags depending on number of intersections)
!  DATATAG           = Base Tag used to exchange the data on the fields. (plus additional field dependent parameters)
      Integer, Parameter :: PSMILe_Enddef_tag = 100 ! = lastag
      Integer, Parameter ::            reqtag = 101
      Integer, Parameter ::            grdtag = 102
      Integer, Parameter ::            vartag = 103
      Integer, Parameter ::            exttag = 104
      Integer, Parameter ::           rexttag = 105
      Integer, Parameter ::            seltag = 106
      Integer, Parameter ::           celltag = 107
      Integer, Parameter ::            loctag = 110
      Integer, Parameter ::           datatag = 120

Parameters used in PRISM_Enddef ()
      Integer, Parameter :: nd_msgextra              = 17
      Integer, Parameter :: nd_msgsel                  = 5
      Integer, Parameter :: num_req_types          = 6             ! number of distinct message types handled by psmile_get_intersect and psmile_enddef_action => used in size of paction%lrequest and 1:5 are already reserved
      Integer, parameter :: ind_msgint_tag         = 17
      Integer, parameter :: maxpart                     = 3 * 3 * 3
      Integer, parameter :: ip_msgint_inter        = ind_msgint_tag
      Integer, parameter :: nd_msgint                 = ip_msgint_inter +
2*ndim_3d + 2)*maxpart
      Integer, Parameter :: nd_extent_infos        = 4
      Integer, Parameter :: nd_field_list             = 6


Destination or origin type in transient_in or transient_out
      integer, parameter :: PSMILe_comp           = 3800
      integer, parameter :: PSMILe_file           = 3810
!     integer, parameter :: PSMILe_combi          = 3811