Open hiker opened 10 months ago
Hi Joerg, just to be clear, when you say "code block", do you mean UnknownFortranType
? If so, yes, this is expected. Currently an UnknownFortranType
includes the name of the variable being declared. This isn't ideal and there's an issue (somewhere) to tackle this. I think that in this case we would expect the UnknownFortranType. Usually the onus is then on the code encountering the type to decide whether to stop or attempt to manipulate it.
Sorry, yes, UnknownFortranType
(I just noticed that it contained the original string and just the wrong word).
This issue is not really urgent for the KernelExtraction. It comes from log_mod, so I will support ignoring this module (and ithis then avoids the issue that additional variables used in the declaration need to be extracted :) ).
LFRic's
log_mod
contains:This declaration is not understood, and results in a code block in the symbol table:
The end result is that the driver creation creates a variable
log_scratch_post
, which copies the declaration fromlog_scratch
, as shown in the debug output above.At code creation time, the plain code block is inserted, and instead of declaring
log_scratch_post
, it will (try to) declarelog_scratch
again (which is already imported from the original module).Is it expected that the declaration ends up in a code block (and if so, should I open a ticket in fparser)?