ESCOMP / CISM

Community Ice Sheet Model
GNU Lesser General Public License v3.0
6 stars 11 forks source link

Remove SLAP at some point #14

Open billsacks opened 6 years ago

billsacks commented 6 years ago

From @billsacks on August 9, 2016 22:7

SLAP is old code that causes problems, particularly with the NAG compiler. We'd like to remove it at some point - once we have removed glide from CISM.

This won't happen in the immediate future, but I'm opening this issue to keep track of specific things that should be done once we can remove SLAP.

Copied from original issue: E3SM-Project/cism-piscees#60

billsacks commented 6 years ago

Once we remove SLAP, we can remove this block from cime_config/cesm/machines/config_compilers.xml:

  <!-- The SLAP library (which is part of the CISM build) has many instances of
       arguments being passed to different types. So disable argument type
       checking when building CISM. This can be removed once we remove SLAP from
       CISM. -->
  <ADD_FFLAGS MODEL="cism"> -mismatch_all </ADD_FFLAGS>

(added in https://github.com/ESMCI/cime/pull/361)

billsacks commented 5 years ago

From @whlipscomb

For what it's worth, I'd like to continue including SLAP in the CISM build, at least for now, because it's handy to have a serial all-purpose matrix solver available. But I don't expect we'll ever upgrade it.

I'm going to keep this issue open, though, because SLAP is really a problematic piece of code that is non-standard-compliant. So it would be great if we could eventually replace it with something more modern and standard-compliant.

whlipscomb commented 5 years ago

I just did a quick web search and found something called DLAP: https://people.sc.fsu.edu/~jburkardt/f_src/dlap/dlap.html

I'm wondering if DLAP is intended to be the Fortran90 successor of SLAP. At some point we could look at it more closely, and see if it contains standard-compliant code that could be substituted for SLAP.