Files
piscal/dataassim/math/maxlikelihood/colikelihood.h
T
2016-02-03 18:52:05 +00:00

55 lines
2.8 KiB
C

!----------- Variables in likelihood common blocks -----------
!
!nlikepoints: the number of sampling points for determining the parameters
! in the likelihood function
!ndesignparam: the number of design parameters
!xsamplike(nlikepoints,ndesignparam): the coordinates of the sampling points
! of the design parameters
!ysamplike(nlikepoints): the actual values at the sampling points
!delvector: = R^(-1)(y-Fb)
!coeffbas: on exit, holds the coefficients of the basis functions
!work: on exit, holds the upper triangle of the matrix R^(-1)F[F^tR^(-1)F)^(-1)F^(t)R^(-1)-R^(-1)
!fbassamp: on exit, holds the transpose of [F^(t)R^(-1)F]^(-1)F^(t)R^(-1)
!FtRinvF_inv: holds the upper triangle of the symmetric matrix [F^(t)R^(-1)F]^(-1)
!plikemin: likelihood parameter lower bounds
!plikemax: likelihood parameter upper bounds
!isitlastcall: if it is the last call, calculates the matrices needed by the prediction
!maxnvars: the maximum number of cokriging variables
!nvars: the actual number of cokriging variables
!kbasis: the total number of basis functions for all variables
!kbasvar: the number of basis functions in each variable
!maxkbasvar: the maximum number of basis functions iin each variable
!indexvars: the integer vector that holds the number of observations for each
! cokriging variables.
!ithetap: =1, pist=2.0; =2, pdist to be optimized
!kpvt: an integer array used in different subroutines, defined in common blocks
! to save memory, does not transfer data through common blocks.
integer maxdesignparam,maxlikepoints,maxkbasvar,maxnvars
parameter(maxdesignparam=40,maxlikepoints=365*48,
& maxkbasvar=100,maxnvars=10)
integer nlikepoints,ndesignparam,kbasis,kbasvar,
& nvars,indexvars,ithetap,kpvt
common /likedim/nlikepoints,ndesignparam,kbasis,
& kbasvar(maxnvars),nvars,indexvars(maxnvars),
& ithetap,kpvt(maxlikepoints)
double precision xsamplike,ysamplike,coeffbas,delvector,
& work,fbassamp,FtRinvF_inv
common /likevar/xsamplike(maxlikepoints,maxdesignparam),
& ysamplike(maxlikepoints),delvector(maxlikepoints),
& coeffbas(maxkbasvar*maxnvars),
& work(maxlikepoints*(maxlikepoints+1)/2),
& fbassamp(maxlikepoints,maxkbasvar*maxnvars),
& FtRinvF_inv(maxkbasvar*maxnvars*(maxkbasvar*maxnvars+1)/2)
double precision plikemin,plikemax
common /likebounds/plikemin(maxnvars*(maxnvars+1)*
& (2*maxdesignparam+1)/2),
& plikemax(maxnvars*(maxnvars+1)*
& (2*maxdesignparam+1)/2)
logical isitlastcall
common /likelogic/isitlastcall
!----------------------------------------------------------