﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
423	amend check ongeop in ropp_io_rangecheck?	Ian Culverwell	Ian Culverwell	"'''ropp_io_rangecheck.f90''' currently zaps all lev2b data unless there's at least one valid geopotential, thus:

{{{
! Every level must have a valid geopotential height value;
! if all are missing, then set whole L2b profile to zero length.
! If only some heights are missing, filter them out

    idx => WHERE ( Lev2b%Geop > ropp_MDTV, nidx )
    IF ( nidx == 0 ) THEN
      Lev2b%Npoints = 0
    ELSE IF ( nidx < Lev2b%Npoints ) THEN
      Lev2b%Npoints             = nidx
      Lev2b%Geop(1:nidx)        = Lev2b%Geop(idx)
      Lev2b%Geop_Sigma(1:nidx)  = Lev2b%Geop_Sigma(idx)
      Lev2b%Press(1:nidx)       = Lev2b%Press(idx)
      Lev2b%Press_Sigma(1:nidx) = Lev2b%Press_Sigma(idx)
      Lev2b%Temp(1:nidx)        = Lev2b%Temp(idx)
      Lev2b%Temp_Sigma(1:nidx)  = Lev2b%Temp_Sigma(idx)
      Lev2b%SHum(1:nidx)        = Lev2b%SHum(idx)
      Lev2b%SHum_Sigma(1:nidx)  = Lev2b%SHum_Sigma(idx)
      Lev2b%Meteo_Qual(1:nidx)  = Lev2b%Meteo_Qual(idx)
    END IF
}}}

Unfortunately the bgr files provided at http://www.romsaf.org/product_archive.php do have precisely this feature (eg see '''bgr20150401_024913_M01_1290556912_N0021_XXXX.nc''' attached). Therefore the RO processing tool provided by the ROM SAF cannot read the RO data provided by the ROM SAF.  This is obviously not exactly ideal.

Possible solutions:
 * Amend the range-checker so that it only zaps the lev2b fields if all geops and (say) all temps are missing;
 * Get the archive regenerated with valid geops in the bgr files.
 * Manually (eg with {{{ncap2 -s""geop=float(geop*0-999)"" bgr.nc -O temp.nc ; ncks -a temp.nc -O bgr.nc}}}) set the geops to non-missing values.

''Why'' are the geops missing from the bgr files?  Ask DMI. 
"	enhancement	closed	normal	9.0	ropp_io	8.0	fixed		
