PSyclone
PSyclone copied to clipboard
Domain-specific compiler and code transformation system for Finite Difference/Volume/Element Earth-system models in Fortran
SymbolTable: imported symbol may be added to a table that does not include the originating container
Currently there's nothing stopping us adding a Symbol with an import interface to a table, even if that import interface refers to a ContainerSymbol that is not in that table...
Currently the dependence analysis cannot do anything with CodeBlock nodes. However, in many cases it should be possible to identify which symbols are read and which are written and that...
If a tl code uses allocate/deallocate e.g. `tl_poly1d_vert_w3_reconstruction_kernel_mod.F90`, then we can end up deallocating before subsequent accesses to the array if we follow the current rules.
Alex Brown has noticed that there is a problem with some LFRic intergrid kernels that map continuous (W2) fields between fine and coarse meshes. This seemed to happen when the...
In making lfric/eg14 work in #1669 I had to extend the `field%log_minmax` method to ensure that it brought data back from the GPU before doing the calculation. This needs doing...
Currently the psyclone-kern algorithm-generation functionality initialises every field argument that it finds to unity. However, LFRic kernels often have arguments that contain geometric information and this should be correctly set-up....
PSyAD will take a tangent linear code and produce a correct adjoint if the tangent linear code contains a stencil that is an active variable. However this stencil will be...
The line-by-line adjoint of a tangent linear kernel containing an active variable with a stencil will result in a gh_inc or gh_readwrite stencil access. This breaks the single column convention...
Currently, InlinedKern *has* a Schedule where, really, it ought to *be* a (subclass of) Schedule as that would then be consistent with a Routine.
While delivering training on the NEMO API, it has become clear that the use of 'invoke' language is just confusing since it is a hangover from the PSyKAl APIs. It...