Oasis3 4.0.2
mod_clim.F90
Go to the documentation of this file.
00001 MODULE mod_clim
00002 !
00003 ! -- clim.h   18-08-95   Version 2.0   Author: Laurent Terray
00004 !    ******
00005 !             26-10-99   Version 2.4   Jean Latour (F.S.E.) MPI-2 support
00006 !@
00007 ! -- mod_clim.f90  12-06-02  Version 2.5   A. Caubel 
00008 !    ************
00009 !
00010 !@  Contents : variables related to the CLIM library
00011 !@  --------
00012 !@ For complete definition, see the CLIM manual
00013 !@
00014 !
00015 #if defined use_comm_MPI1 || defined use_comm_MPI2 || defined use_comm_NONE || (!defined use_comm_MPI1 && !defined use_comm_MPI2 && !defined use_comm_SIPC && !defined use_comm_GMEM && !defined use_comm_PIPE)
00016 !
00017   USE mod_kinds_oasis
00018 !
00019   INTEGER(kind=ip_intwp_p) :: CLIM_MaxTag
00020 !
00021 !-----Parameter sizes
00022 !
00023   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Void = 0  
00024   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_MaxSegments = 338 
00025   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_ParSize = 2*CLIM_MaxSegments+2 
00026   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Clength = 32 
00027 !
00028 !-----Dimension of buffer for packing / unpacking messages with MPI
00029 !
00030   INTEGER(kind=ip_intwp_p) :: ig_maxtype, ig_CLIMmax
00031 !
00032 !-----Logical for buffered send
00033 !
00034   LOGICAL :: lg_bsend
00035 !
00036 ! ig_clim_maxport is defined in the namcouple and should be the maximum 
00037 ! number of prism_def_var_proto called by one component in the coupled model.
00038 ! Note: ig_clim_maxport is optional if it is smaller than twice 
00039 !       the number of fields exchanged by this OASIS process
00040 !
00041   INTEGER(kind=ip_intwp_p) :: ig_clim_maxport
00042 ! 
00043 !-----Ports status
00044 !
00045   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_In      = 1 
00046   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Out     = 0 
00047   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_InOut   = 2 
00048 !
00049 !----Field local transformation
00050 !
00051   INTEGER(kind=ip_intwp_p), PARAMETER :: ip_instant = 1
00052   INTEGER(kind=ip_intwp_p), PARAMETER :: ip_average = 2
00053   INTEGER(kind=ip_intwp_p), PARAMETER :: ip_accumul = 3
00054   INTEGER(kind=ip_intwp_p), PARAMETER :: ip_min = 4
00055   INTEGER(kind=ip_intwp_p), PARAMETER :: ip_max = 5
00056 !
00057 !-----Parallel distribution
00058 !
00059   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Strategy = 1 
00060   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Segments = 2 
00061   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Serial   = 0 
00062   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Apple    = 1 
00063   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Box      = 2 
00064   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Orange   = 3 
00065   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Offset   = 2 
00066   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Length   = 3 
00067   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_SizeX    = 3 
00068   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_SizeY    = 4 
00069   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_LdX      = 5 
00070 !
00071 !-----Datatypes
00072 !
00073   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Integer = 1 
00074   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Real    = 4  
00075   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Double  = 8 
00076 !
00077 !-----Quit parameters
00078 !
00079   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_ContPvm = 0 
00080   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_StopPvm = 1 
00081 !
00082 !-----Error Codes
00083 !
00084   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_MaxCodes  = -22 
00085 !
00086   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Ok     = 0 
00087   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_FastExit  = -1 
00088   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_BadName   = -2 
00089   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_BadPort   = -3 
00090   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_BadType   = -4 
00091   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_DoubleDef = -5 
00092   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_NotStep   = -6 
00093   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_IncStep   = -7 
00094   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_IncSize   = -8 
00095   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_NotClim   = -9 
00096   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_TimeOut   = -10 
00097   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Pvm       = -11 
00098   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_FirstCall = -12 
00099   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_PbRoute   = -13 
00100   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Group     = -14 
00101   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_BadTaskId = -15 
00102   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_NoTask    = -16 
00103   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_InitBuff  = -17 
00104   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Pack      = -18 
00105   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Unpack    = -19 
00106   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Down      = -20 
00107   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_PvmExit   = -21 
00108   INTEGER(kind=ip_intwp_p), PARAMETER :: CLIM_Mpi       = -22 
00109 !
00110 #endif
00111 END MODULE mod_clim
00112 
 All Data Structures Namespaces Files Functions Variables Defines