Handling first basis/differential basis array dimension for any_*_space
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
Research direction
Start with the kernel stub generator and the PSy layer handling of basis and differential-basis arrays for any_*_space. Read compute_total_aam_kernel_mod.F90 and compare its hard-coded first dimension with the generated allocation example in the issue. Done requires a decided approach for passing or hard-coding the dimension in PSy, kernels, and stub-generator naming, including any required LFRic changes.
Written by the indexing model from the issue text.
Description
Kernel stub generator does not support basis/differential basis function arrays on any_*_space because it is not possible to explicitly determine the first array dimension (1 for scalar function spaces and 3 for vector function spaces). PSy layer obtains it from the LFRic infrastructure, e.g.
dim_any_space_9_chi = chi_proxy(1)%vspace%get_dim_space()
ALLOCATE (basis_any_space_9_chi_qr(dim_any_space_9_chi, ndf_any_space_9_chi, np_xy_qr, np_z_qr))
but does not pass it to kernels. Also, the first array dimension is currently hard-coded in LFRic kernels even when they use any_space metadata for fields (e.g. compute_total_aam_kernel_mod.F90).
The question is how to handle the first dimension in
a) PSy layer - pass or not (requires LFRic changes)
b) Kernels - pass or hardcode (requires LFRic changes)
c) Stub generator - how to name it for generation.
- Dominant language
- Python
- Stars
- 137
- Forks
- 36
- Avg merge
- 6d 16h
- Merged PRs (30d)
- 18
Contributor guide
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.
More from stfc/PSyclone
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
frontend: add support for ALOG, ALOG10 and IDInt intrinsics. Specify FLOAT as available on GPU. Openenhancement PSyIR
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
NEMO
Difficulty 1/5 Under an hour Newbie friendliness 65/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100