﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
158	Abel routine variable names	Huw Lewis	Huw Lewis	"Feedback from Sean:


{{{
I have some problems with Christian's variable names, which I think
leads to confusion.

I tend to use the following

Christian     Sean

impact_obs(:) =   a(:) not really important but notation used in papers.
impact(:)     =   nr(:) because these are *not* impact parameter values!


I think using impact and impact_obs is confusing. For example in the
linear abel code you have


!    5.3 Asymptotic correction
!    -------------------------

      if(present(scale))then

         t_upper = sqrt((impact(i_top)-impact(i_bot))/scale)
         zt = 1.0_wp / (1.0_wp + 0.47047_wp * t_upper)
         erf_up = 1.0_wp - (a-(b-c*zt)*zt) * zt * EXP(-(t_upper*t_upper))

         alpha(l) = alpha(l) + &
              dlndx(i_top)*exp((impact(i_top)-impact(i_bot))/scale)*    &
              sqrt(pi)*(1.0_wp-erf_up)/  &
              sqrt((impact(i_top)+impact(i_bot))/scale)

      endif


But I think all the impact(i_bot)'s used here should be impact_obs(l).

And

      alpha(l)  = -2.0_wp * impact(l) * alpha(l)

Again, I would have thought this should be using impact_obs(l) rather 
than impact(l).

I suspect the code works because impact(:) = impact_obs(:) for the cases
you've tested, but this won't be the case generally.
}}}

I think the line 
alpha(l)  = -2.0_wp * impact(l) * alpha(l)
should be in terms of impact_obs(l) as suggested. The first code line is correct though.

This ticket is aimed to make us look again at all the Abel transform routines (LIN, EXP, Abel, Invert) and re-think variable names and code logic as Sean suggests. Using more distinctive variable names will help. 

Also, we need to include the possibility to output LIN solutions on a different set of output levels (e.g. interpolation after performing the calculation?).
"	enhancement	closed	normal	3.0	ROPP (all)	2.0beta	fixed	Abel transform	
