Updated Field API variants of the clouds dwarf (CPU and GPU) #96
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 is an update of the Field API variants of cloudsc that aims to resemble the use of Field API in the IFS more closely than before. This includes the addition of a new global state type for the Field API variants:
CLOUDSC_FIELD_STATE_TYPE
and three types for aux vars, fluxes and tendencies that resemble similar types in the IFS:CLOUDSC_AUX_TYPE
CLOUDSC_FLUX_TYPE
CLOUDSC_STATE_TYPE
There has also been updates to the build structure, that makes it possible to build the CPU Field API version without OpenACC or CUDA and to build the GPU Field API version without CUDA support. The following ecbuild_options have been added to support this:
with-field-api
enables field-api variants to be builtwith-mapped-fields
builds field-api variants with field pointers automatically by OpenACC to device (requires OpenACC and CUDA)with-pinned-fields
builds field-api variants with fields allocated in pinned memory (requires OpenACC and CUDA)