Andy Porter

Results 756 comments of Andy Porter

> Aren't all `GH_WRITE` arguments declared as `intent(inout)`, since otherwise Fortran can decide to thrash any existing data, e.g. if an array is declared `intent(out)` but only partly written, the...

I think we are in agreement - you can ignore my suggestion :-)

I've hit this problem while attempting to port the NEMO (v5.xxx) sea-ice routines to GPU. The loops have a lot going on inside them and often there are arrays that...

The problem is, the 'new' metadata-handling classes are written such that they expect to be able to get everything out of the derived-type definition. Since a kernel interface is separate...

Another alternative for the metadata might be to have it capture the name of the interface associated with it, e.g.: module compute_mod type :: compute_type type(arg_type) :: meta_args(1) = (/arg_type(gh_field,...

Another alternative is simply to list *all* of the procedures that provide kernel implementations, e.g.: module compute_mod type :: compute_type type(arg_type) :: meta_args(1) = (/arg_type(gh_field, gh_real, gh_read, w3)/) procedure, nopass...

What do @TeranIvy and @christophermaynard think of my last suggestion?

Also,@mo-lottieturner has expressed an interest.

At the meeting today (01/03/24) we agreed to go with: ``` module compute_mod type :: compute_type type(arg_type) :: meta_args(1) = (/arg_type(gh_field, gh_real, gh_read, w3)/) procedure, nopass :: compute1_code, compute2_code end...

Documentation updated: