Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workaround for Cray compiler bug involving NULL() intrinsic #1560

Merged
merged 4 commits into from
Oct 31, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions diag_manager/fms_diag_object.F90
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@ integer function fms_register_diag_field_obj &
integer, allocatable :: file_ids(:) !< The file IDs for this variable
integer :: i !< For do loops
integer, allocatable :: diag_field_indices(:) !< indices where the field was found in the yaml
class(diagDomain_t), pointer :: null_diag_domain => NULL() !< Workaround for a Cray bug which will be fixed in CCE 19
#endif
#ifndef use_yaml
fms_register_diag_field_obj = DIAG_FIELD_NOT_FOUND
Expand Down Expand Up @@ -267,7 +268,7 @@ integer function fms_register_diag_field_obj &
call fileptr%add_field_and_yaml_id(fieldptr%get_id(), diag_field_indices(i))
call fileptr%add_buffer_id(fieldptr%buffer_ids(i))
if(fieldptr%get_type_of_domain() .eq. NO_DOMAIN) then
call fileptr%set_file_domain(NULL(), fieldptr%get_type_of_domain())
call fileptr%set_file_domain(null_diag_domain, fieldptr%get_type_of_domain())
else
call fileptr%set_file_domain(fieldptr%get_domain(), fieldptr%get_type_of_domain())
endif
Expand All @@ -284,7 +285,7 @@ integer function fms_register_diag_field_obj &
call fileptr%add_buffer_id(fieldptr%buffer_ids(i))
call fileptr%init_diurnal_axis(this%diag_axis, this%registered_axis, diag_field_indices(i))
if(fieldptr%get_type_of_domain() .eq. NO_DOMAIN) then
call fileptr%set_file_domain(NULL(), fieldptr%get_type_of_domain())
call fileptr%set_file_domain(null_diag_domain, fieldptr%get_type_of_domain())
else
call fileptr%set_file_domain(fieldptr%get_domain(), fieldptr%get_type_of_domain())
endif
Expand Down
Loading