Skip to content

XIOS aborts during context initialisation due to undefined field - lfric_atm #773

Description

Version

main

Are there any linked Issues or Pull Requests?

No response

What happened?

During some experiments into XIOS XML settings, I turned on par_access="independent". This caused an error when running lfric_atm with oper_diags_hres optional configuration.

XIOS aborts during context initialisation with the following error:

In file "field.cpp", function "void xios::CField::solveGridReference()", line 1605
-> A grid must be defined for field '__field_undef_id_19' .

This presented in file_def_diags_ver.xml which references cloud__cloud_base_altitude (not defined in the current METADATA field definitions). Since this is a dangling field_ref, nothing is inherited, so XIOS cannot solve the grid reference.

I think commenting out the two references (lfric_ver_tp0 and lfric_ver field groups) rather than deleting them (so they can be restored if the diagnostic is added to METADATA) is probably the best way forward.

I also audited the remaining field_ref ids used by enabled files and this is the only missing one.

The same reference also exists in file_def_diags_ral.xml, file_def_diags_idealised.xml and file_def_diags_ls_and_jedi.xml. Those are not included by the affected iodef and are left unchanged, but will hit the same error if run against the lfric_atm metadata.

Relevant log output

In file "field.cpp", function "void xios::CField::solveGridReference()",  line 1605 -> A grid must be defined for field '__field_undef_id_19' .

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions