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
00069 integer CTA_1DINTEGER
00070 parameter (CTA_1DINTEGER =-201)
00071 integer CTA_1DREAL
00072 parameter (CTA_1DREAL =-202)
00073 integer CTA_1DDOUBLE
00074 parameter (CTA_1DDOUBLE =-203)
00075 integer CTA_1DFSTRING
00076 parameter (CTA_1DFSTRING =-204)
00077 integer CTA_1DCSTRING
00078 parameter (CTA_1DCSTRING =-205)
00079
00080 ! Common errors
00081 integer CTA_OK
00082 parameter (CTA_OK=0)
00083 integer CTA_ARRAY_TOO_SHORT
00084 parameter (CTA_ARRAY_TOO_SHORT=10)
00085 integer CTA_ILLEGAL_DATATYPE
00086 parameter (CTA_ILLEGAL_DATATYPE=11)
00087 integer CTA_DIMENSION_ERROR
00088 parameter (CTA_DIMENSION_ERROR=12)
00089 integer CTA_INCOMPATIBLE_VECTORS
00090 parameter (CTA_INCOMPATIBLE_VECTORS=13)
00091 integer CTA_CONCAT_NOT_POSSIBLE
00092 parameter (CTA_CONCAT_NOT_POSSIBLE=14)
00093 integer CTA_SETVAL_NOT_POSSIBLE
00094 parameter (CTA_SETVAL_NOT_POSSIBLE=15)
00095 integer CTA_ITEM_NOT_FOUND
00096 parameter (CTA_ITEM_NOT_FOUND=16)
00097 integer CTA_UNINITIALISED_SUBSTATES
00098 parameter (CTA_UNINITIALISED_SUBSTATES=17)
00099 integer CTA_STATES_NOT_COMPATIBLE
00100 parameter (CTA_STATES_NOT_COMPATIBLE =18)
00101 integer CTA_INCOMPATIBLE_MATRICES
00102 parameter (CTA_INCOMPATIBLE_MATRICES =19)
00103 integer CTA_NOT_IMPLEMENTED
00104 parameter (CTA_NOT_IMPLEMENTED =20)
00105
00106 ! Common Constants
00107 integer CTA_DEFAULT
00108 parameter (CTA_DEFAULT=0)
00109 integer CTA_NULL
00110 parameter (CTA_NULL=0)
00111 integer CTA_TRUE
00112 parameter(CTA_TRUE=1)
00113 integer CTA_FALSE
00114 parameter(CTA_FALSE=0)
00115
00116 integer CTA_STRLEN_NAME, CTA_STRLEN_TAG
00117 parameter (CTA_STRLEN_NAME=80, CTA_STRLEN_TAG=80)
00118
00119 integer CTA_ASSIMOBS, CTA_VALIDATEOBS, CTA_ALLOBS
00120 parameter(CTA_ASSIMOBS=1, CTA_VALIDATEOBS=2, CTA_ALLOBS=3)
00121
00122 ! parameters from cta_pack.h
00123
00124 ! Reset pack/unpack pointer of pack object
00125 integer, parameter ::CTA_PACK_RESET=-1
00126
00127 ! parameters from cta_model.h
00128
00129 integer, parameter ::FCTA_MODEL_CREATE_SIZE =1
00130 integer, parameter ::FCTA_MODEL_CREATE_INIT =2
00131 integer, parameter ::FCTA_MODEL_FREE =3
00132 integer, parameter ::FCTA_MODEL_COMPUTE =4
00133 integer, parameter ::FCTA_MODEL_SET_STATE =5
00134 integer, parameter ::FCTA_MODEL_GET_STATE =6
00135 integer, parameter ::FCTA_MODEL_AXPY_STATE =7
00136 integer, parameter ::FCTA_MODEL_AXPY_MODEL =8
00137 integer, parameter ::FCTA_MODEL_SET_FORC =9
00138 integer, parameter ::FCTA_MODEL_GET_FORC =10
00139 integer, parameter ::FCTA_MODEL_AXPY_FORC =11
00140 integer, parameter ::FCTA_MODEL_SET_PARAM =12
00141 integer, parameter ::FCTA_MODEL_GET_PARAM =13
00142 integer, parameter ::FCTA_MODEL_AXPY_PARAM =14
00143 integer, parameter ::FCTA_MODEL_GET_STATESCALING =15
00144 integer, parameter ::FCTA_MODEL_GET_TIMEHORIZON =16
00145 integer, parameter ::FCTA_MODEL_GET_CURRENTTIME =17
00146
00147
00148 integer, parameter ::FCTA_MODEL_GET_NOISE_COUNT =18
00149 integer, parameter ::FCTA_MODEL_GET_NOISE_COVAR =19
00150 integer, parameter ::FCTA_MODEL_GET_OBSVALUES =20
00151 integer, parameter ::FCTA_MODEL_GET_OBSSELECT =21
00152 integer, parameter ::FCTA_MODEL_ANNOUNCE_OBSVALUES =22
00153 integer, parameter ::FCTA_MODEL_ADD_NOISE =23
00154 integer, parameter ::FCTA_MODEL_EXPORT =24
00155 integer, parameter ::FCTA_MODEL_IMPORT =25
00156 integer, parameter ::FCTA_MODEL_ADJ_SET_FORC =26
00157 integer, parameter ::FCTA_MODEL_ADJ_COMPUTE =27
00158 integer, parameter ::FCTA_MODEL_ADJ_PREPARE =28
00159 integer, parameter ::FCTA_MODEL_NUMFUNC =28
00160
00161 ! Common block holding "constants" that are set at initialisation
00162
00163 !NOT HAPPY BUT HAVE SOME PROBLEMS WITH LOADING OF SO-FILES UNDER LINUX
00164 !WHERE WE HAVE 2 INSTANCES OF COMMON BLOCK JUST SET VALUES!!!!
00165
00166 integer, parameter :: CTA_MODBUILD_PAR = 0
00167 integer, parameter :: CTA_FILE_STDOUT = 1
00168 integer, parameter :: CTA_DEFAULT_SOBS = 23
00169 integer, parameter :: CTA_COMBINE_SOBS = 45
00170 integer, parameter :: CTA_NETCDF_SOBS = 67
00171 integer, parameter :: CTA_OBSDESCR_TABLE = 77
00172 integer, parameter :: CTA_DEFAULT_VECTOR = 100
00173 integer, parameter :: CTA_DEFAULT_MATRIX = 116
00174 integer, parameter :: CTA_MODBUILD_SP = 147
00175 integer, parameter :: CTA_MODELCOMBINER = 170
00176 integer, parameter :: CTA_MODBUILD_B3B = 187
00177 integer, parameter :: CTA_MODBUILD_BB = 204
00178 integer, parameter :: CTA_OP_ROOT_RMS = 205
00179 integer, parameter :: CTA_OP_ROOT_AMAX = 206
00180 integer, parameter :: CTA_OP_ROOT_PRINTI = 207
00181 integer, parameter :: CTA_OP_ROOT_SSQ = 208
00182
00183 ! external CTA_DEFAULT_VECTOR, CTA_DEFAULT_MATRIX, &
00184 ! & CTA_DEFAULT_SOBS, CTA_MODBUILD_SP, &
00185 ! & CTA_MODBUILD_PAR, CTA_OBSDESCR_TABLE, &
00186 ! & CTA_FILE_STDOUT, CTA_MODELCOMBINER, &
00187 ! & CTA_MODBUILD_B3B
00188
00189
00190
00191 !!!DEC$ IF DEFINED(CTALIB)
00192 !!!DEC$ ATTRIBUTES DLLEXPORT:: /ctaf77/
00193 !!!DEC$ ELSE
00194 !!!DEC$ ATTRIBUTES DLLIMPORT:: /ctaf77/
00195 !!!DEC$ ENDIF
00196 !! common /ctaf77/ CTA_DEFAULT_VECTOR, CTA_DEFAULT_MATRIX, &
00197 !! & CTA_DEFAULT_SOBS, CTA_MODBUILD_SP, &
00198 !! & CTA_MODBUILD_PAR, CTA_OBSDESCR_TABLE, &
00199 !! & CTA_FILE_STDOUT, CTA_MODELCOMBINER, &
00200 !! & CTA_MODBUILD_B3B
00201
00202
00203
00204
00205