#include #include #include #include #include #include using namespace std; #include "svd.h" //Coded by Feng Deng, University of Toronto //for internal use only struct inout{ string path; string ftransms; string fpriors; string fqmats; string co2fs; string varfs; string fluxfs; int m_r; int n_c; double lamda; double qscaler; }; int add_(int m, int n, double *w){ int i; double ep = pow(2.0,-52.0); double tl = max(m,n)*w[0]*ep; int r = 0; for (i = 0; i < n; i++) { if (w[i] > tl) { r++; } } return r; } int main(){ inout iostr; iostr.path="../data8497/"; iostr.ftransms="responsef8497_Tans03a8.bin"; iostr.fpriors="annual_aprioi_flux_6m_5y.txt"; iostr.fqmats="fqmatrix.txt"; iostr.co2fs="conctrn8497Tans93f_case3.txt"; iostr.varfs="uncrtn_ext8497_x2.txt"; iostr.fluxfs="../flux_invd9_Tans93dlt_f03a8x2case3.txt"; iostr.m_r=8497; iostr.n_c=3001; iostr.lamda=1; iostr.qscaler=1.; int n=iostr.n_c; int m=iostr.m_r; if(n>m){ cout<<"You cannot use this code to solve your problem!"<>tempx; xcov[i]=iostr.qscaler*tempx; } xcovin.close(); }else{ cout<<"cannot open the apriori covariance file: "<>x0[i]; } inico2f.close(); }else{ cout<<"cannot open apriori input file: "<>tempb; bcov[i]=sqrt(tempb); } bcovin.close(); }else{ cout<<"cannot open the measurement uncertainty covariance file: "<>bco2[i]; } bco2in.close(); }else{ cout<<"cannot open co2 concentration data input file: "<