Nawajish Noman wrote:
Thanks for your quick response. I think we are okay for now. Just wanted
to clarify few things.
Yes, WRF has time dependent coordinates. We will use all three
dimensions to determine XLAT and XLONG.
Unfortunately WRF output does not use grid_mapping attribute to store
projection information, they use global attributes. We are not going to
rely on global attribute as a source of projection information.
So I have requested Wei Wang to add coordinates attributes so that we
can at least display data using longitude and latitude. I hope they do
good, i tried to get them to do that some years ago. the more feedback to them
the better. you can mention that you already do CF conventions, so why dont
they just do that?
Yes we will read new lat/long for each time step. So that is good.
Let me explain a user scenario here to clarify our assumption about the
last two dimensions.
In our tools we have parameters to specify X and Y dimensions (lon/lat
or X and Y axes) and dimension values (Time etc.)
The "Dimension values" is an optional parameter which could be left
blank which means we will use the 1st value of the dimension for the 1st
In the case where auxiliary coordinates have two dimensions such as:
User may specify X dimension = lon and Y dimension = lat. The "Dimension
values" could be empty or "lev" could be specified but that won't affect
the lat and lon values we get. In this case we are clear that T is
varying over lev.
In other case auxiliary coordinates have three dimensions such as:
float T(Time, bottom_top, south_north, west_east) ;
float XLAT(Time, south_north, west_east) ;
float XLONG(Time, south_north, west_east) ;
User may specify X dimension = XLONG and Y dimension = XLAT. If the user
specifies "Time" as the "Dimension values" parameter, which means the
variable T changes over Time, we will have no problem finding the right
set of XLONG and XLAT values for a specific time.
If the user leaves the "Dimension values" parameter empty then it's not
explicit that variable T is changing over the dimension 'Time'.
well, you can tell T varies over Time by seeing that T has the Time dimension
in its dimension list, ie T(Time, ...)
to assume something. We are assuming that user wants to use last two
dimensions to find a set of XLAT and XLONG values which changes over the
first dimension i.e. Time.
So we are assuming about the last two dimensions when user do not
specify "Dimension values" explicitly.
The reason we picked last two because I believe it is written somewhere
in the CF conventions that the dimension should be ordered from fastest
changing to slowest changing ... or something like that.
COARDS required a dimension ordering, but CF explicitly relaxed that. Still, if
you have to assume something, thats the common case.
I know I still did not explain it quite well. But as I said, it has more
to do with how user specifies parameters in our tool and leave the
"Dimension values" parameter to default. When user specifies every
parameter explicitly - things will be fine.
ok, at least it will work for pepole who know what they are doing!
It was a general question - not specific to WRF. When we create raster
we usually assume cell center. I hope it won't cause problem down the
Is there any attribute in the CF convention to state whether the point
is at the center of a cell or not? We can rely on that if necessary.
Yes, CF does, but im not sure of the details. You should probably post
questions to the cf mailing list; its good that the CF group knows what
problems real software has to deal with!