ClimateGlobalChange / tempestextremes

Extreme weather detection and characterization
86 stars 30 forks source link

QOL: ignore "buffer" cells in structured limited area domains upon data read #68

Open zarzycki opened 9 months ago

zarzycki commented 9 months ago

Regional models need LBCs -- many models have a transition/buffer zone (~5-10 cells) between domain edge that allows flow to be tapered into the free running mesh. Depending on numerics/diffusion, there is commonly some grid imprinting in this area -- if there are artifacts like checker boarding, TE could get tricked into thinking there are spurious local minima or maxima around the domain edges.

I am not 100% sure there is a consistent way to handle these from a data output/post-processing step, I have come across data that retains this zone and data that has deleted the zone.

Suggestion. Have an option in TE such as --remove_buffer N where N is an integer that just removes N cells from the left, top, bottom, and right sides of a 2-D domain when the data is loaded into TE. TE would then behave as if the user already shaved those cells off using NCO/CDO beforehand.

paullric commented 9 months ago

What if it’s an unstructured grid? How would TE know that there is a boundary?

On Jan 30, 2024, at 3:41 PM, zarzycki @.***> wrote:

Regional models need LBCs -- many models have a transition/buffer zone (~5-10 cells) between domain edge that allows flow to be tapered into the free running mesh. Depending on numerics/diffusion, there is commonly some grid imprinting in this area -- if there are artifacts like checker boarding, TE could get tricked into thinking there are spurious local minima or maxima around the domain edges.

I am not 100% sure there is a consistent way to handle these from a data output/post-processing step, I have come across data that retains this zone and data that has deleted the zone.

Suggestion. Have an option in TE such as --remove_buffer N where N is an integer that just removes N cells from the left, top, bottom, and right sides of a 2-D domain when the data is loaded into TE. TE would then behave as if the user already shaved those cells off using NCO/CDO beforehand.

— Reply to this email directly, view it on GitHub https://github.com/ClimateGlobalChange/tempestextremes/issues/68, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABIVPZB3SRWAM2QF72LCGN3YRGALJAVCNFSM6AAAAABCSDQANWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEYDQOJZHE3DKMA. You are receiving this because you are subscribed to this thread.

zarzycki commented 9 months ago

Not sure. Perhaps something from connectivity? E.g., if you have a hexagonal mesh, you can iteratively remove cells from the boundary by checking with cells have <= 5 neighbors? I guess that breaks for pentagons.

TBH, majority of regional data use cases will probably be structured (e.g., CORDEX, anything with WRF, etc.). Could essentially make "unstructured == true && remove_buffer >= 0" throw an error.