Draft
Conversation
GCC was updated from 13.x to 14.x to allow for passing a factory procedure with a polymorphic function result to each test case subroutine. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118372 for more details.
402b9db to
700c8c4
Compare
700c8c4 to
ec42d55
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sub-dividing the grid based on the number of MPI ranks available is key to enabling parallelism in CABLE. This change achieves this by introducing several new local structure variables to describe the grid information local to the current MPI rank. These are
mp,mland,land_x,land_y,land_decomp_start,land_decomp_end,patch_decomp_start,patch_decomp_endandlandpt. Global structure variables are also introduced to describe the grid of the global simulation domain, irrespective of the current MPI rank, as this information is necessary for deriving several local structure variables and for generating parallel I/O decompositions. These aremland_global,land_x_global,land_y_global,mp_globalandlandpt_global.This change also updates constant arrays which are initialised in
open_met_fileto be stored on the global land grid on each MPI rank. This is required for correctly initialising global structure variables such aslandpt_globalwhich is dependent on the latitude and longitude coordinates of each grid cell in the global simulation domain. These variables are:cable_iovars.F90:latitude(mland_global)cable_iovars.F90:longitude(mland_global)cable_iovars.F90:vegtype_metfile(mland_global, nmetpatches)cable_iovars.F90:vegpatch_metfile(mland_global, nmetpatches)cable_iovars.F90:soiltype_metfile(mland_global, nmetpatches)cable_iovars.F90:PrecipScale(mland_global)cable_input.F90:elevation(mland_global)cable_input.F90:avPrecip(mland_global)Note that for the legacy MPI case, the MPI group used to initialise the structure variables on the master driver will always be a single rank group as the master driver will only perform serial I/O.
This change should go in after #706.
Type of change
Please delete options that are not relevant.
Checklist
Testing
Are the changes bitwise-compatible with the main branch? If working on an optional feature, are the results bitwise-compatible when this feature is off? If yes, copy benchcab output showing successful completion of the bitwise compatibility tests or equivalent results below this line.
Are the changes non bitwise-compatible with the main branch because of a bug fix or a feature being newly implemented or improved? If yes, add the link to the modelevaluation.org analysis versus the main branch or equivalent results below this line.
Please add a reviewer when ready for review.
📚 Documentation preview 📚: https://cable--712.org.readthedocs.build/en/712/