Exemplo n.º 1
0
static void g1_xy2fij(void* p, double x, double y, double* fi, double* fj)
{
    gnxy_simple* nodes = (gnxy_simple*) ((grid*) p)->gridnodes_xy;

    *fi = x2fi_reg(nodes->nx, nodes->x, x, nodes->periodic_x);
    *fj = x2fi_reg(nodes->ny, nodes->y, y, nodes->periodic_y);
}
Exemplo n.º 2
0
Arquivo: grid.c Projeto: sakov/enkf-c
static void gs_xy2fij(void* p, double x, double y, double* fi, double* fj)
{
    gnxy_simple* nodes = (gnxy_simple*) ((grid*) p)->gridnodes_xy;
    double lonbase = ((grid*) p)->lonbase;

    if (nodes->regular_x)
        *fi = x2fi_reg(nodes->nx, nodes->x, x, nodes->periodic_x);
    else
        *fi = x2fi_irreg(nodes->nx, nodes->x, nodes->xc, x, nodes->periodic_x, lonbase);
    if (nodes->regular_y)
        *fj = x2fi_reg(nodes->ny, nodes->y, y, 0);
    else
        *fj = x2fi_irreg(nodes->ny, nodes->y, nodes->yc, y, 0, NaN);
}