MetOffice / MetOffice/lfric_core
Document PSyKAl design and rules/guidance for writing kernels for users
@TeranIvy is already working on this.
Since Jun 28, 2024.
- Dominant language
- Fortran
- Stars
- 26
- Forks
- 73
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 4
Description
It seems that it is not completely clear to users, developers and reviewers of LFRic Core and Apps how to approach PSyKAl design and writing kernels. This PR adds this information in a practical guidance.
* Rules for types of kernels used in LFRic (some existing documentation is https://code.metoffice.gov.uk/trac/lfric/wiki/PSycloneTool/DevelopmentTips#KernRules and https://github.com/stfc/PSyclone/blob/master/tutorial/practicals/LFRic/building_code/1_simple_kernels/LFRic_kernel_structure.md).
* Rules and practical examples on how to determine PSyclone metadata for the type of arguments passed to kernels.
* Use of PSyclone-based tools to write a kernel (e.g. `psyclone-kern` and `psyclone` commands).
* Rules on passing arguments (Algorithm -> PSy layer -> Kernel) and what is allowed to call a kernel.
* Tips and tricks (e.g. access metadata and Fortran intent, how `nlayers` is determined).
* Handling missing PSyclone functionality via PSyKAl-lite code and raising PSyclone issues.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.