Reassembling a domain-wide array within the code

Jeff_Duda

New member
I am in the microphysics driver and I wish to re-assemble the full domain size of a few arrays (like precipitation). What is the best way to handle this in this context? I understand I need to use the "ids/ide" etc. values, but I imagine that re-assembling a full-domain array would look something like this:

IF (processor number is held constant) THEN
DO ij = 1, num_tiles
array(tile_its:tile_ite,tile_jts:tile_jte) = array_on_this_tile
END DO
END IF

But what specific variables in the code hold this information? I see print outs of "num_tiles" and they're all 1, so that can't be what I need.

Or do I not even need the DO loop (due to the broader structure of how the microphysics_driver code is called...already in a tiled mode)?

Please advise. Thanks.
 
As a follow-up (and since I have not been able to find a solution yet), what I have done instead to get the ultimate result I want (which is to track the domain max of a precip diagnostic array, as well as its location) is to print the array max and location in the microphysics_driver code with the understanding that the value it gives is local to that tile. Thankfully, the PRINT statements will apply to every single tile so that they appear in the rsl.out.* files.

So I wrote a Python script to read all of the rsl.out.* text files and extract the statistics, then use logic to determine which is the domain-max. This works, but it is also cumbersome. Clearly it would be preferable to find a way to do this within the model code.
 
Back
Top