00001 !
00002 ! COSTA: Problem solving environment for data assimilation
00003 ! Copyright (C) 2005 Nils van Velzen
00004 !
00005 ! This library is free software; you can redistribute it and/or
00006 ! modify it under the terms of the GNU Lesser General Public
00007 ! License as published by the Free Software Foundation; either
00008 ! version 2.1 of the License, or (at your option) any later version.
00009 !
00010 ! This library is distributed in the hope that it will be useful,
00011 ! but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00013 ! Lesser General Public License for more details.
00014 !
00015 ! You should have received a copy of the GNU Lesser General Public
00016 ! License along with this library; if not, write to the Free Software
00017 ! Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00018 !
00019
00020 ! FORTRAN file unit for standard output
00021 integer FCTA_STDOUT
00022 parameter (FCTA_STDOUT = 6)
00023
00024 ! handle to a COSTA object
00025 integer CTA_HANDLE
00026 parameter (CTA_HANDLE=-1)
00027 ! A handle of a COSTA interface object
00028 integer CTA_INTERFACE
00029 parameter (CTA_INTERFACE=-2)
00030 ! A handle of a COSTA function object
00031 integer CTA_FUNCTION
00032 parameter (CTA_FUNCTION=-3)
00033 ! A handle of a COSTA vector object
00034 integer CTA_VECTOR
00035 parameter (CTA_VECTOR=-4)
00036 ! A handle of a COSTA Vector class
00037 integer CTA_VECTORCLASS
00038 parameter (CTA_VECTORCLASS=-5)
00039 ! A handle of a COSTA (sub) state
00040 integer CTA_STATE
00041 parameter (CTA_STATE=-6)
00042 !
00043 integer CTA_MATRIXCLASS
00044 parameter (CTA_MATRIXCLASS=-7)
00045 !
00046 integer CTA_MATRIX
00047 parameter (CTA_MATRIX=-8)
00048 !
00049 integer CTA_MODELCLASS
00050 parameter (CTA_MODELCLASS=-16)
00051
00052 integer CTA_VOID
00053 parameter (CTA_VOID =-100)
00054 integer CTA_INTEGER
00055 parameter (CTA_INTEGER =-101)
00056 integer CTA_REAL
00057 parameter (CTA_REAL =-102)
00058 integer CTA_DOUBLE
00059 parameter (CTA_DOUBLE =-103)
00060 integer CTA_FSTRING
00061 parameter (CTA_FSTRING =-104)
00062 integer CTA_CSTRING
00063 parameter (CTA_CSTRING =-105)
00064 integer CTA_STRING
00065 parameter (CTA_STRING =-28)
00066 integer CTA_TIME
00067 parameter (CTA_TIME = -15)
00068 integer CTA_ARRAY
00069 parameter (CTA_ARRAY = -30)
00070
00071 integer CTA_1DINTEGER
00072 parameter (CTA_1DINTEGER =-201)
00073 integer CTA_1DREAL
00074 parameter (CTA_1DREAL =-202)
00075 integer CTA_1DDOUBLE
00076 parameter (CTA_1DDOUBLE =-203)
00077 integer CTA_1DFSTRING
00078 parameter (CTA_1DFSTRING =-204)
00079 integer CTA_1DCSTRING
00080 parameter (CTA_1DCSTRING =-205)
00081
00082 ! Common errors
00083 integer CTA_OK
00084 parameter (CTA_OK=0)
00085 integer CTA_ARRAY_TOO_SHORT
00086 parameter (CTA_ARRAY_TOO_SHORT=10)
00087 integer CTA_ILLEGAL_DATATYPE
00088 parameter (CTA_ILLEGAL_DATATYPE=11)
00089 integer CTA_DIMENSION_ERROR
00090 parameter (CTA_DIMENSION_ERROR=12)
00091 integer CTA_INCOMPATIBLE_VECTORS
00092 parameter (CTA_INCOMPATIBLE_VECTORS=13)
00093 integer CTA_CONCAT_NOT_POSSIBLE
00094 parameter (CTA_CONCAT_NOT_POSSIBLE=14)
00095 integer CTA_SETVAL_NOT_POSSIBLE
00096 parameter (CTA_SETVAL_NOT_POSSIBLE=15)
00097 integer CTA_ITEM_NOT_FOUND
00098 parameter (CTA_ITEM_NOT_FOUND=16)
00099 integer CTA_UNINITIALISED_SUBSTATES
00100 parameter (CTA_UNINITIALISED_SUBSTATES=17)
00101 integer CTA_STATES_NOT_COMPATIBLE
00102 parameter (CTA_STATES_NOT_COMPATIBLE =18)
00103 integer CTA_INCOMPATIBLE_MATRICES
00104 parameter (CTA_INCOMPATIBLE_MATRICES =19)
00105 integer CTA_NOT_IMPLEMENTED
00106 parameter (CTA_NOT_IMPLEMENTED =20)
00107
00108 ! Common Constants
00109 integer CTA_DEFAULT
00110 parameter (CTA_DEFAULT=0)
00111 integer CTA_NULL
00112 parameter (CTA_NULL=0)
00113 integer CTA_TRUE
00114 parameter(CTA_TRUE=1)
00115 integer CTA_FALSE
00116 parameter(CTA_FALSE=0)
00117
00118 integer CTA_STRLEN_NAME, CTA_STRLEN_TAG
00119 parameter (CTA_STRLEN_NAME=80, CTA_STRLEN_TAG=80)
00120
00121 integer CTA_ASSIMOBS, CTA_VALIDATEOBS, CTA_ALLOBS
00122 parameter(CTA_ASSIMOBS=1, CTA_VALIDATEOBS=2, CTA_ALLOBS=3)
00123
00124 ! parameters from cta_pack.h
00125
00126 ! Reset pack/unpack pointer of pack object
00127 integer, parameter ::CTA_PACK_RESET=-1
00128
00129 ! parameters from cta_model.h
00130
00131 integer, parameter ::FCTA_MODEL_CREATE_SIZE =1
00132 integer, parameter ::FCTA_MODEL_CREATE_INIT =2
00133 integer, parameter ::FCTA_MODEL_FREE =3
00134 integer, parameter ::FCTA_MODEL_COMPUTE =4
00135 integer, parameter ::FCTA_MODEL_SET_STATE =5
00136 integer, parameter ::FCTA_MODEL_GET_STATE =6
00137 integer, parameter ::FCTA_MODEL_AXPY_STATE =7
00138 integer, parameter ::FCTA_MODEL_AXPY_MODEL =8
00139 integer, parameter ::FCTA_MODEL_SET_FORC =9
00140 integer, parameter ::FCTA_MODEL_GET_FORC =10
00141 integer, parameter ::FCTA_MODEL_AXPY_FORC =11
00142 integer, parameter ::FCTA_MODEL_SET_PARAM =12
00143 integer, parameter ::FCTA_MODEL_GET_PARAM =13
00144 integer, parameter ::FCTA_MODEL_AXPY_PARAM =14
00145 integer, parameter ::FCTA_MODEL_GET_STATESCALING =15
00146 integer, parameter ::FCTA_MODEL_GET_TIMEHORIZON =16
00147 integer, parameter ::FCTA_MODEL_GET_CURRENTTIME =17
00148
00149
00150 integer, parameter ::FCTA_MODEL_GET_NOISE_COUNT =18
00151 integer, parameter ::FCTA_MODEL_GET_NOISE_COVAR =19
00152 integer, parameter ::FCTA_MODEL_GET_OBSVALUES =20
00153 integer, parameter ::FCTA_MODEL_GET_OBSSELECT =21
00154 integer, parameter ::FCTA_MODEL_ANNOUNCE_OBSVALUES =22
00155 integer, parameter ::FCTA_MODEL_ADD_NOISE =23
00156 integer, parameter ::FCTA_MODEL_EXPORT =24
00157 integer, parameter ::FCTA_MODEL_IMPORT =25
00158 integer, parameter ::FCTA_MODEL_ADJ_SET_FORC =26
00159 integer, parameter ::FCTA_MODEL_ADJ_COMPUTE =27
00160 integer, parameter ::FCTA_MODEL_ADJ_PREPARE =28
00161 integer, parameter ::FCTA_MODEL_NUMFUNC =28
00162
00163 ! Observation description parameters
00164 integer, parameter ::FCTA_OBSDESCR_CREATE_SIZE = 1+1
00165 integer, parameter ::FCTA_OBSDESCR_CREATE_INIT = 2+1
00166 integer, parameter ::FCTA_OBSDESCR_FREE = 3+1
00167 integer, parameter ::FCTA_OBSDESCR_GET_PROPERTIES = 4+1
00168 integer, parameter ::FCTA_OBSDESCR_GET_KEYS = 5+1
00169 integer, parameter ::FCTA_OBSDESCR_COUNT_OBSERVATIONS = 6+1
00170 integer, parameter ::FCTA_OBSDESCR_COUNT_PROPERTIES = 7+1
00171 integer, parameter ::FCTA_OBSDESCR_EXPORT = 8+1
00172 integer, parameter ::FCTA_OBSDESCR_SELECTION = 9+1
00173 integer, parameter ::FCTA_OBSDESCR_NUMFUNC = 10+1
00174
00175 integer, parameter ::FCTA_SOBS_CREATE_SIZE = 1+1
00176 integer, parameter ::FCTA_SOBS_CREATE_INIT = 2+1
00177 integer, parameter ::FCTA_SOBS_FREE = 3+1
00178 integer, parameter ::FCTA_SOBS_CREATE_SELECTION = 4+1
00179 integer, parameter ::FCTA_SOBS_COUNT = 5+1
00180 integer, parameter ::FCTA_SOBS_GET_OBS_DESCRIPTION= 6+1
00181 integer, parameter ::FCTA_SOBS_GET_VALUES = 7+1
00182 integer, parameter ::FCTA_SOBS_GET_REALISATION = 8+1
00183 integer, parameter ::FCTA_SOBS_GET_EXPECTATION = 9+1
00184 integer, parameter ::FCTA_SOBS_EVALUATE_PDF = 10+1
00185 integer, parameter ::FCTA_SOBS_GET_COV_MATRIX = 11+1
00186 integer, parameter ::FCTA_SOBS_GET_VARIANCE = 12+1
00187 integer, parameter ::FCTA_SOBS_EXPORT = 13+1
00188 integer, parameter ::FCTA_SOBS_GET_TIMES = 14+1
00189 integer, parameter ::FCTA_SOBS_NUMFUNC = 15+1
00190
00191
00192 ! Common block holding "constants" that are set at initialisation
00193
00194 !NOT HAPPY BUT HAVE SOME PROBLEMS WITH LOADING OF SO-FILES UNDER LINUX
00195 !WHERE WE HAVE 2 INSTANCES OF COMMON BLOCK JUST SET VALUES!!!!
00196
00197 integer, parameter :: CTA_MODBUILD_PAR = 0
00198 integer, parameter :: CTA_FILE_STDOUT = 1
00199 integer, parameter :: CTA_DEFAULT_SOBS = 23
00200 integer, parameter :: CTA_COMBINE_SOBS = 45
00201 integer, parameter :: CTA_NETCDF_SOBS = 67
00202 integer, parameter :: CTA_MAORI_SOBS = -173
00203 integer, parameter :: CTA_OBSDESCR_TABLE = 77
00204 integer, parameter :: CTA_DEFAULT_VECTOR = 100
00205 integer, parameter :: CTA_DEFAULT_MATRIX = 116
00206 integer, parameter :: CTA_MODBUILD_SP = 147
00207 integer, parameter :: CTA_MODELCOMBINER = 0
00208 integer, parameter :: CTA_MODBUILD_B3B = 0
00209 integer, parameter :: CTA_MODBUILD_BB = 0
00210 integer, parameter :: CTA_OP_ROOT_RMS = 148
00211 integer, parameter :: CTA_OP_ROOT_AMAX = 149
00212 integer, parameter :: CTA_OP_ROOT_PRINTI = 150
00213 integer, parameter :: CTA_OP_ROOT_SSQ = 151
00214
00215 ! external CTA_DEFAULT_VECTOR, CTA_DEFAULT_MATRIX, &
00216 ! & CTA_DEFAULT_SOBS, CTA_MODBUILD_SP, &
00217 ! & CTA_MODBUILD_PAR, CTA_OBSDESCR_TABLE, &
00218 ! & CTA_FILE_STDOUT, CTA_MODELCOMBINER, &
00219 ! & CTA_MODBUILD_B3B
00220
00221
00222
00223 !!!DEC$ IF DEFINED(CTALIB)
00224 !!!DEC$ ATTRIBUTES DLLEXPORT:: /ctaf77/
00225 !!!DEC$ ELSE
00226 !!!DEC$ ATTRIBUTES DLLIMPORT:: /ctaf77/
00227 !!!DEC$ ENDIF
00228 !! common /ctaf77/ CTA_DEFAULT_VECTOR, CTA_DEFAULT_MATRIX, &
00229 !! & CTA_DEFAULT_SOBS, CTA_MODBUILD_SP, &
00230 !! & CTA_MODBUILD_PAR, CTA_OBSDESCR_TABLE, &
00231 !! & CTA_FILE_STDOUT, CTA_MODELCOMBINER, &
00232 !! & CTA_MODBUILD_B3B
00233
00234
00235
00236
00237