Use int64 to index arrays for Registry pack/unpack routines #1919
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.
This PR is ready to be merged
Feature or improvement description
Using int32 (IntKi) for indexing into arrays imposes a limit on the array size of approximately 2 billion elements. Most arrays in OpenFAST will never reach this size, but the
AllOutData
matrix which contains the output data for the entire simulation, and the byte buffer array used for packing and unpacking checkpoint data can exceed this size rather easily, which results in a crash. By using int64 (B8Ki) for indexing, far larger arrays may be used (2^63 elements). Which will eliminate crashing, but may cause OpenFAST to use all of the memory in the computer.Impacted areas of the software
openfast-registry
and all module_Types.f90
files includingNWTC_Library_Types.f90
andModMesh_Mapping.f90
Test results, if applicable
No test results were affected.