namespace mom_hor_index¶
Overview¶
Defines the horizontal index type (hor_index_type) used for providing index ranges. More…
namespace mom_hor_index { // interfaces interface assignment(=); // global functions subroutine, public hor_index_init( Domain Domain, HI HI, param_file param_file, local_indexing local_indexing, index_offset index_offset ); } // namespace mom_hor_index
Detailed Documentation¶
Defines the horizontal index type (hor_index_type) used for providing index ranges.
The hor_index_type provides the decalarations and loop ranges for almost all data with horizontal extent.
Declarations and loop ranges should always be coded with the symmetric memory model in mind. The non-symmetric memory mode will then also work, albeit with a different (less efficient) communication pattern.
Using the hor_index_type HI:
declaration of h-point data is of the form
h(HI%isd:HI%ied,HI%jsd:HI%jed)
declaration of q-point data is of the form
q(HI%IsdB:HI%IedB,HI%JsdB:HI%JedB)
declaration of u-point data is of the form
u(HI%IsdB:HI%IedB,HI%jsd:HI%jed)
declaration of v-point data is of the form
v(HI%isd:HI%ied,HI%JsdB:HI%JedB)
.
For more detail explanation of horizontal indexing see Horizontal indexing and memory.
Global Functions¶
subroutine, public hor_index_init( Domain Domain, HI HI, param_file param_file, local_indexing local_indexing, index_offset index_offset )
Sets various index values in a hor_index_type.
Parameters:
domain |
The MOM domain from which to extract information. |
hi |
A horizontal index type to populate with data |
param_file |
Parameter file handle |
local_indexing |
If true, all tracer data domains start at 1 |
index_offset |
A fixed additional offset to all indices |