00001 ! ------------------- PRISM include file prism.inc ------------------- 00002 ! 00003 ! $Id: prism.inc 2706 2010-11-04 15:33:32Z hanke $ 00004 ! $Author: hanke $ 00005 ! 00006 !----------------------------------------------------------------------- 00007 ! Copyright 2006-2010, CERFACS, Toulouse, France. 00008 ! Copyright 2006-2010, SGI Germany, Munich, Germany. 00009 ! Copyright 2006-2010, NEC Europe Ltd., London, UK. 00010 ! All rights reserved. Use is subject to OASIS4 license terms. 00011 !----------------------------------------------------------------------- 00012 !BOP 00013 ! 00014 ! !INCLUDE: prism.inc 00015 ! 00016 ! !DESCRIPTION: 00017 ! 00018 ! Declaration of all PRISM named parameters that are made available to 00019 ! the user by either inlcuding this file directely or by loading the 00020 ! PRISM module. 00021 ! 00022 ! 00023 ! !REVISION HISTORY: 00024 ! 00025 ! Date Programmer Description 00026 ! ---------- ---------- ----------- 00027 ! 01.12.03 R. Redler created 00028 ! 00029 ! 00030 !EOP 00031 !----------------------------------------------------------------------- 00032 00033 ! PRISM Data Types 00034 ! ---------------- 00035 00036 integer, parameter :: PRISM_Character = 1 00037 integer, parameter :: PRISM_Integer = 2 00038 integer, parameter :: PRISM_Logical = 3 00039 integer, parameter :: PRISM_Real = 4 00040 integer, parameter :: PRISM_Double_Precision = 5 00041 integer, parameter :: PRISM_Complex = 6 00042 integer, parameter :: PRISM_Double_Complex = 7 00043 integer, parameter :: PRISM_Quad_Precision = 8 00044 integer, parameter :: PRISM_Double_Quad = 9 00045 00046 ! PRISM Scatter Types 00047 ! -------------------- 00048 00049 integer, parameter :: PRISM_NO_SCATTER = 0 00050 00051 ! PRISM Coord Systems 00052 ! ------------------- 00053 00054 integer, parameter :: PRISM_Coord_polar = 1 00055 ! integer, parameter :: PRISM_Coord_cartesian = 2 00056 00057 ! PRISM Geometries 00058 ! ---------------- 00059 00060 integer, parameter :: PRISM_Geom_LongLat = 1 00061 ! integer, parameter :: PRISM_Geom_LatLong = 2 00062 00063 ! PRISM Grid generation types 00064 ! --------------------------- 00065 00066 integer, parameter :: PRISM_Reglonlatvrt = 0 00067 integer, parameter :: PRISM_Irrlonlat_regvrt = 1 00068 integer, parameter :: PRISM_Irrlonlatvrt = 2 00069 ! 00070 integer, parameter :: PRISM_Irrlonlat_sigmavrt = 3 00071 integer, parameter :: PRISM_Reglonlat_sigmavrt = 4 00072 ! 00073 integer, parameter :: PRISM_Unstructlonlat_regvrt = 5 00074 integer, parameter :: PRISM_Unstructlonlat_sigmavrt = 6 00075 integer, parameter :: PRISM_Unstructlonlatvrt = 7 00076 ! 00077 integer, parameter :: PRISM_Gridless = 8 00078 ! 00079 integer, parameter :: PRISM_Gaussreduced_regvrt = 9 00080 integer, parameter :: PRISM_Gaussreduced_sigmavrt = 10 00081 00082 ! PRISM Calendar 00083 ! -------------- 00084 ! 00085 ! Calendar types as being supported in ESMF 00086 00087 integer, parameter :: PRISM_Cal_Gregorian = 1 00088 ! integer, parameter :: PRISM_Cal_Julian = 2 ! Julian Calendar 00089 ! integer, parameter :: PRISM_Cal_Noleap = 3 ! A Gregorian with no leap years 00090 ! integer, parameter :: PRISM_Cal_360day = 4 ! 12 months, 30 days each 00091 ! integer, parameter :: PRISM_Cal_Generic = 5 ! user defined 00092 ! integer, parameter :: PRISM_Cal_NoCalendar = 0 ! Tracks only timesteps 00093 00094 00095 ! PRISM Info Codes 00096 ! ----------------- 00097 ! 00098 ! default : 0 (no action performed/necessary) 00099 ! 00100 ! Coupling : + 1000 (coupling exchange) 00101 ! IO : + 100 (IO) 00102 ! Restart : + 10 (to/from restart) 00103 ! Time Ops : + 1 (summation, average, etc. ) 00104 ! 00105 integer, parameter :: PRISM_NOACTION = 0 00106 00107 integer, parameter :: PRISM_Cpl = 1000 00108 integer, parameter :: PRISM_CplIO = 1100 00109 integer, parameter :: PRISM_CplRst = 1010 00110 integer, parameter :: PRISM_CplTimeop = 1001 00111 integer, parameter :: PRISM_CplIORst = 1110 00112 integer, parameter :: PRISM_CplIOTimeop = 1101 00113 integer, parameter :: PRISM_CplRstTimeop = 1011 00114 integer, parameter :: PRISM_CplIORstTimeop = 1111 00115 integer, parameter :: PRISM_IO = 100 00116 integer, parameter :: PRISM_IORst = 110 00117 integer, parameter :: PRISM_IOTimeop = 101 00118 integer, parameter :: PRISM_IORstTimeop = 111 00119 integer, parameter :: PRISM_Rst = 10 00120 integer, parameter :: PRISM_RstTimeop = 11 00121 integer, parameter :: PRISM_Timeop = 1 00122 00123 00124 ! for users convenience we keep the old OASIS3 named integers 00125 00126 integer, parameter :: PRISM_Ok = 0 ! OASIS3 value: 0 00127 integer, parameter :: PRISM_Recvd = 1000 ! OASIS3 value: 3 00128 integer, parameter :: PRISM_Sent = 1000 ! OASIS3 value: 4 00129 integer, parameter :: PRISM_LocTrans = 1 ! OASIS3 value: 5 00130 integer, parameter :: PRISM_ToRest = 10 ! OASIS3 value: 6 00131 integer, parameter :: PRISM_Output = 100 ! OASIS3 value: 7 00132 integer, parameter :: PRISM_SentOut = 1100 ! OASIS3 value: 8 00133 integer, parameter :: PRISM_ToRestOut = 110 ! OASIS3 value: 9 00134 integer, parameter :: PRISM_Input = 100 ! OASIS3 value: 11 00135 integer, parameter :: PRISM_RecvOut = 1100 ! OASIS3 value: 12 00136 00137 ! In OASIS4, the restart field is always sent by the source component 00138 ! integer, parameter :: PRISM_FromRest = 10 ! OASIS3 value: 10 00139 ! integer, parameter :: PRISM_FromRestOut = 110 ! OASIS3 value: 13 00140 ! 00141 ! PRISM Error Codes 00142 ! ----------------- 00143 ! 00144 ! PRISM_MAX_Error_string : Maximal size of error string returned by 00145 ! routine PRISM_Error 00146 ! 00147 integer, parameter :: PRISM_MAX_Error_string = 128 00148 00149 integer, parameter :: PRISM_Success = 0 00150 integer, parameter :: PRISM_Error_MPI = 1 00151 integer, parameter :: PRISM_Error_Send = 2 00152 integer, parameter :: PRISM_Error_Recv = 3 00153 integer, parameter :: PRISM_Error_Parameter = 11 00154 integer, parameter :: PRISM_Error_Initialized = 12 00155 integer, parameter :: PRISM_Error_Alloc = 13 00156 integer, parameter :: PRISM_Error_Dealloc = 14 00157 integer, parameter :: PRISM_Error_Arg = 15 00158 integer, parameter :: PRISM_Error_App = 16 00159 integer, parameter :: PRISM_Error_InitApp = 17 00160 integer, parameter :: PRISM_Error_Grid = 18 00161 integer, parameter :: PRISM_Error_Comp_name = 19 00162 integer, parameter :: PRISM_Error_Arglist = 20 00163 integer, parameter :: PRISM_Error_Date = 21 00164 integer, parameter :: PRISM_Error_Wrong = 22 00165 integer, parameter :: PRISM_Error_Size = 23 00166 integer, parameter :: PRISM_Error_Interp_type = 24 00167 integer, parameter :: PRISM_Error_Gridtype = 25 00168 integer, parameter :: PRISM_Error_Mask = 26 00169 integer, parameter :: PRISM_Error_Appl_name = 27 00170 integer, parameter :: PRISM_Error_Invalid_Arg = 28 00171 integer, parameter :: PRISM_Error_IO_XML = 418 00172 integer, parameter :: PRISM_Error_IO_Meta = 419 00173 integer, parameter :: PRISM_Error_IO_Domain = 420 00174 integer, parameter :: PRISM_Error_IO_Open = 421 00175 integer, parameter :: PRISM_Error_IO_Read = 422 00176 integer, parameter :: PRISM_Error_IO_Write = 423 00177 integer, parameter :: PRISM_Error_IO_Close = 424 00178 integer, parameter :: PRISM_Error_IO_Cleanup = 425 00179 integer, parameter :: PRISM_Error_IO_Init = 426 00180 integer, parameter :: PRISM_Error_IO_Exit = 427 00181 integer, parameter :: PRISM_Error_Internal = 999 00182 00183 ! 00184 ! PRISM Warning Codes 00185 ! ------------------- 00186 ! 00187 ! PRISM_MAX_Warning_string : Maximal size of error string returned by 00188 ! routine PRISM_Error 00189 ! 00190 integer, parameter :: PRISM_MAX_Warning_string = 128 00191 00192 integer, parameter :: PRISM_Warn_Init = -1 00193 integer, parameter :: PRISM_Warn_Size = -2 00194 integer, parameter :: PRISM_Warn_Mask = -3 00195 integer, parameter :: PRISM_Warn_Grid_Periodic = -4 00196 integer, parameter :: PRISM_Warn_Cell = -5 00197 integer, parameter :: PRISM_Warn_NoDefVar = -6 00198 ! 00199 ! Other PRISM constants 00200 ! --------------------- 00201 00202 integer, parameter :: PRISM_Appl_id = 0 00203 integer, parameter :: PRISM_UNDEFINED = -65535