-
Notifications
You must be signed in to change notification settings - Fork 0
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
Gcc 7 4 0 patch #2
Gcc 7 4 0 patch #2
Conversation
Codecov Report
@@ Coverage Diff @@
## tc4_fix #2 +/- ##
===========================================
- Coverage 44.69% 44.69% -0.01%
===========================================
Files 212 212
Lines 62244 62237 -7
===========================================
- Hits 27823 27815 -8
- Misses 34421 34422 +1
Continue to review full report at Codecov.
|
I just tested this on my laptop and the energies are identical, but I'm seeing differences in the other fields:
Specifically the last three, Are you also seeing this, or is it just on my end? |
A fix to opening an existing file in MOM_file_parser was added. If an open file is re-opened, then the root PE will detect this and `return`, but the others will proceed into `populate_param_data` and get stuck in a broadcast waiting for root. We fix this by gathering the logical test result over PEs as a global any() function. Leading to change #2... `any_across_PEs` and `all_across_PEs` have been added to MOM_coms as any/all implementations over PEs (i.e. MPI ranks). Since legacy FMS does not support logical collectives, we convert to integers and use min/max collectives as an equivalent test.
A fix to opening an existing file in MOM_file_parser was added. If an open file is re-opened, then the root PE will detect this and `return`, but the others will proceed into `populate_param_data` and get stuck in a broadcast waiting for root. We fix this by gathering the logical test result over PEs as a global any() function. Leading to change #2... `any_across_PEs` and `all_across_PEs` have been added to MOM_coms as any/all implementations over PEs (i.e. MPI ranks). Since legacy FMS does not support logical collectives, we convert to integers and use min/max collectives as an equivalent test.
A fix to opening an existing file in MOM_file_parser was added. If an open file is re-opened, then the root PE will detect this and `return`, but the others will proceed into `populate_param_data` and get stuck in a broadcast waiting for root. We fix this by gathering the logical test result over PEs as a global any() function. Leading to change #2... `any_across_PEs` and `all_across_PEs` have been added to MOM_coms as any/all implementations over PEs (i.e. MPI ranks). Since legacy FMS does not support logical collectives, we convert to integers and use min/max collectives as an equivalent test.
A fix to opening an existing file in MOM_file_parser was added. If an open file is re-opened, then the root PE will detect this and `return`, but the others will proceed into `populate_param_data` and get stuck in a broadcast waiting for root. We fix this by gathering the logical test result over PEs as a global any() function. Leading to change #2... `any_across_PEs` and `all_across_PEs` have been added to MOM_coms as any/all implementations over PEs (i.e. MPI ranks). Since legacy FMS does not support logical collectives, we convert to integers and use min/max collectives as an equivalent test.
A fix to opening an existing file in MOM_file_parser was added. If an open file is re-opened, then the root PE will detect this and `return`, but the others will proceed into `populate_param_data` and get stuck in a broadcast waiting for root. We fix this by gathering the logical test result over PEs as a global any() function. Leading to change #2... `any_across_PEs` and `all_across_PEs` have been added to MOM_coms as any/all implementations over PEs (i.e. MPI ranks). Since legacy FMS does not support logical collectives, we convert to integers and use min/max collectives as an equivalent test.
A fix to opening an existing file in MOM_file_parser was added. If an open file is re-opened, then the root PE will detect this and `return`, but the others will proceed into `populate_param_data` and get stuck in a broadcast waiting for root. We fix this by gathering the logical test result over PEs as a global any() function. Leading to change #2... `any_across_PEs` and `all_across_PEs` have been added to MOM_coms as any/all implementations over PEs (i.e. MPI ranks). Since legacy FMS does not support logical collectives, we convert to integers and use min/max collectives as an equivalent test.
A fix to opening an existing file in MOM_file_parser was added. If an open file is re-opened, then the root PE will detect this and `return`, but the others will proceed into `populate_param_data` and get stuck in a broadcast waiting for root. We fix this by gathering the logical test result over PEs as a global any() function. Leading to change #2... `any_across_PEs` and `all_across_PEs` have been added to MOM_coms as any/all implementations over PEs (i.e. MPI ranks). Since legacy FMS does not support logical collectives, we convert to integers and use min/max collectives as an equivalent test.
Two changes, one an iterative improvement, the other a hack to get things running. 1. The get_file_fields has been rewritten to fetch both axes and fields, and there is some minimal effort to distinguish between them when sweeping through variables. The results are then populated into the linked lists of the handle. Two caveats: - it's untested, probably not even working - we don't even use this function anymore, see change #2 2. get_file_info now just returns -1 for nvars. Why? because previously FMS would initialize its nvar to -1, and if you query a newly opened file then this is what you see. That was an indicator to "recreate" the file (actually its metadata, which pulls from existing templates and now matches the opened file). To spoof this, I just always return -1 and trigger this "recreate" effect. I can do this because the file metadata is static across runs. Not robust, but it makes sense in a perverse way... I will try to make this work honestly, so that get_file_fields will return the correct content. But for now this feels sufficient.
Two changes, one an iterative improvement, the other a hack to get things running. 1. The get_file_fields has been rewritten to fetch both axes and fields, and there is some minimal effort to distinguish between them when sweeping through variables. The results are then populated into the linked lists of the handle. Two caveats: - it's untested, probably not even working - we don't even use this function anymore, see change #2 2. get_file_info now just returns -1 for nvars. Why? because previously FMS would initialize its nvar to -1, and if you query a newly opened file then this is what you see. That was an indicator to "recreate" the file (actually its metadata, which pulls from existing templates and now matches the opened file). To spoof this, I just always return -1 and trigger this "recreate" effect. I can do this because the file metadata is static across runs. Not robust, but it makes sense in a perverse way... I will try to make this work honestly, so that get_file_fields will return the correct content. But for now this feels sufficient.
Commit #1 --------- Removes calls to mpp_open, and replaces then with FATAL MOM_error calls when present. This also introduces the idea where only domain-decomposed files are used with infra IO. I've floated this idea a few times and people seem supportive, but it may not necessarily be embraced by everyone. Also moves Vertical_coordinate.nc from infra to native netCDF. This is primarily a trial balloon to see how the regression suite holds up. Commit #2 --------- mpp_open removal This formally removes the mpp_open functions, along with the FMS_writes control flag. Hopefully there is nothing much interesting here. Also removed open_file_unit since it's no longer used, and renamed open_file_type to open_file since the interface serves no purpose.
Commit #1 --------- Removes calls to mpp_open, and replaces then with FATAL MOM_error calls when present. This also introduces the idea where only domain-decomposed files are used with infra IO. I've floated this idea a few times and people seem supportive, but it may not necessarily be embraced by everyone. Also moves Vertical_coordinate.nc from infra to native netCDF. This is primarily a trial balloon to see how the regression suite holds up. Commit #2 --------- mpp_open removal This formally removes the mpp_open functions, along with the FMS_writes control flag. Hopefully there is nothing much interesting here. Also removed open_file_unit since it's no longer used, and renamed open_file_type to open_file since the interface serves no purpose.
Commit #1 --------- Removes calls to mpp_open, and replaces then with FATAL MOM_error calls when present. This also introduces the idea where only domain-decomposed files are used with infra IO. I've floated this idea a few times and people seem supportive, but it may not necessarily be embraced by everyone. Also moves Vertical_coordinate.nc from infra to native netCDF. This is primarily a trial balloon to see how the regression suite holds up. Commit #2 --------- mpp_open removal This formally removes the mpp_open functions, along with the FMS_writes control flag. Hopefully there is nothing much interesting here. Also removed open_file_unit since it's no longer used, and renamed open_file_type to open_file since the interface serves no purpose.
No description provided.