Opened 17 years ago
Closed 17 years ago
#158 closed enhancement (fixed)
Abel routine variable names
| Reported by: | Huw Lewis | Owned by: | Huw Lewis |
|---|---|---|---|
| Priority: | normal | Milestone: | 3.0 |
| Component: | ROPP (all) | Version: | 2.0beta |
| Keywords: | Abel transform | Cc: |
Description
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?).
Note:
See TracTickets
for help on using tickets.

See updates in development branch for ropp_fm routines [2047] and ropp_pp routines [2043]. All tested and working ok.
Ticket closed as fixed.