MPAS-Dev / MPAS-Model

Repository for MPAS models and shared framework releases.
239 stars 319 forks source link

Updated mpas_halo communication routines do not support integer fields #1178

Open theweathermanda opened 4 months ago

theweathermanda commented 4 months ago

I am in the process of modifying calls in mpas_pv_diagnostics.F to reflect the updated procedures for halo communication with groups. This is part of my broader effort to eventually integrate code that includes considerable modifications and improvements to the PV diagnostics module, which will be explained in more detail in an upcoming issue (per Michael Duda's guidance).

In either case, the preexisting PV diagnostics code and my updated code (which was written to be compatible with MPAS v7.3) are in need of modifications to reflect the new halo group structure. Problems arise in the floodFill_strato and floodFill_tropo subroutines because they feature halo communications of the following integer fields: inStrato, inTropo, and iLev_DT.

The compilation error I receive for MPAS v8.1.0 after adding the following to mpas_atm_halos.F is:

Code:

call mpas_halo_exch_group_create(domain, 'diagnostics:inStrato')
call mpas_halo_exch_group_add_field(domain, 'diagnostics:inStrato', 'inStrato', timeLevel=1, haloLayers=(/1,2/))
call mpas_halo_exch_group_complete(domain, 'diagnostics:inStrato')

Error in compile.log:

*** Using 'mpas_halo' routines for exchanging halos

CRITICAL ERROR: Unsupported field type for field inStrato