Oasis3 4.0.2
|
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