Back to OASIS3 home

Modules used for the clim library (in oasis3/lib/clim/src) :

mod_clim :
contains the variables related to the CLIM library
used in inipar.F (oasis3/src),

#if defined use_comm_MPI1 || defined use_comm_MPI2 || (!defined use_comm_MPI1 && !defined use_comm_MPI2 && !defined use_comm_SIPC && !defined use_comm_GMEM && !defined use_comm_PIPE && !defined use_comm_NONE)
!
  USE mod_kinds_oasis
  INTEGER(kind=ip_intwp_p) :: CLIM_MaxTag
!-----Parameter sizes
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Void = 0 
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_MaxSegments = 338
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_ParSize = 2*CLIM_MaxSegments+2
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Clength = 32
!-----Dimension of buffer for packing / unpacking messages with MPI
  INTEGER(kind=ip_intwp_p) :: ig_maxtype, ig_CLIMmax
!-----Logical for buffered send
  LOGICAL :: lg_bsend
! ig_clim_maxport is defined in the namcouple and should be the maximum number of prism_def_var_proto called by one component in the coupled model.
! Note: ig_clim_maxport is optional if it is smaller than twice the number of fields exchanged by this OASIS process
  INTEGER(kind=ip_intwp_p) :: ig_clim_maxport
!-----Ports status
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_In      = 1
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Out     = 0
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_InOut   = 2
!----Field local transformation
  INTEGER(kind=ip_intwp_p), PARAMETER :: ip_instant = 1
  INTEGER(kind=ip_intwp_p), PARAMETER :: ip_average = 2
  INTEGER(kind=ip_intwp_p), PARAMETER :: ip_accumul = 3
  INTEGER(kind=ip_intwp_p), PARAMETER :: ip_min = 4
  INTEGER(kind=ip_intwp_p), PARAMETER :: ip_max = 5
!-----Parallel distribution
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Strategy = 1
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Segments = 2
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Serial   = 0
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Apple    = 1
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Box      = 2
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Orange   = 3
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Offset   = 2
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Length   = 3
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_SizeX    = 3
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_SizeY    = 4
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_LdX      = 5
!-----Datatypes
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Integer = 1
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Real    = 4 
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Double  = 8
!-----Quit parameters
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_ContPvm = 0
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_StopPvm = 1
!-----Error Codes
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_MaxCodes  = -22
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Ok     = 0
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_FastExit  = -1
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_BadName   = -2
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_BadPort   = -3
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_BadType   = -4
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_DoubleDef = -5
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_NotStep   = -6
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_IncStep   = -7
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_IncSize   = -8
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_NotClim   = -9
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_TimeOut   = -10
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Pvm       = -11
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_FirstCall = -12
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_PbRoute   = -13
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Group     = -14
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_BadTaskId = -15
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_NoTask    = -16
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_InitBuff  = -17
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Pack      = -18
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Unpack    = -19
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Down      = -20
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_PvmExit   = -21
  INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Mpi       = -22
#endif