Re: [CF-metadata] [cf-convention/cf-conventions] Reference UGRID conventions in CF (#153)

2021-07-21 Thread Patrick Peglar
> From the data model perspective, there needs to be SOME way to define the 
> connectivity. how it's done is a matter of the "encoding", yes?

Yes, that is what I was "trying" to say !


> ?? -- but does X connect to Y is the key concept we are trying to capture 
> here.
>  in "lay" terms, I might say something like: ...

All agreed, absolutely
I was just trying to express that I think the two descriptions **_are_** 
compatible, and in fact basically mean the same thing.


I **_think_** the key point is that how UGRID actually organises things (what I 
termed "encoding") is **_not_** the same terminology in which the CF datamodel 
description is decribed.  
So, we do need to be confident that they are _equivalent_, but that also means 
exploring the  rules and constraints which are part of the description (on 
either side of the fence).

If I read correctly what has been said here ...
The CF datamodel only states that the connectivity relation must be symmetrical 
: "If A connects to B, then B connects to A".
It also describes such relations only on one "domain axis". 

My ouststanding concern is that UGRID does define additional information 
structures (and governing "rules") which the CF 'domain' model has no interest 
in.

(1) Firstly, a UGRID mesh with multiple locations relates to multiple 
domain-axes in CF 
That can "work", because any data-variable can only reference **_one_** of 
them,  as described :
> we have no use case for two or more topology constructs, each of which 
> applies to a single unique domain axis, and in fact we have no way of 
> encoding it, so that case should indeed be excluded.

So, the CF 'topology construct' can only be atttached to a single domain axis 
of a domain.
That means that UGRID data which maps to a different mesh location is modelled 
as belonging to a separate, independent "domain".
This seems okay for now, but it means of course that the CF decsription has no 
concept of the intercoupled nature of the different locations.

(2) likewise, the CF description has no place for the cross-location 
connectivities (like face-edge-connectivity)

So, I'm not sure where any of that might become practically relevant, but I'm 
still a little worried that they aren't really describing the same ideas with 
the same range of possibilities.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://urldefense.us/v3/__https://github.com/cf-convention/cf-conventions/issues/153*issuecomment-884008101__;Iw!!G2kpM7uM-TzIFchu!heMcp7OrldjJzmI0l-rXlmXX4p2RCrOo9OpiNkaQZTwht7eRpskqRdQyuPdtJH2KB__v_BpyEc0$
 
This list forwards relevant notifications from Github.  It is distinct from 
cf-metad...@cgd.ucar.edu, although if you do nothing, a subscription to the 
UCAR list will result in a subscription to this list.
To unsubscribe from this list only, send a message to 
cf-metadata-unsubscribe-requ...@listserv.llnl.gov.


Re: [CF-metadata] [cf-convention/cf-conventions] Reference UGRID conventions in CF (#153)

2021-07-19 Thread Patrick Peglar
> It sounds like we agree that the domain could have multiple topologies (as 
> opposed to topology constructs). It's a good point that we have no use case 
> for two or more topology constructs, each of which applies to a single unique 
> domain axis, and in fact we have no way of encoding it, so that case should 
> indeed be excluded.

As with @ChrisBarker-NOAA , I'm not truly confident that I know what this 
really means + intends.

However, another thing that has been bothering me in this, is a possible lack 
of "symmetry" in the relationship between the CF and UGRID views of these 
definitions.  
In UGRID, what we might call the "reflexive" connectivities, i.e. face-face / 
edge-edge / node-node, are only a _part_ of the possible information -- but 
with the current statement, it seems that these are the **_only_** part of it 
that the CF datamodel will concern itself with.  
So, as this only constrains (or describes) properties of a _part_ of the UGRID 
information, I'm a bit worried if this could be an omission -- which in turn 
could require further amendments at some future time ?

If I've understood the above, then it means we are also proposing a limited 
_type_ of "topology constructs" : that only relates one of (possibly multiple) 
toplogies to itself.  
In which case... what is being "excluded" is (a) any more than one 
topology-construct, defined on a given domain, and also (b) any (hypothetical) 
topology-construct that would carry a relationship between two _different_ 
topologies of a domain.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://urldefense.us/v3/__https://github.com/cf-convention/cf-conventions/issues/153*issuecomment-882641160__;Iw!!G2kpM7uM-TzIFchu!hUQFGCaTweQZzDhEFeXyOCF-ZM4yCAdi1HdMhZp-d-msusDGMdf9kT9XXJ3IUn35aoT6DXvVkYs$
 
This list forwards relevant notifications from Github.  It is distinct from 
cf-metad...@cgd.ucar.edu, although if you do nothing, a subscription to the 
UCAR list will result in a subscription to this list.
To unsubscribe from this list only, send a message to 
cf-metadata-unsubscribe-requ...@listserv.llnl.gov.


Re: [CF-metadata] [cf-convention/cf-conventions] Reference UGRID conventions in CF (#153)

2021-07-01 Thread Patrick Peglar
Hi, sorry to be late to the table with this issue, but I have been listening in 
here a while, in hopes of understanding better and maybe contributing.

I think that I may have spotted a potential problem with the removal of 
'cf_role' :
As stated (above), the role of a mesh-variable is identifiable by its having a 
'topology_dimension' attribute, but **_the same is not true of a 
location-index-set_** :  
So, if we include an index set in a "mesh only file" (aka "meshfile" or 
"gridfile" in some quarters), then we will be unable to distinguish it from a 
data-variable.
This in turn implies that when loading a file, we would need to "know" whether 
it was intended to be a "mesh file" or a "normal datafile" as you can't 
determine that by inspection. 

( This problem is entirely analagous to an existing problem with 
auxiliary-coordinates in standard CF :  If the data-variable which references 
them is removed, then they are not distinguishable from data-variables -- so 
they "become" variables )

Our context : Here at the UK MetOffice, we are working to support unstructured 
data within Iris, [using UGRID as the template for our internal 
data-model](https://urldefense.us/v3/__https://scitools-iris.readthedocs.io/en/mesh-data-model/generated/api/iris/experimental/ugrid.html__;!!G2kpM7uM-TzIFchu!gI2poPff_xwfIpnQMVw6F_zs4v2r3s3F4jWKcIS2Wef7scNBlJ8EEWlts5nRZ3b4KwzlqWjLQmM$
 ) (as we already do for CF).
Locally, we have a particular interest in the use of location-index-sets, and 
we are also intending to use "mesh files" i.e. files with only the mesh 
structure and no data.

Also, our practical experience in tools development and support shows that 
files that do not fully comply with conventions are, sadly, just not that 
uncommon even in the respected international archives.
Thus, just as Iris has to somehow handle files with invalid standard-names and 
units, or mis-specified grid-mappings, so our trial UGRID files suffer from 
problems like missing optional connectivity links, the odd miss-spelling and so 
on.
What this tells us is, that the "robustness" of the format is also a important 
consideration.

>From the point of view of a generic code library developer, the unambiguous 
>identification of the 'role' of elements within a file will definitely make 
>writing parsing code more straightforward -- and not least because dealing 
>with _incorrect_ input in a helpful way is an important usability factor (just 
>as it is in compiler design).
So, I must confess that I personally  was _preferring_ the way that UGRID 
labels each component unambiguously, instead of relying on links from other 
components to infer the role of a variable.

Solutioneering maybe, but ... could we instead **_allow the attribute to be 
named 'ugrid_role', and simultaneously deprecate the older 'cf_role' usage ?_**


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://urldefense.us/v3/__https://github.com/cf-convention/cf-conventions/issues/153*issuecomment-872063284__;Iw!!G2kpM7uM-TzIFchu!gI2poPff_xwfIpnQMVw6F_zs4v2r3s3F4jWKcIS2Wef7scNBlJ8EEWlts5nRZ3b4Kwzl0-z6CLg$
 
This list forwards relevant notifications from Github.  It is distinct from 
cf-metad...@cgd.ucar.edu, although if you do nothing, a subscription to the 
UCAR list will result in a subscription to this list.
To unsubscribe from this list only, send a message to 
cf-metadata-unsubscribe-requ...@listserv.llnl.gov.


Re: [CF-metadata] [cf-convention/cf-conventions] Correction to the definition of "ocean sigma over z coordinate" in Appendix D (#314)

2021-05-21 Thread Patrick Peglar
Thanks for your clarifications @JonathanGregory and @zklaus.
I think I've understood this more clearly now.
And I'm happy to say, I'm agreeing with what you are both saying !

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://urldefense.us/v3/__https://github.com/cf-convention/cf-conventions/issues/314*issuecomment-846053403__;Iw!!G2kpM7uM-TzIFchu!igve7BqIyJSm3kMQ7JRLnayP1gNeGJXvfrK4Z6S9XN0GEEcTytFajUBmyc9Qx9z7hAsE-3KO7us$
 
This list forwards relevant notifications from Github.  It is distinct from 
cf-metad...@cgd.ucar.edu, although if you do nothing, a subscription to the 
UCAR list will result in a subscription to this list.
To unsubscribe from this list only, send a message to 
cf-metadata-unsubscribe-requ...@listserv.llnl.gov.


Re: [CF-metadata] [cf-convention/cf-conventions] Correction to the definition of "ocean sigma over z coordinate" in Appendix D (#314)

2021-05-20 Thread Patrick Peglar
>  I would have thought that the the creation of all new CF-1.8 datasets should 
> be deprecated.

Just listening in here + heard something that affects us, (i.e 
[Iris](https://urldefense.us/v3/__https://scitools-iris.readthedocs.io/en/latest/__;!!G2kpM7uM-TzIFchu!jWRiABD_PTt6C61OHYUxf8u45uf71vQWmdarcpSwp3o53rB7-DY-gUflcQIdcyIFXO_ATZZNdaY$
 )).

I think that disallowing *any* creation of datasets using older conventions 
would be problematic for us, likewise maybe anyone who writes generic CF 
handling code.

So, Iris nows support "most" of CF 1.7 for loading :  We therfore aim to be 
CF-1.7 compliant and **that is the version level that we state in our output 
datafiles**.  
Although we still don't support **_all_** of CF-1.7 (even), that is the level 
we are currently notionally aspiring to.
In particular it is **the lowest convention version consistent with any output 
we may currently produce**.

So for us, stating CF-1.7 for output data means "you won't find anything in 
here that is not described by CF-1.7".
For our _users_, i.e. from the point of view of an individual or software tool 
interpreting the data, this is the statement that most usefully describes what 
that data might contain.

So, I think it would be _unhelpful_ for us to state compliance with a later 
version (e.g. 1.8), even though that is consistent with out outputs, if our 
outputs still contain **_no_** CF-1.8 -level features.
We would move to stating CF-1.8, only when our output code adopts some CF-1.8 
concepts, and so requires that level to be correctly understood.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://urldefense.us/v3/__https://github.com/cf-convention/cf-conventions/issues/314*issuecomment-844942383__;Iw!!G2kpM7uM-TzIFchu!jWRiABD_PTt6C61OHYUxf8u45uf71vQWmdarcpSwp3o53rB7-DY-gUflcQIdcyIFXO_ASIQuA2w$
 
This list forwards relevant notifications from Github.  It is distinct from 
cf-metad...@cgd.ucar.edu, although if you do nothing, a subscription to the 
UCAR list will result in a subscription to this list.
To unsubscribe from this list only, send a message to 
cf-metadata-unsubscribe-requ...@listserv.llnl.gov.


Re: [CF-metadata] [cf-convention/cf-conventions] Allow CRS WKT to represent the CRS without requiring comparison with grid mapping parameters (#222)

2020-02-24 Thread Patrick Peglar
> @taylor13  I haven't been following this, but what about tripolar grids, 
> which are often used in ocean models?
> @zklaus How are they represented in CF right now? As far as I know only by 2d 
> coordinates (which doesn't codify the iso-coordinate lines).

>From our specific experience : Most ocean models use the so-called ORCA grids.
These are not "just" a tripolar coordinate grid but use irregular sampling in 
various places.

Most importantly : ***a grid is not a projection***

So, a grid like ORCA has 2D latitude and longitude values for cell corners (and 
centres).  So that might *appear* to be like a coordinate-like space described 
by the grid indices.  But this is misleading, because a projection would be a 
smooth, reversible, total function  :  Instead ...
  1. you cannot define a point on the globe for an "interpolated" point in 
index-space like "ix=100.5, iy=101.3".  The relationship is entirely defined by 
the (2d) X and Y values, there is no smooth function from (ix, iy) to (lat, 
lon).
  1. there is no reverse mapping : you can't ask "where in the grid" a given 
point on the globe is.  Only which cells it may fall within... 
  1. in fact not all parts of the globe are covered at all.  The bottom of the 
space can be distorted to give extra detail in the Southern ocean, and does not 
cover the South pole.   Also, some model cells actually *overlap* along the top 
seam, referred to as a 'north fold'.  Thus...
  1. ... returning to the 'reversal' question, a given global location can be 
in several gridcells, or none.

In practice ORCA grids are particularly extreme case, in that the standard 
grids are defined _entirely_ by the provided 2D arrays of latitudes + 
longitudes, and there is no provided equation defining those numbers, as far as 
I can determine.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/cf-convention/cf-conventions/issues/222#issuecomment-590368653

This list forwards relevant notifications from Github.  It is distinct from 
cf-metad...@cgd.ucar.edu, although if you do nothing, a subscription to the 
UCAR list will result in a subscription to this list.
To unsubscribe from this list only, send a message to 
cf-metadata-unsubscribe-requ...@listserv.llnl.gov.

Re: [CF-metadata] [cf-convention/cf-conventions] Allow CRS WKT to represent the CRS without requiring comparison with grid mapping parameters (#222)

2020-01-09 Thread Patrick Peglar
>  Are there any applications that actively read in and use the CF grid mapping 
> parameters?

Not sure if I'm answering the right question here, but 
[Iris](https://github.com/SciTools/iris) ***definitely does*** explicitly 
interpret CF grid-mapping terms : we have explicit code for translating various 
types of grid-mapping to an [Iris 'coordinate_system']().  
Currently supporting types : 
```
albers_conical_equal_area
azimuthal_equidistant
lambert_azimuthal_equal_area
lambert_conformal_conic
lambert_cylindrical_equal_area
latitude_longitude
mercator
orthographic
polar_stereographic
rotated_latitude_longitude
stereographic
transverse_mercator
vertical_perspective
```
Most of these can also be produced as output.

For instance, we are currently working on making let Iris accept a 
geostationary grid with missing false_easting/false_northing parameters : 
https://github.com/SciTools/iris/pull/3628 

We currently don't support the WKT text, but could presumably consider this in 
future.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/cf-convention/cf-conventions/issues/222#issuecomment-572643254

This list forwards relevant notifications from Github.  It is distinct from 
cf-metad...@cgd.ucar.edu, although if you do nothing, a subscription to the 
UCAR list will result in a subscription to this list.
To unsubscribe from this list only, send a message to 
cf-metadata-unsubscribe-requ...@listserv.llnl.gov.