Hi Stuart ARTS 2-3-983 made significant changes in how the radiative transfer calculations are performed. The idea of the changes was to average the source level radiation rather than the layer itself. We believe the changes can help speed up calculations of especially the Jacobian significantly, and it serves to unify the expressions for NLTE and scattering for both transmission and emission computations. The change in short:
Old RTE for single level: Y_end = exp(- (K1 + K2) r / 2) Y_start + (IdMat - exp(- (K1 + K2) r / 2)) ((K1+K2) / 2)^-1 ((A1+A2) / 2 (B1 + B2) / 2 + (J1 + J2) / 2) New RTE for single level: Y_end = exp(- (K1 + K2) r / 2) Y_start + (IdMat - exp(- (K1 + K2) r / 2)) (K1^-1 (A1 B1 + J1) + K2^-1 (A2 B2 + J2)) / 2, where the indices are the levels of a value, Y is the radiation vector, K the propagation matrix, r the distance between the two levels, A the absorption vector, B the Planck emission vector, and J the NLTE source differences vector. All active tests were considered 'close enough' to activate the new approach and scrap the old by ARTS 2-3-983. The two approaches should produce identical results for short enough r, when K1→K2, B1→B2, a1→a2, and J1→J2, but small numerical drifts are unavoidable if just for the numerical accuracy in any operation. For the Jacobian, the numerical drifts are much larger since the new approach consists of a lot fewer operations than the former due to chaining. This change might have introduced unintended bugs for cases not properly tested by the "make check"-commands. One problem in particular introduced by these changes was how to deal with the contribution of the hydrostatic equilibrium assumption to the Jacobian. I am not sure how it is being accounted for at this point, if at all? I added some code that could possibly deal with it in the creation of the transmission-matrix derivatives, but this code was never activated and so remains untested. The idea to deal with HSE as part of an external transformation was also circulated. HSE is activated by default in the temperature Jacobian and so you are affected by the change. I do not have time to check if this is the main cause of your problem but strongly suspect it is. Please try running with the altered jacobian.arts file using pre-983 codepath. Post-983, the implicit "on" makes no difference, because of the reasons I give above. With hope, //Richard Den tors 15 nov. 2018 kl 17:08 skrev Fox, Stuart < stuart....@metoffice.gov.uk>: > Hi all, > > > > I have just noticed that there has been relatively large changes to some > calculated temperature Jacobians with “recent” versions of ARTS. The > differences appeared with arts-2-3-983. Attached is an example set of > controlfiles/data that will show the differences when run with versions > pre- and post-983. Is this something specific that I’ve done wrong in the > set-up of the Jacobians, or is it something that was meant to happen, and > if so then why? > > > > Cheers, > > > > Stuart > _______________________________________________ > arts_dev.mi mailing list > arts_dev.mi@lists.uni-hamburg.de > https://mailman.rrz.uni-hamburg.de/mailman/listinfo/arts_dev.mi >
jacobian.arts
Description: Binary data
_______________________________________________ arts_dev.mi mailing list arts_dev.mi@lists.uni-hamburg.de https://mailman.rrz.uni-hamburg.de/mailman/listinfo/arts_dev.mi