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

Add more possibilities to call ice4_stepping from ice4_pack #40

Open
SebastienRietteMTO opened this issue Sep 13, 2023 · 0 comments
Open
Assignees
Labels
enhancement New feature or request

Comments

@SebastienRietteMTO
Copy link
Collaborator

In mode_ice4_pack, we can compute the microphysics on a selection of points by packing them in new arrays before calling ice4_stepping (LPACK_MICRO=T) or call directly ice4_stepping on all the points (LPACK_MICRO=F).

On NEC, it could be more efficient to use indirection.

This issue describes how to implement an indirection mechanism in the LPACK_MICRO=.F. case. But this way of implementing it was not fully validated by Ryad.

  • compute an indirection array (INDIRARRAY), which will be given to ice4_stepping
  • in ice4_stepping and lower in the call tree, all "DO JL=1, KSIZE" loops will be transformed into
    "DO JLL=1,KSIZEINDIR; JL=INDIR(JLL, INDIRARRAY)"
  • the following piece of code will be included in the different files:
    #ifdef INDIR_MICRO
    #define INDIR(JLL, INDIRARRAY) INDIRARRAY(JLL)
    #else
    #define INDIR(JLL, INDIRARRAY) JLL
    #endif
@SebastienRietteMTO SebastienRietteMTO added the enhancement New feature or request label Sep 13, 2023
@SebastienRietteMTO SebastienRietteMTO self-assigned this Sep 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant