Menu

Testing dual-tracer CO+CO2 vs the single tracer systems

I've coded in my CO and CO2 inversions into a more general multi-tracer system. To test the multi-tracer system, at each step we will compare their inputs and outputs to the individual single-tracer systems.

  • Are the CO and CO2 emissions equal? Yes
  • Are the CO and CO2 point observations equal? Yes, except for station_id, which is expected to be different
  • Are the RemoTeC and IASI observations equal? Yes
  • Are the save_ files in the end equal? Yes
  • Are the 3-hourly 3D mixing ratio fields equal? Yes
  • Are the point and satellite output/track files equal? Yes
  • Are the point and satellite departure files equal? Yes (CO2 departures are different by ~10-14, perhaps insignificant)
  • Are the adjoint emissions equal? Yes (Again, different by 1 part in 1014, perhaps insignificant)
  • Does the gradient test with two tracers converge? Yes
  • Does 4DVAR give the same result as individual CO and CO2 inversions? See next post
Posted by raglan_road 2013-11-05
  • raglan_road

    raglan_road - 2013-11-05

    It is difficult to verify 4DVAR results from individual tracer run with the dual-tracer run, since we do not iterate to analytical convergence. Maarten suggested starting with perfect observations for one tracer (say, CO), i.e., observations corresponding to the prior flux, and seeing whether 4DVAR gave the same solution as the single-tracer version of the other tracer (in this case, CO2).

    First, we run a CO model forward with prior fluxes, then copy the modeled point and satellite observations into the CO sections of the input observations used in a dual-tracer 4DVAR. Then we run both the dual-tracer and CO2-only 4DVAR systems to 20 iterations, and compare. The congrad_debug.out files are:

    CO2 only

    After iter   1: ||p_grad(k)|| =  0.1337998E+05  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3952289E+03
    After iter   2: ||p_grad(k)|| =  0.2894331E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1827073E+05
    After iter   3: ||p_grad(k)|| =  0.6705126E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.7886735E+04
    After iter   4: ||p_grad(k)|| =  0.1584609E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3337199E+05
    After iter   5: ||p_grad(k)|| =  0.7914550E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.6681561E+05
    After iter   6: ||p_grad(k)|| =  0.4818061E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1097569E+06
    After iter   7: ||p_grad(k)|| =  0.2857560E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1850584E+06
    After iter   8: ||p_grad(k)|| =  0.1269655E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.4165034E+06
    After iter   9: ||p_grad(k)|| =  0.7185238E+01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.7359749E+06
    After iter  10: ||p_grad(k)|| =  0.4258054E+01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1241918E+07
    After iter  11: ||p_grad(k)|| =  0.1457318E+01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3628689E+07
    After iter  12: ||p_grad(k)|| =  0.6100863E+00  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.8667880E+07
    After iter  13: ||p_grad(k)|| =  0.3373897E+00  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1567373E+08
    After iter  14: ||p_grad(k)|| =  0.1531859E+00  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3452115E+08
    After iter  15: ||p_grad(k)|| =  0.6589374E-01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.8025277E+08
    After iter  16: ||p_grad(k)|| =  0.2242278E-01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.2358385E+09
    After iter  17: ||p_grad(k)|| =  0.1050513E-01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.5033879E+09
    After iter  18: ||p_grad(k)|| =  0.2997391E-02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1764252E+10
    After iter  19: ||p_grad(k)|| =  0.1031655E-02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.5125893E+10
    After iter  20: ||p_grad(k)|| =  0.3557984E-03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1486278E+11
     number of converged eigenvalues=          20
               1   248504828.735638     
               2   5524.12204851437     
               3   589.442234600313     
               4   32.7305044586277     
               5   15.2322479276674     
               6   9.78006956203711     
               7   9.42501466825037     
               8   8.63328360178919     
               9   5.63029375198178     
              10   5.07576303713003     
              11   4.57810657901735     
              12   4.13838125945355     
              13   3.70362307790228     
              14   3.05890227485928     
              15   2.63065558376245     
              16   2.02893500212082     
              17   1.72492130656138     
              18   1.42530425082672     
              19   1.16434301135187     
              20   1.03351873134951
    

    CO+CO2 with perfect CO obs

    After iter   1: ||p_grad(k)|| =  0.1337998E+05  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3952289E+03
    After iter   2: ||p_grad(k)|| =  0.2894331E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1827073E+05
    After iter   3: ||p_grad(k)|| =  0.6705115E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.7886747E+04
    After iter   4: ||p_grad(k)|| =  0.1584609E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3337198E+05
    After iter   5: ||p_grad(k)|| =  0.7914552E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.6681560E+05
    After iter   6: ||p_grad(k)|| =  0.4818062E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1097569E+06
    After iter   7: ||p_grad(k)|| =  0.2857560E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1850584E+06
    After iter   8: ||p_grad(k)|| =  0.1269654E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.4165035E+06
    After iter   9: ||p_grad(k)|| =  0.7185237E+01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.7359750E+06
    After iter  10: ||p_grad(k)|| =  0.4258054E+01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1241918E+07
    After iter  11: ||p_grad(k)|| =  0.1457318E+01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3628689E+07
    After iter  12: ||p_grad(k)|| =  0.6100863E+00  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.8667880E+07
    After iter  13: ||p_grad(k)|| =  0.3373897E+00  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1567373E+08
    After iter  14: ||p_grad(k)|| =  0.1531859E+00  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3452115E+08
    After iter  15: ||p_grad(k)|| =  0.6589373E-01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.8025278E+08
    After iter  16: ||p_grad(k)|| =  0.2242278E-01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.2358385E+09
    After iter  17: ||p_grad(k)|| =  0.1050513E-01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.5033879E+09
    After iter  18: ||p_grad(k)|| =  0.2997392E-02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1764252E+10
    After iter  19: ||p_grad(k)|| =  0.1031655E-02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.5125892E+10
    After iter  20: ||p_grad(k)|| =  0.3557985E-03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1486278E+11
     number of converged eigenvalues=          20
               1   248504828.340684     
               2   5524.12203497069     
               3   589.442237199511     
               4   32.7305044414876     
               5   15.2322478903110     
               6   9.78006956493043     
               7   9.42501455319886     
               8   8.63328362258442     
               9   5.63029375599776     
              10   5.07576299897729     
              11   4.57810655645179     
              12   4.13838124752736     
              13   3.70362305620284     
              14   3.05890251560659     
              15   2.63065556708842     
              16   2.02893507209161     
              17   1.72492135242991     
              18   1.42530431115350     
              19   1.16434299895562     
              20   1.03351873139565
    

    If we compare the variables in the respective optimized_state files, the maximum absolute differences are as below (for the optimized categories):

    glb600x400         oceanic flux       poste_emission :  6.3424254e-03
    glb600x400         oceanic flux       prior_emission :  0.0000000e+00
    glb600x400         oceanic flux   poste_emission_std :  5.0580719e-05
    glb600x400         oceanic flux   prior_emission_std :  0.0000000e+00
    glb600x400         oceanic flux         eigenvectors :  3.5828525e-04
    glb600x400       biosphere flux       poste_emission :  1.3246576e-01
    glb600x400       biosphere flux       prior_emission :  0.0000000e+00
    glb600x400       biosphere flux   poste_emission_std :  5.7939275e-04
    glb600x400       biosphere flux   prior_emission_std :  0.0000000e+00
    glb600x400       biosphere flux         eigenvectors :  3.7432575e-03
    sea300x200         oceanic flux       poste_emission :  1.3424171e-04
    sea300x200         oceanic flux       prior_emission :  0.0000000e+00
    sea300x200         oceanic flux   poste_emission_std :  3.5727476e-07
    sea300x200         oceanic flux   prior_emission_std :  0.0000000e+00
    sea300x200         oceanic flux         eigenvectors :  2.9002891e-05
    sea300x200       biosphere flux       poste_emission :  2.2110866e-03
    sea300x200       biosphere flux       prior_emission :  0.0000000e+00
    sea300x200       biosphere flux   poste_emission_std :  5.1904815e-06
    sea300x200       biosphere flux   prior_emission_std :  0.0000000e+00
    sea300x200       biosphere flux         eigenvectors :  1.5059738e-04
    sea100x100         oceanic flux       poste_emission :  1.2158961e-05
    sea100x100         oceanic flux       prior_emission :  0.0000000e+00
    sea100x100         oceanic flux   poste_emission_std :  1.3992640e-08
    sea100x100         oceanic flux   prior_emission_std :  0.0000000e+00
    sea100x100         oceanic flux         eigenvectors :  1.3028681e-06
    sea100x100       biosphere flux       poste_emission :  4.6011427e-03
    sea100x100       biosphere flux       prior_emission :  0.0000000e+00
    sea100x100       biosphere flux   poste_emission_std :  2.1835199e-05
    sea100x100       biosphere flux   prior_emission_std :  0.0000000e+00
    sea100x100       biosphere flux         eigenvectors :  2.4994910e-04
    

    Acceptable, I think!

     

    Last edit: raglan_road 2013-11-05
  • raglan_road

    raglan_road - 2013-11-05

    The other way round, i.e., CO+CO2 with perfect CO2 is not easy, and here's why. Suppose a measured total column is 370 ppm, and the corresponding model is 380 ppm. There is a bias correction applied to the measured column. Say after bias correction the measured column is 372 ppm. Then the forcing is ~(380-372) ppm, not ~(380-370) ppm. Hence, if we set the perfect measurement to 380 ppm, then after bias correction it might become 383 ppm, so the forcing would be ~(380-383) ppm, i.e., not zero. The magnitude of the bias correction depends on the measurement, so it can be 3 ppm at 380 ppm and 2 ppm at 370 ppm. Therefore, we can't just compensate for this bias correction while manufacturing the perfect total columns. Therefore, to elimiate forcing from CO2, we set the errors in the measured total columns to be 1015 times the maximum measured total column, which gives departures ~10-37.

    CO only

    After iter   1: ||p_grad(k)|| =  0.1698088E+07  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1682666E+01
    After iter   2: ||p_grad(k)|| =  0.1199208E+07  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2382668E+01
    After iter   3: ||p_grad(k)|| =  0.8750250E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.3265409E+01
    After iter   4: ||p_grad(k)|| =  0.6044887E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.4726828E+01
    After iter   5: ||p_grad(k)|| =  0.4157847E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.6872101E+01
    After iter   6: ||p_grad(k)|| =  0.2586151E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1104852E+02
    After iter   7: ||p_grad(k)|| =  0.2918739E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.9789550E+01
    After iter   8: ||p_grad(k)|| =  0.2917426E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.9793954E+01
    After iter   9: ||p_grad(k)|| =  0.2699413E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1058495E+02
    After iter  10: ||p_grad(k)|| =  0.2300652E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1241958E+02
    After iter  11: ||p_grad(k)|| =  0.2464735E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1159278E+02
    After iter  12: ||p_grad(k)|| =  0.1437552E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1987624E+02
    After iter  13: ||p_grad(k)|| =  0.1392617E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2051759E+02
    After iter  14: ||p_grad(k)|| =  0.1516268E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1884438E+02
    After iter  15: ||p_grad(k)|| =  0.1292501E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2210687E+02
    After iter  16: ||p_grad(k)|| =  0.1152824E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2478535E+02
    After iter  17: ||p_grad(k)|| =  0.9886600E+05  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2890088E+02
    After iter  18: ||p_grad(k)|| =  0.1018181E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2806294E+02
    After iter  19: ||p_grad(k)|| =  0.8163530E+05  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.3500096E+02
    After iter  20: ||p_grad(k)|| =  0.8740116E+05  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.3269195E+02
     number of converged eigenvalues=          19
               1   1903177.98481867     
               2   940733.312802841     
               3   567753.493302514     
               4   491161.718737037     
               5   414927.033706246     
               6   346524.679537815     
               7   295779.353554809     
               8   280234.527861822     
               9   207736.068359176     
              10   197313.239828024     
              11   171904.952971872     
              12   145973.508843009     
              13   125148.974141006     
              14   83008.7301925684     
              15   68413.1204309216     
              16   48830.2793654814     
              17   35701.3392243109     
              18   17012.7188432762     
              19   7283.77513592298
    

    CO+CO2 with really large CO2 errors

    After iter   1: ||p_grad(k)|| =  0.1698088E+07  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1682666E+01
    After iter   2: ||p_grad(k)|| =  0.1199208E+07  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2382668E+01
    After iter   3: ||p_grad(k)|| =  0.8750250E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.3265409E+01
    After iter   4: ||p_grad(k)|| =  0.6044887E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.4726828E+01
    After iter   5: ||p_grad(k)|| =  0.4157847E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.6872101E+01
    After iter   6: ||p_grad(k)|| =  0.2586151E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1104852E+02
    After iter   7: ||p_grad(k)|| =  0.2918739E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.9789550E+01
    After iter   8: ||p_grad(k)|| =  0.2917426E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.9793954E+01
    After iter   9: ||p_grad(k)|| =  0.2699413E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1058495E+02
    After iter  10: ||p_grad(k)|| =  0.2300652E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1241958E+02
    After iter  11: ||p_grad(k)|| =  0.2464735E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1159278E+02
    After iter  12: ||p_grad(k)|| =  0.1437552E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1987624E+02
    After iter  13: ||p_grad(k)|| =  0.1392617E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2051759E+02
    After iter  14: ||p_grad(k)|| =  0.1516268E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1884438E+02
    After iter  15: ||p_grad(k)|| =  0.1292501E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2210687E+02
    After iter  16: ||p_grad(k)|| =  0.1152824E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2478535E+02
    After iter  17: ||p_grad(k)|| =  0.9886600E+05  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2890088E+02
    After iter  18: ||p_grad(k)|| =  0.1018181E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2806293E+02
    After iter  19: ||p_grad(k)|| =  0.8163530E+05  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.3500096E+02
    After iter  20: ||p_grad(k)|| =  0.8740116E+05  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.3269195E+02
     number of converged eigenvalues=          19
               1   1903177.98245471     
               2   940733.311892852     
               3   567753.492615479     
               4   491161.717486665     
               5   414927.033938011     
               6   346524.679156003     
               7   295779.353878689     
               8   280234.528116797     
               9   207736.068190829     
              10   197313.239856180     
              11   171904.952751398     
              12   145973.509059895     
              13   125148.974073768     
              14   83008.7299148937     
              15   68413.1202048149     
              16   48830.2792280258     
              17   35701.3390884913     
              18   17012.7187996413     
              19   7283.77511256560
    

    Again, comparing optimized variables in the respective optimized_state files, we see the following maximum absolute differences:

    glb600x400                total       poste_emission :  1.0041942e-05
    glb600x400                total       prior_emission :  0.0000000e+00
    glb600x400                total   poste_emission_std :  3.3151605e-07
    glb600x400                total   prior_emission_std :  0.0000000e+00
    glb600x400                total         eigenvectors :  2.4360366e-06
    sea300x200      biomass burning       poste_emission :  5.6898520e-06
    sea300x200      biomass burning       prior_emission :  0.0000000e+00
    sea300x200      biomass burning   poste_emission_std :  1.4189752e-08
    sea300x200      biomass burning   prior_emission_std :  0.0000000e+00
    sea300x200      biomass burning         eigenvectors :  2.2738034e-07
    sea100x100      biomass burning       poste_emission :  4.4779197e-05
    sea100x100      biomass burning       prior_emission :  0.0000000e+00
    sea100x100      biomass burning   poste_emission_std :  6.6008802e-06
    sea100x100      biomass burning   prior_emission_std :  0.0000000e+00
    sea100x100      biomass burning         eigenvectors :  1.1938602e-05
    

    Nice, no?

     
  • raglan_road

    raglan_road - 2013-11-06

    I've restructured the multi-tracer code into a new base (branches/4dvar-mt) and associated projects. Time to test whether the above tests still pass.

    CO only

    After iter   1: ||p_grad(k)|| =  0.1698088E+07  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1682666E+01
    After iter   2: ||p_grad(k)|| =  0.1199208E+07  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2382668E+01
    After iter   3: ||p_grad(k)|| =  0.8750250E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.3265409E+01
    After iter   4: ||p_grad(k)|| =  0.6044887E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.4726828E+01
    After iter   5: ||p_grad(k)|| =  0.4157847E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.6872101E+01
    After iter   6: ||p_grad(k)|| =  0.2586151E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1104852E+02
    After iter   7: ||p_grad(k)|| =  0.2918739E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.9789550E+01
    After iter   8: ||p_grad(k)|| =  0.2917426E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.9793954E+01
    After iter   9: ||p_grad(k)|| =  0.2699413E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1058495E+02
    After iter  10: ||p_grad(k)|| =  0.2300652E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1241958E+02
     number of converged eigenvalues=           9
               1   1903177.98481867     
               2   940733.312793678     
               3   567752.682795059     
               4   429209.107424858     
               5   345805.545420062     
               6   267371.092637980     
               7   179447.397733759     
               8   104976.542485630     
               9   51491.8477428668
    

    CO2 only

    After iter   1: ||p_grad(k)|| =  0.1337998E+05  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3952289E+03
    After iter   2: ||p_grad(k)|| =  0.2894331E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1827073E+05
    After iter   3: ||p_grad(k)|| =  0.6705126E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.7886735E+04
    After iter   4: ||p_grad(k)|| =  0.1584609E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3337199E+05
    After iter   5: ||p_grad(k)|| =  0.7914550E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.6681561E+05
    After iter   6: ||p_grad(k)|| =  0.4818061E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1097569E+06
    After iter   7: ||p_grad(k)|| =  0.2857560E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1850584E+06
    After iter   8: ||p_grad(k)|| =  0.1269655E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.4165034E+06
    After iter   9: ||p_grad(k)|| =  0.7185238E+01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.7359749E+06
    After iter  10: ||p_grad(k)|| =  0.4258054E+01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1241918E+07
     number of converged eigenvalues=          10
               1   248504828.735638     
               2   5524.12204851436     
               3   589.442234600119     
               4   32.7305044585828     
               5   15.2319306115116     
               6   8.88577781415405     
               7   7.08822581785753     
               8   4.49417905982196     
               9   2.70526609501457     
              10   1.35686042119633
    

    CO+CO2 with no CO constraints

    After iter   1: ||p_grad(k)|| =  0.1337998E+05  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3952289E+03
    After iter   2: ||p_grad(k)|| =  0.2894331E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1827073E+05
    After iter   3: ||p_grad(k)|| =  0.6705115E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.7886747E+04
    After iter   4: ||p_grad(k)|| =  0.1584609E+03  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.3337198E+05
    After iter   5: ||p_grad(k)|| =  0.7914552E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.6681560E+05
    After iter   6: ||p_grad(k)|| =  0.4818062E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1097569E+06
    After iter   7: ||p_grad(k)|| =  0.2857560E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1850584E+06
    After iter   8: ||p_grad(k)|| =  0.1269654E+02  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.4165035E+06
    After iter   9: ||p_grad(k)|| =  0.7185237E+01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.7359750E+06
    After iter  10: ||p_grad(k)|| =  0.4258054E+01  ||p_grad(0)|| =  0.5288155E+07  grad norm reduction =  0.1241918E+07
     number of converged eigenvalues=          10
               1   248504828.340684     
               2   5524.12203497073     
               3   589.442237199403     
               4   32.7305044414274     
               5   15.2319305746932     
               6   8.88577754102723     
               7   7.08822556733843     
               8   4.49417881148225     
               9   2.70526597506649     
              10   1.35686043622105
    

    CO+CO2 with no CO2 constraints

    After iter   1: ||p_grad(k)|| =  0.1698088E+07  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1682666E+01
    After iter   2: ||p_grad(k)|| =  0.1199208E+07  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.2382668E+01
    After iter   3: ||p_grad(k)|| =  0.8750250E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.3265409E+01
    After iter   4: ||p_grad(k)|| =  0.6044887E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.4726828E+01
    After iter   5: ||p_grad(k)|| =  0.4157847E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.6872101E+01
    After iter   6: ||p_grad(k)|| =  0.2586151E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1104852E+02
    After iter   7: ||p_grad(k)|| =  0.2918739E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.9789550E+01
    After iter   8: ||p_grad(k)|| =  0.2917426E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.9793954E+01
    After iter   9: ||p_grad(k)|| =  0.2699413E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1058495E+02
    After iter  10: ||p_grad(k)|| =  0.2300652E+06  ||p_grad(0)|| =  0.2857314E+07  grad norm reduction =  0.1241958E+02
     number of converged eigenvalues=           9
               1   1903177.98245471     
               2   940733.311883690     
               3   567752.682108670     
               4   429209.084443045     
               5   345805.543645426     
               6   267371.088039413     
               7   179447.396046542     
               8   104976.539758463     
               9   51491.8472027729
    

    So it still works!!!

     

    Last edit: raglan_road 2013-11-06

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.