While trying to understand how the component interfaces work, I noticed that ComponentInterfaces seems to assume the existence of a single exchange_grid,
https://github.com/NumericalEarth/NumericalEarth.jl/blob/main/src/EarthSystemModels/InterfaceComputations/component_interfaces.jl#L297
I think this will be problematic when adding land into the mix (#36), at least for some model configurations. More specifically, in the case where we have an Oceananigans-SpeedyWeather-Terrarium EarthSystemModel, it would make very little sense to exchange fluxes between the atmosphere and land using the ocean grid (currently the default for exchange_grid) since Speedy and Terrarium already operate on the same underlying grid structure (just using different Field types).
Of course, for Oceananigans-Breeze-Terrarium configurations this wouldn't be an issue since Terrarium could just use the same Oceananigans grid.
Nevertheless, I am wondering whether it would be a good idea to consider allowing for more than one exchange grid, at least one for atmosphere-ocean and atmosphere-land.
While trying to understand how the component interfaces work, I noticed that
ComponentInterfacesseems to assume the existence of a singleexchange_grid,https://github.com/NumericalEarth/NumericalEarth.jl/blob/main/src/EarthSystemModels/InterfaceComputations/component_interfaces.jl#L297
I think this will be problematic when adding land into the mix (#36), at least for some model configurations. More specifically, in the case where we have an Oceananigans-SpeedyWeather-Terrarium
EarthSystemModel, it would make very little sense to exchange fluxes between the atmosphere and land using the ocean grid (currently the default forexchange_grid) since Speedy and Terrarium already operate on the same underlying grid structure (just using differentFieldtypes).Of course, for Oceananigans-Breeze-Terrarium configurations this wouldn't be an issue since Terrarium could just use the same Oceananigans grid.
Nevertheless, I am wondering whether it would be a good idea to consider allowing for more than one exchange grid, at least one for atmosphere-ocean and atmosphere-land.