earth-system-radiation/rte-rrtmgp

bug in branch icon-integration

Closed this issue · 3 comments

There are folders rte-rrtmgp/rte/kernels, rte-rrtmgp/rte/kernels-openacc and
rte-rrtmgp/rrtmgp/kernels, rte-rrtmgp/rrtmgp/kernels-openacc
The problem is that there is no file mo_rrtmgp_util_reorder_kernels.F90
in the rte-rrtmgp/rrtmgp/kernels-openacc folder but it is used by mo_rrtmgp_util_reorder.F90 of rte-rrtmgp/rrtmgp/.

Similarly, mo_fluxes_broadband_kernels.F90 resides in rte/kernels, but not in rte/kernels-openacc, but is used in mo_fluxes.F90 that is compiled in both cases...
PR#50

@rast-js To clarify, the issue arises because some kernel modules have different implementations for OpenACC, while some kernel modules have a single set of source code that may or may not include OpenACC directives.

Within my own build system this is handled by using VPATH and prepending the OpenACC directories if they're used. This means that make will find the OpenACC versions of the kernels first.

To the extent possible I'd like to maintain a single set of source code. I'm not thrilled about the solution proposed in #50 because it seems to be asking me to reorganize the code to handle an awkwardness in ICON's make system. I'm not ruling it out but asking you and @antarcticrainforest to see if alternatives exist.

@rast-js Can you confirm that you solved this on the ICON side and that I can close this issue and pull request #50 ?

I believe this was solved on the ICON side.