I was aware of that the auto-increase does not change the number of
output angles, but still thanks for the warning.
That is, for me it was understood that you should check that the start
number of streams is high enough, to make sure that angle interpolation
does not induce too large errors. But not clear to me is if the angle
interpolation error increases with strong scattering. This is something
that I have never tested.
Your comments seem to indicate that it is the case (i.e. increasing
errors), but has you tested it? Without that it is a bit hard to decide
what to do.
Anyhow, my recommendation is that you focus on general cleaning and
documentation. Leave any possible extension of RT4 on this point to us
others, if we find it necessary.
On 2018-01-22 17:46, Jana Mendrok wrote:
With some of you we have discussed (even suggested) the use of the
auto-increase number of streams feature of the RT4 interface.
The background to this feature is that RT4 needs the scattering matrix
to be properly resolved in order to conserve the scattered energy
satisfactorily. Using the feature, the number of streams is
internally(!) increased until the scattering matrix resolution is deemed
The crucial issue, i just got reminded of when i went through the code,
is that this increase is only done internally. the output will remain on
the original number of streams set!
That means, *one should not start with a very low number of streams* and
should not let the system completely self-adapt (as, strictly speaking,
that's not what it is doing - the output dimensions won't adapt and will
always remain the original/starting number of streams) (i'm going to add
that info to the online doc).
It should be kept in mind, that - unlike Disort - neither RT4 nor ARTS
itself have good interpolation options for "off-stream" angles, i.e. the
number of streams RT4 is set up with does not only determine the RT4
solution accuracy (this is improved/adapted with the auto-increase
feature), but also the number of output directions (not affected by
auto-increase), hence the accuracy with which the field is known to and
further applied within other WSM of ARTS.
Ps. Something more for developers...
Thinking about that, this seems quite inconvenient. So, the question
what to do about it, how to change that. Two possible solutions pop into
(1) instead of interpolating the high-stream-solution to the low number
of streams, we could interpolate everything to the highest number of
streams and output the "high-resolution" field.
(2) re-define (doit_)i_field from Tensor7 into a ArrayOfTensor6 with one
Tensor6 entry per freq. this would allow to have different angular
dimensions per frequency (we'd need to also store the angles per each
frequency). however, that would affect the output of other solvers, too,
and the way (doit_)i_field is applied in (i)yCalc.
so, option (1) seems less of a hassle.
neither option will solve all issues (like, even if the radiation field
is quite smooth, linear interpolation from low-resolution fields won't
be very good and higher-order interpolation intrinsically requires,
well, higher numbers of streams), but at least some (like better
conserving the shape of the radiation field, where derived from higher
number of streams).
any opinions? do you consider this an issue at all, or is a cautionary
note in the documentation enough? if an issue, any better ideas on
solutions or opinions on "my" two options?
and, anyone other than me willing to implement possible changes?
Jana Mendrok, Ph.D.
Email: jana.mend...@gmail.com <mailto:jana.mend...@gmail.com>
arts_dev.mi mailing list