⇐ ⇒

[CF-metadata] bounds

From: Jonathan Gregory <j.m.gregory>
Date: Fri, 20 Jun 2003 16:40:36 +0100

Dear Brian

Well, I think we do almost agree! Not quite, though.

> trying to classify grids by an "underlying x-y
> arrangement". We do not resort to such language in the current CF document
> when describing the use of 2-D lat/lon arrays for grid coordinates.

Yes, I agree. However, what I meant by that phrase is implied what you have
said at the start of (3) i.e. there are 2D lat and lon variables and the cells
have four sides.

I agree with what you have said except the requirement in (3) for them to
be contiguous. The test you give indicates whether they are contiguous. It's
well defined how to test it in this case. There might still be 4-sided cells
in 2D arrays and not be contiguous if there was a row or column "missing".
This is just an extension of the 1D case and it makes the contiguousness test
useful, because *some* of the rows and columns may be contiguous, others not.

Consider this situation: suppose you did have a 2D grid completely covering the
plane and then you removed one row from the middle of the rows. Your statement
would imply you'd have to rearrange all the bounds from (3) to (4) just because
of that. I think it is simpler and better to leave them as (3) and just drop the
single row from the bounds. The test will detect where a row is missing.

> (3) In the case where the horizontal grid is described by two-dimensional
> coordinate variables lat(N,M) and lon(N,M), and the associated cells
> are 4 sided, then the boundary variables are given in
> the form latbnd(N,M,2,2) and lonbnd(N,M,2,2) rather than in variables
> that use only a single dimension for the cell vertices. The contiguity
> of the cells implies the following equalities:

> For 0 < j < N and 0 < i < M

I would state the tests as follows, which seems a bit simpler to me

If cells (j,i) and (j,i+1) are contiguous, then

bnd(j,i,0,1)=bnd(j,i+1,0,0) and bnd(j,i,1,1)=bnd(j,i+1,1,0)

If cells (j,i) and (j+1,i) are contiguous, then

bnd(j,i,1,0)=bnd(j+1,i,0,0) and bnd(j,i,1,1)=bnd(j+1,i,0,1)

> where bnd stands for either latbnd or lonbnd.

Best wishes

Jonathan
Received on Fri Jun 20 2003 - 09:40:36 BST

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:40 BST

⇐ ⇒