Skip to content

ESMF_8_1_0 Known Bit For Bit Changes

Himanshu Pillai edited this page Sep 18, 2020 · 2 revisions

This page describes the known or expected bit-for-bit changes between ESMF_8_1_0 beta snapshots. If there is no entry between snapshots, then there are no known bit-for-bit changes between them. However, given the finite nature of testing and human understanding, it's possible that there are changes that we haven't discovered yet. As new ones are discovered we will continue to add them (even between older snapshots).

The bit-for-bit changes covered here do not include those caused by aggressive compiler optimizations. For example, our current bit-for-bit testing is done using flags that limit compiler optimizations to those that don't change answers (e.g. "-fp-model precise" on Intel compilers).

ESMF_8_1_0_beta_snapshot_27

  • Commit: 4705401ae41865f13f6b997a16efa04eb46e43f7
    • Reason for change: This commit fixes an issue where in some cases creep fill weights can trigger an assertion in the code that redistributes weights to their final decomposition.
    • Expected bit-for-bit changes:
      • ESMF_EXTRAPMETHOD_CREEP: Small weight changes for the extrapolated destination locations.

ESMF_8_1_0_beta_snapshot_26

  • Commit: 5724188759aa17b6ff5f1f955619bc4fd9b55313
    • Reason for change: This commit optimizes the creep fill so the memory doesn't increase as quickly for large numbers of creep levels.
    • Expected bit-for-bit changes:
      • ESMF_EXTRAPMETHOD_CREEP: Small weight changes for the extrapolated destination locations.

ESMF_8_1_0_beta_snapshot_25

ESMF_8_1_0_beta_snapshot_21

  • Commit: 3ebfb90053a3491ff811ea151e152c86245ddb14
    • Reason for change: This commit fixes a problem where a set of points with latitudes set at exactly -90.0 are not all mapped to the same point.
    • Expected bit-for-bit changes:
      • All regrid methods: Small weight changes when a point in the grid lies at exactly -90.0 latitude.
  • Commit: 761e629f955b53b7ce43e661e0f47570a7f834c1
    • Reason for change: This commit fixes a problem where using the bilinear method between two identical grids doesn't result in an identity matrix for the regridding weights. It also improves the efficiency of the code when using bilinear or patch between identical grids.
    • Expected bit-for-bit changes:
      • ESMF_REGRIDMETHOD_BILINEAR: small changes in regridding weights when a destination point exactly matches a source point.
      • ESMF_REGRIDMETHOD_PATCH: small changes in regridding weights when a destination point exactly matches a source point.

ESMF_8_1_0_beta_snapshot_20

ESMF_8_1_0_beta_snapshot_08

  • Commit: d28a0ddec035ea81c8ca29576d767ebf6968e1a7
    • Reason for change: This commit fixes a problem that could result in erroneously unmapped destinations when going from a very fine source grid to a coarse destination grid (e.g. 1/20 degree to 10x15 degree).
    • Expected bit-for-bit changes:
      • ESMF_REGRIDMETHOD_CONSERVE_2ND: roundoff level changes in weight values because of a change in the order of calculation.
      • All regrid methods: Missing weights being added for very fine source grid to coarse destination grid regridding cases as this fix comes into play.

ESMF_8_1_0_beta_snapshot_07

ESMF_8_0_0