In the future, I need to assimilate aircraft data, which are numerous (AMDAR tracks have 10,000 to 15,000 samples per hour). So we need to split the input and output by day or month. I will try this out with the CO+CO2 tracer combination. Without any split, this is the reference gradient test:
alpha J_bg J_obs J_tot DJ1 DJ2 DJ2/DJ1 1-DJ2/DJ1 0 2.20800000000e+04 2.18215952442e+04 4.39015952442e+04 2.53570056323e+05 0.00000000000e+00 0 1.00000000e+00 0.1 1.88748350549e+04 3.88561223537e+04 5.77309574085e+04 2.53570056323e+05 -1.38293621644e+05 -0.54538625 1.54538625e+00 0.01 2.16453769801e+04 2.01123813788e+04 4.17577583589e+04 2.53570056323e+05 2.14383688526e+05 0.84546138 1.54538625e-01 0.001 2.20353966328e+04 2.16165471919e+04 4.36519438246e+04 2.53570056323e+05 2.49651419543e+05 0.98454614 1.54538625e-02 0.0001 2.20755282526e+04 2.18007491723e+04 4.38762774249e+04 2.53570056323e+05 2.53178192645e+05 0.99845461 1.54538625e-03 1e-05 2.20795527112e+04 2.18195072243e+04 4.38990599355e+04 2.53570056323e+05 2.53530869955e+05 0.99984546 1.54538627e-04 1e-06 2.20799552700e+04 2.18213864081e+04 4.39013416780e+04 2.53570056323e+05 2.53566137668e+05 0.99998455 1.54539346e-05 1e-07 2.20799955270e+04 2.18215743602e+04 4.39015698872e+04 2.53570056323e+05 2.53569664637e+05 0.99999846 1.54468371e-06 1e-08 2.20799995527e+04 2.18215931558e+04 4.39015927085e+04 2.53570056323e+05 2.53570024506e+05 0.99999987 1.25474873e-07 1e-09 2.20799999553e+04 2.18215950353e+04 4.39015949906e+04 2.53570056323e+05 2.53570040513e+05 0.99999994 6.23479134e-08 1e-10 2.20799999955e+04 2.18215952233e+04 4.39015952188e+04 2.53570056323e+05 2.53568723565e+05 0.99999474 5.25597506e-06
If I now use the new code, but use 'a' as the point split period, i.e., all observations in one file, I get:
alpha J_bg J_obs J_tot DJ1 DJ2 DJ2/DJ1 1-DJ2/DJ1 0 2.20800000000e+04 2.18215952442e+04 4.39015952442e+04 2.53570056323e+05 0.00000000000e+00 0 1.00000000e+00 0.1 1.88748350549e+04 3.88561223537e+04 5.77309574085e+04 2.53570056323e+05 -1.38293621644e+05 -0.54538625 1.54538625e+00 0.01 2.16453769801e+04 2.01123813788e+04 4.17577583589e+04 2.53570056323e+05 2.14383688526e+05 0.84546138 1.54538625e-01 0.001 2.20353966328e+04 2.16165471919e+04 4.36519438246e+04 2.53570056323e+05 2.49651419543e+05 0.98454614 1.54538625e-02 0.0001 2.20755282526e+04 2.18007491723e+04 4.38762774249e+04 2.53570056323e+05 2.53178192645e+05 0.99845461 1.54538625e-03 1e-05 2.20795527112e+04 2.18195072243e+04 4.38990599355e+04 2.53570056323e+05 2.53530869955e+05 0.99984546 1.54538627e-04 1e-06 2.20799552700e+04 2.18213864081e+04 4.39013416780e+04 2.53570056323e+05 2.53566137668e+05 0.99998455 1.54539346e-05 1e-07 2.20799955270e+04 2.18215743602e+04 4.39015698872e+04 2.53570056323e+05 2.53569664637e+05 0.99999846 1.54468371e-06 1e-08 2.20799995527e+04 2.18215931558e+04 4.39015927085e+04 2.53570056323e+05 2.53570024506e+05 0.99999987 1.25474873e-07 1e-09 2.20799999553e+04 2.18215950353e+04 4.39015949906e+04 2.53570056323e+05 2.53570040513e+05 0.99999994 6.23479134e-08 1e-10 2.20799999955e+04 2.18215952233e+04 4.39015952188e+04 2.53570056323e+05 2.53568723565e+05 0.99999474 5.25597506e-06
So at least those two are the same! If I now split up the input by day:
alpha J_bg J_obs J_tot DJ1 DJ2 DJ2/DJ1 1-DJ2/DJ1 0 2.20800000000e+04 2.18215952442e+04 4.39015952442e+04 2.53570056323e+05 0.00000000000e+00 0 1.00000000e+00 0.1 1.88748350549e+04 3.88561223537e+04 5.77309574085e+04 2.53570056323e+05 -1.38293621644e+05 -0.54538625 1.54538625e+00 0.01 2.16453769801e+04 2.01123813788e+04 4.17577583589e+04 2.53570056323e+05 2.14383688526e+05 0.84546138 1.54538625e-01 0.001 2.20353966328e+04 2.16165471919e+04 4.36519438246e+04 2.53570056323e+05 2.49651419543e+05 0.98454614 1.54538625e-02 0.0001 2.20755282526e+04 2.18007491723e+04 4.38762774249e+04 2.53570056323e+05 2.53178192645e+05 0.99845461 1.54538625e-03 1e-05 2.20795527112e+04 2.18195072243e+04 4.38990599355e+04 2.53570056323e+05 2.53530869954e+05 0.99984546 1.54538630e-04 1e-06 2.20799552700e+04 2.18213864081e+04 4.39013416780e+04 2.53570056323e+05 2.53566137653e+05 0.99998455 1.54539919e-05 1e-07 2.20799955270e+04 2.18215743602e+04 4.39015698872e+04 2.53570056323e+05 2.53569664565e+05 0.99999846 1.54497065e-06 1e-08 2.20799995527e+04 2.18215931558e+04 4.39015927085e+04 2.53570056323e+05 2.53570024506e+05 0.99999987 1.25474873e-07 1e-09 2.20799999553e+04 2.18215950353e+04 4.39015949906e+04 2.53570056323e+05 2.53570025961e+05 0.99999988 1.19736059e-07 1e-10 2.20799999955e+04 2.18215952233e+04 4.39015952188e+04 2.53570056323e+05 2.53568796325e+05 0.99999503 4.96903433e-06
It's almost the same, but not quite. Why?