Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove SLAP at some point #14

Open
billsacks opened this issue Jul 6, 2018 · 3 comments
Open

Remove SLAP at some point #14

billsacks opened this issue Jul 6, 2018 · 3 comments

Comments

@billsacks
Copy link
Member

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
Copy link
Member Author

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 ESMCI/cime#361)

@billsacks
Copy link
Member Author

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
Copy link
Contributor

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.

billsacks added a commit that referenced this issue Jun 23, 2021
Last round of changes before the CISM release

This PR includes many changes in various parts of the code, in preparation for the CISM.1 public release. Among the major changes:

* Added a scheme to invert for basal traction parameters and basal melt rates.  This was the original purpose of the branch. But along the way, I made some general changes that were desirable for the release, and it would have been hard to separate those changes from the inversion scheme.  So I ended up keeping all the changes in one branch. The inversion scheme itself is not yet ready for release, but I organized the inversion calculations so that it will be straightforward to redact them.

* Set new default values of several options and parameters, including:
  - which_ho_assemble_taud/beta/bfric = 1 (local assembly)
  - which_ho_flotation_function = 2 (linear)
  - beta_grounded_min = 1 Pa/(m/yr)
  - basal_mbal = 1 (include bmlt in continuity)
  - upn = 3 (smallest value for which the model will run)
  - cliff_timescale = 10 yr (gradual rather than abrupt calving of marine cliffs)
  - pmp_offset = 5 deg (colder initial bed for spin-ups)

* Changed some config files of test cases to be consistent with new defaults; also removed '[DOME-TEST]' and similar headings that are no longer needed

* Added a calving_rate field, plus tavg fields for acab_applied, bmlt_applied, calving_rate

* Cleaned up various diagnostics; added an option to write mass budget terms in Gt/yr

* Reworked eigencalving and damage-based calving; eigencalving rates are now based on stresses instead of strain rates

* Simplified the calving interfaces and converted the calving module to SI units

* Changed the local assembly of taud and beta terms, to make the model more robust with less flickering at land-terminating margins

* Modified the hybrid gradient calculation to compute gradients at edges with ice-covered land above ice-free ocean; accordingly; the lateral shelf term at these edges was removed

* Modified the f_flotation calculation for ice-free land

Following this PR, various chunks of code related to inversion, the plume model, and the grounding-line parameterization will be redacted for the release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants