Converted time objects to be real128, aka quad precision or 128 bit real. They were originally double precision. Additional changes are conversions to more modern naming convention of real(real128) type instead of double precision. The delta time object is kept as real64 and because NetCDF does not handle 128 bit reals, the writing and reading of NetCDF variables occurs with real64 variables.
Added debug flag -Wconversion to warn when there is implicit truncation during type conversions.
Updated the calendar test to use the newer time object.
ISSUE: Fixes #82
TESTS CONDUCTED: Unit tests, ideal test, calendar test
NOTES: The calendar test runs a great deal slower than the original one but this effect on performance does not seem to effect the ICAR model.
Checklist
Merging the PR depends on following checklist being completed. Add X between
each of the square brackets if they are completed in the PR itself. If a
bullet is not relevant to you, please comment on why below the bullet.
TYPE: enhancement
KEYWORDS: time object, quad precision, real128
SOURCE: Soren Rasmussen, NCAR
DESCRIPTION OF CHANGES:
real128
, aka quad precision or 128 bit real. They were originally double precision. Additional changes are conversions to more modern naming convention ofreal(real128)
type instead ofdouble precision
. The delta time object is kept asreal64
and because NetCDF does not handle 128 bit reals, the writing and reading of NetCDF variables occurs withreal64
variables.-Wconversion
to warn when there is implicit truncation during type conversions.ISSUE: Fixes #82
TESTS CONDUCTED: Unit tests, ideal test, calendar test
NOTES: The calendar test runs a great deal slower than the original one but this effect on performance does not seem to effect the ICAR model.
Checklist
Merging the PR depends on following checklist being completed. Add
X
between each of the square brackets if they are completed in the PR itself. If a bullet is not relevant to you, please comment on why below the bullet.