ufs-community / UFS_UTILS

Utilities for the NCEP models.
Other
21 stars 104 forks source link

grid_tiles length in sfc_climo_gen.fd/model_grid.F90 #433

Closed JosephMouallem closed 2 years ago

JosephMouallem commented 3 years ago

The length of grid_tiles in sfc_climo_gen.fd/model_grid.F90 is currently 5 which doesn't support a grid_tiles number > 9 for instance 'tile10' will be 'tile1'. An easy fix is to increase this values in that routine but then this causes some out_files naming issues in output.f90

JosephMouallem commented 3 years ago

Same in chgres_cube.fd/model_grid.F90

GeorgeGayno-NOAA commented 3 years ago

Why do you require more than nine tiles? What project requires this?

JosephMouallem commented 3 years ago

Hi George,

This is to support multiple nests for the hurricane supplemental project (GFDL, AOML, ...)

BinLiu-NOAA commented 3 years ago

@JosephMouallem and @GeorgeGayno-NOAA, Just FYI, in the HAFS application/workflow system, @wramstrom and I have been able to run chgres_cube and sfc_climo_gen to produce initial conditions and surface climatology files for more than 10 tiles (e.g., global 6 tiles with 6 nested domains). All the changes for chgres_cube and sfc_climo_gen needed are just for driver scripts. Basically, one can just loop through those individual nests one by one when generating IC and sfc_fix files.

BinLiu-NOAA commented 3 years ago

In the meantime, if there are easy ways to implement/support more tiles directly in the source code. That might also be useful! Thanks!

edwardhartnett commented 3 years ago

How is this change going to be tested?

GeorgeGayno-NOAA commented 3 years ago

In the meantime, if there are easy ways to implement/support more tiles directly in the source code. That might also be useful! Thanks!

The ESMF regridding only works for a global grid of six tiles or a single nest. It can't process a global domain with a nest(s). So processing the global grid and the nests separately is the only solution I can think of.

But that is a separate issue from the tile number. Do you need to feed chgres a nested domain that has a tile number greater than 9?

JosephMouallem commented 3 years ago

I am looping over the individual nests one by one; however each nest has its own mosaic file and these routines will read the tile name and info from the corresponding mosaic file (for instance C48_nested06_mosaic.nc has –tile_file C48_grid.tile11.nc which will be read as tile1)

BinLiu-NOAA commented 3 years ago

@JosephMouallem You can treat every nested or regional domain as tile7 when doing chgres_cube and sfc_climo_gen step. You can do the renaming in the scripts before and afterwards to whatever needed by the model. Just my 2 cents.

JosephMouallem commented 3 years ago

Hi Bin, Thanks! I have already changed the source code some time ago to accommodate this and renamed the output files for global and nested grids. I will follow your method if I run into issues. Thanks!

GeorgeGayno-NOAA commented 2 years ago

Sounds like there is a way to process tile numbers >9 via scripting. Will close this for now.