This PR adds the ability to use the local Rossby radius in the calculation of the horizontal correlation lengths. The following options are now added to the yaml, with their default values shown.
correlation lengths:
base value: 0.0
rossby mult: 0.0
min grid mult: 0.0
min value: 0.0
max value: 1.79769e+308
correlation lengths are equal to base_value + rossby_mult * rossby_radius, and are then clamped to be no smaller than min_value and min_grid_mult * grid_box_size, and no larger than max_value.
a text file rossby_radius.dat is added with the Rossby radius data
that file is read in by Geometry and interpolated to the grid
because the existing interpolation wasn't working (the oops interpolation assumes each PE has separate sections of lat/lon that need to be combined, and the atlas interpolation doesn't work on > 1 PE) I implemented a kd-tree based n-nearest neighbor inverse distance weighted interpolation interpToGeom(). We could, in the future, use this interpolation for other files we need to load in, including reading in a background that is not on the grid.
@loganchen39 For your cycling experiments, I would start off with the values I have placed in the cycling/config/staticbinit.yaml file, which will use the Rossby radius as the correlation length, with a minimum value in the extratropics that are slightly larger than an individual gridbox.
This PR adds the ability to use the local Rossby radius in the calculation of the horizontal correlation lengths. The following options are now added to the yaml, with their default values shown.
correlation lengths are equal to
base_value + rossby_mult * rossby_radius
, and are then clamped to be no smaller thanmin_value
andmin_grid_mult * grid_box_size
, and no larger thanmax_value
.rossby_radius.dat
is added with the Rossby radius dataGeometry
and interpolated to the gridoops
interpolation assumes each PE has separate sections of lat/lon that need to be combined, and theatlas
interpolation doesn't work on > 1 PE) I implemented a kd-tree based n-nearest neighbor inverse distance weighted interpolationinterpToGeom()
. We could, in the future, use this interpolation for other files we need to load in, including reading in a background that is not on the grid.@loganchen39 For your cycling experiments, I would start off with the values I have placed in the
cycling/config/staticbinit.yaml
file, which will use the Rossby radius as the correlation length, with a minimum value in the extratropics that are slightly larger than an individual gridbox.