00001 ! ------------------- PRISM include file prism.inc -------------------
00002 !
00003 ! $Id: prism.inc 3246 2011-06-23 12:43:21Z coquart $
00004 ! $Author: coquart $
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_MAX_info_string = 80
00106
00107 integer, parameter :: PRISM_NOACTION = 0
00108
00109 integer, parameter :: PRISM_Cpl = 1000
00110 integer, parameter :: PRISM_CplIO = 1100
00111 integer, parameter :: PRISM_CplRst = 1010
00112 integer, parameter :: PRISM_CplTimeop = 1001
00113 integer, parameter :: PRISM_CplIORst = 1110
00114 integer, parameter :: PRISM_CplIOTimeop = 1101
00115 integer, parameter :: PRISM_CplRstTimeop = 1011
00116 integer, parameter :: PRISM_CplIORstTimeop = 1111
00117 integer, parameter :: PRISM_IO = 100
00118 integer, parameter :: PRISM_IORst = 110
00119 integer, parameter :: PRISM_IOTimeop = 101
00120 integer, parameter :: PRISM_IORstTimeop = 111
00121 integer, parameter :: PRISM_Rst = 10
00122 integer, parameter :: PRISM_RstTimeop = 11
00123 integer, parameter :: PRISM_Timeop = 1
00124
00125
00126 ! for users convenience we keep the old OASIS3 named integers
00127
00128 integer, parameter :: PRISM_Ok = 0 ! OASIS3 value: 0
00129 integer, parameter :: PRISM_Recvd = 1000 ! OASIS3 value: 3
00130 integer, parameter :: PRISM_Sent = 1000 ! OASIS3 value: 4
00131 integer, parameter :: PRISM_LocTrans = 1 ! OASIS3 value: 5
00132 integer, parameter :: PRISM_ToRest = 10 ! OASIS3 value: 6
00133 integer, parameter :: PRISM_Output = 100 ! OASIS3 value: 7
00134 integer, parameter :: PRISM_SentOut = 1100 ! OASIS3 value: 8
00135 integer, parameter :: PRISM_ToRestOut = 110 ! OASIS3 value: 9
00136 integer, parameter :: PRISM_Input = 100 ! OASIS3 value: 11
00137 integer, parameter :: PRISM_RecvOut = 1100 ! OASIS3 value: 12
00138
00139 ! In OASIS4, the restart field is always sent by the source component
00140 ! integer, parameter :: PRISM_FromRest = 10 ! OASIS3 value: 10
00141 ! integer, parameter :: PRISM_FromRestOut = 110 ! OASIS3 value: 13
00142 !
00143 ! PRISM Error Codes
00144 ! -----------------
00145 !
00146 ! PRISM_MAX_Error_string : Maximal size of error string returned by
00147 ! routine PRISM_Error
00148 !
00149 integer, parameter :: PRISM_MAX_Error_string = 128
00150
00151 integer, parameter :: PRISM_Success = 0
00152 integer, parameter :: PRISM_Error_MPI = 1
00153 integer, parameter :: PRISM_Error_Send = 2
00154 integer, parameter :: PRISM_Error_Recv = 3
00155 integer, parameter :: PRISM_Error_Parameter = 11
00156 integer, parameter :: PRISM_Error_Initialized = 12
00157 integer, parameter :: PRISM_Error_Alloc = 13
00158 integer, parameter :: PRISM_Error_Dealloc = 14
00159 integer, parameter :: PRISM_Error_Arg = 15
00160 integer, parameter :: PRISM_Error_App = 16
00161 integer, parameter :: PRISM_Error_InitApp = 17
00162 integer, parameter :: PRISM_Error_Grid = 18
00163 integer, parameter :: PRISM_Error_Comp_name = 19
00164 integer, parameter :: PRISM_Error_Arglist = 20
00165 integer, parameter :: PRISM_Error_Date = 21
00166 integer, parameter :: PRISM_Error_Wrong = 22
00167 integer, parameter :: PRISM_Error_Size = 23
00168 integer, parameter :: PRISM_Error_Interp_type = 24
00169 integer, parameter :: PRISM_Error_Gridtype = 25
00170 integer, parameter :: PRISM_Error_Mask = 26
00171 integer, parameter :: PRISM_Error_Appl_name = 27
00172 integer, parameter :: PRISM_Error_Invalid_Arg = 28
00173 integer, parameter :: PRISM_Error_IO_XML = 418
00174 integer, parameter :: PRISM_Error_IO_Meta = 419
00175 integer, parameter :: PRISM_Error_IO_Domain = 420
00176 integer, parameter :: PRISM_Error_IO_Open = 421
00177 integer, parameter :: PRISM_Error_IO_Read = 422
00178 integer, parameter :: PRISM_Error_IO_Write = 423
00179 integer, parameter :: PRISM_Error_IO_Close = 424
00180 integer, parameter :: PRISM_Error_IO_Cleanup = 425
00181 integer, parameter :: PRISM_Error_IO_Init = 426
00182 integer, parameter :: PRISM_Error_IO_Exit = 427
00183 integer, parameter :: PRISM_Error_Internal = 999
00184
00185 !
00186 ! PRISM Warning Codes
00187 ! -------------------
00188 !
00189 ! PRISM_MAX_Warning_string : Maximal size of error string returned by
00190 ! routine PRISM_Error
00191 !
00192 integer, parameter :: PRISM_MAX_Warning_string = 128
00193
00194 integer, parameter :: PRISM_Warn_Init = -1
00195 integer, parameter :: PRISM_Warn_Size = -2
00196 integer, parameter :: PRISM_Warn_Mask = -3
00197 integer, parameter :: PRISM_Warn_Grid_Periodic = -4
00198 integer, parameter :: PRISM_Warn_Cell = -5
00199 integer, parameter :: PRISM_Warn_NoDefVar = -6
00200 !
00201 ! Other PRISM constants
00202 ! ---------------------
00203
00204 integer, parameter :: PRISM_Appl_id = 0
00205 integer, parameter :: PRISM_UNDEFINED = -65535