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

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,

Den tors 15 nov. 2018 kl 17:08 skrev Fox, Stuart <

> 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

Attachment: jacobian.arts
Description: Binary data

arts_dev.mi mailing list

Reply via email to