Description of the Fortran BARCAST library's interface Proxy_Updater_muldim.f90 ------------------------ SUBROUTINE getCProx( CProxPar) Get the CProx matrix, containing all proxy parameters CPROX: N.PT x 5 x N.Locs SUBROUTINE Tau2P_Updater_mv(tau2Pprior, ProxNum, MInst) Update the proxy noise variance tau2Pprior : vector (2), prior parameters of tau^2 ProxNum : Which of the N.PT proxis (or proxy "types") to update MInst : vector (N.Locs), number of observations SUBROUTINE Beta2_Updater_mv( Beta2Prior, ProxNum) Update the proxy memory parameter (only for proxy type = 1) Beta2Prior : vector (2), prior parameters ProxNum : Which of the N.PT proxis (or proxy "types") to update SUBROUTINE Beta1_Updater_mv( Beta1Prior, ProxNum) Update the proxy linear response "slope" Beta1Prior : vector (2), prior parameters ProxNum : Which of the N.PT proxis (or proxy "types") to update SUBROUTINE Beta0_Updater_mv( Beta0prior, ProxNum, MProx) Update the proxy linear response offset Beta0Prior : vector (2), prior parameters ProxNum : Which of the N.PT proxis (or proxy "types") to update T_Updater.f90 ------------- SUBROUTINE TUpdater( PriorT0, Cpars) SUBROUTINE init_updater( INITIAL_T, CProxCurr, ProxData, UPat, PbyY, NPat, currinvcovmat, NT, NL, NP, ZIGSEED) SUBROUTINE updatePhiList( PhiMat_a, PhiMat_ja, PhiMat_ia, PhiMat_NNZ, PhiMat_Nrow, thisPat) SUBROUTINE newPhiList( NPat) SUBROUTINE updateUPat( UPat, PbyY, NPat) Update the "data availability" patterns U.Patterns. U.Pat : ((N.PT+1)*N.Locs) x N.Pat, matrix of 0, 1 to mark present (1) and absent (0) obs PbyY : N.Time vactor containting the index of the U.Pat for each year NPat : number of differnet observation patterns SUBROUTINE updateSglProx( ProxData, PNum, PIdx) Update the proxy observations of a single proxy observation location and type ProxData: N.Time vector. Contains the observations at the different times, with -99 = no obs PNUM : which of the N.ProxType proxies PIdx : At which of the N.Locs observation locations. SUBROUTINE set_ciscm( currinvcovmat) Set the current inverse covariance matrix currinvcovmat: N.Locs x N.Locs inverse covariance matrix SUBROUTINE get_ciscm( currinvcovmat) Get the current inverse covariance matrix currinvcovmat: N.Locs x N.Locs inverse covariance matrix SUBROUTINE get_cscm( currcovmat) Get the current covariance matrix currcovmat: N.Locs x N.Locs covaraince matrix SUBROUTINE cleanup_updater() Deallocate everything SUBROUTINE GetTMatrix( TMat) Get the reconstruction TMat : N.Locs x N.Time reconstruction SUBROUTINE Alpha_Updater( alphaprior, Cpars) SUBROUTINE Mu_Updater( muprior, Cpars) SUBROUTINE Sigma2_Updater( sigma2prior, Cpars) SUBROUTINE Tau2I_Updater(tau2Iprior, Cpars, MInst) SUBROUTINE Phi_Updater( phiprior, Cpars, inv_scm, DistMat, MHParsLogphi)