﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
157	Geometric height calculation discrepancy (ROPP cf GRAS NRT)	Huw Lewis	Huw Lewis	"Email from Kjartan:


{{{
I think I found a discrepancy between the geopotential to geometric
altitude conversion in  ropp_fm_obs2roprof and the one that was 
used to generate the most recent version GRAS SAF nrt data.

The simplest way to generate the issue is this: 

Read a refractivity profile from the GRAS SAF nrt data (atm* - file)
pass the resulting RO_data structure through 
ropp_fm_roprof2obs(RO_data,obs) and pass it back through 
ropp_fm_obs2roprof(obs,RO_data). 

The RO_data structure now has a vector of geometric altitudes 
(RO_data%Lev2a%alt_refrac) that is inconsistent with the values in
the input file, although all other data are the same. I suspect the
problem derives from a discrepancy in the value used for the 
acceleration of gravity.
}}}

Huw's initial response:

{{{
You are correct in saying that the input alt_refrac data after passing
through ROPP processing is not identically the same as that in the input
file. You would also notice if you were to do the same for the bending
angle observations that only a limited sub-set of Level1b data from the
input file is preserved on output. Both these characteristics result
from the ropp_fm_obs2roprof defining a new Level2a (or Level1b)
structure to output the (potentially updated) values. I think this is a
valid approach.

The ropp_fm processing is:
ropp_fm_roprof2obs:  y%geop = ro_data%Lev2a%geop_refrac
ropp_fm_obs2roprof:  ro_data%Lev2a%geop_refrac = y%geop
                     ro_data%Lev2a%alt_refrac = geopotential2geometric()
i.e. only the geopotential heights are used in the processing, and
alt_refrac is calculated from geop for output.

The difference in alt_refrac you observe is indeed due to slightly
different methods used in the GRAS SAF NRT processing and ROPP for
converting between geometric and geopotential height scales. I have
scanned through the NRT code (function Alt_from_Geop in Lib/Earth.f90)
but it is not clear from this what the exact method used is - no
references as far as I can see. However, it is similar (but more
complicated) to that used in ROPP (maybe ROPP is a simplified version?).
The ROPP routine is in ropp_tools/geodesy/geopotential2geometric (note
ropp_tools is renamed ropp_utils in ROPP-2). More details are in GSR 02
- to appear online soon! 

I do not propose we change the ROPP-2 code ahead of release. It would be
good to understand if either ROPP or GRAS SAF NRT methods is 'best' and
make any updates for future versions of either software codes.
}}}

This ticket is a reminder to look at this issue (and potentially update either GRAS SAF NRT processing or ropp_utils for consistency).
"	enhancement	closed	normal	4.1	ropp_utils	2.0beta	invalid	geodesy	
