This PR optimizes function create_xgrid_great_circle to use the search tree. I was optimized in a manner similar to create_xgrid_2dx2d_order{1|2}. (Between them, three of the four paths that fregrid uses to create weights file, what remains to be optimized is the bilinear interpolation path).
Also, we remove a few pieces of dead code that was intended for the AIX OS and which should not be
needed in C++.
As in the previous related enhancements, the changes were tested for exact reproduction of baseline results in creating weight files for mapping, including remapping cubed sphere grid to RLL grid, RLL grid to RLL grid, and tripolar grids to RLL grids.
Mote that to test, one has to make grids (possibly through make_hgrid) with the option --great_circle_algorithm (otherwise the paths for conservative order1 or conservative order2 will be followed by fregrid).
This all looks well and fine to me. And particularly since it's a merge to a dev branch, as pointed out to me by rem1776, I'm inclined to simply approve.
This PR optimizes function create_xgrid_great_circle to use the search tree. I was optimized in a manner similar to create_xgrid_2dx2d_order{1|2}. (Between them, three of the four paths that fregrid uses to create weights file, what remains to be optimized is the bilinear interpolation path).
Also, we remove a few pieces of dead code that was intended for the AIX OS and which should not be needed in C++.
As in the previous related enhancements, the changes were tested for exact reproduction of baseline results in creating weight files for mapping, including remapping cubed sphere grid to RLL grid, RLL grid to RLL grid, and tripolar grids to RLL grids. Mote that to test, one has to make grids (possibly through make_hgrid) with the option --great_circle_algorithm (otherwise the paths for conservative order1 or conservative order2 will be followed by fregrid).