Opened 16 years ago

Closed 15 years ago

#168 closed task (fixed)

UDUNITS2

Reported by: Huw Lewis Owned by: Huw Lewis
Priority: normal Milestone: 4.0
Component: ropp_io Version: 3.0
Keywords: udunits Cc:

Description

Udunits has been updated to UDUNITS-2. The 'originl' bversion (1.12.9) currently used with ROPP is described as deprecated on the Unidata website (although a download is still available).

The new package has an 'improved API, support for logarithmic units, support for multiple character sets, and XML database and a conversion utility'. These additional functionality are not required by ROPP.

Need to investigate the changes in udunits API - how compatibly are these with existing ROPP (CM) udunits wrappers? Aim to support ROPP use with both UDUNITS1 and UDUNITS2?

Change history (2)

comment:1 by Huw Lewis, 15 years ago

At present, UDUNITS2 does not have a Fortran API, only C. We do not require the full functionality of udunits (1 or 2) in ROPP, only very basic unit conversion options for a few specific variables (as defined in the RO data structure).

Given the lack of available Fortran interface for UDUNITS-2, the deprecated nature of udunits-1, and the current need to continually support updates to this third-party library, we will opt to drop usage of udunits entirely from ROPP. Rather, we will perform unit conversion functionality with a ROPP-specific unit conversion routine, called from Chris' unit conversion library. The generic units library should sit in ropp_utils. This change should enhance the module independence (e.g. between ropp_fm and ropp_io, in ropp_fm_set_units).

comment:2 by Huw Lewis, 15 years ago

Resolution: fixed
Status: newclosed

Removed dependency on UDUNITS (1 or 2). See [2236], [2237], [2238].

Original Marquardt library udunits modified to use basic ROPP-specific unit conversion routine ropp_unit_conversion.f90 in ropp_utils module. This is part of the new unitconvert module used within the ncdf library and in ROPP_FM.

The new solution removes another third-party dependency, although does not have the full functionality available with udunits of course.

Documentation for ROPP-4 will be updated to reflect the reduced dependencies.

Ticket closed as fixed.

Note: See TracTickets for help on using tickets.