⇐ ⇒

[CF-metadata] [cf-satellite] Sharing quality flags amongmultiple variables

From: Mike Grant <mggr>
Date: Wed, 02 Nov 2011 20:22:24 +0000

On 02/11/11 20:20, Mike Grant wrote:
> I'll put that in another email as this is already way too long and I
> suspect it's unworkable ;)

Trying to address wanting different standard_names, shared or different
flag_meanings and shared or different flag data..

Extend the idea in Jonathan's #2 proposal so that the contents of any
variable can be farmed out to others, by allowing a variable to
"#include" another variable and then override its values.

  // direct use of flags data
 float a(...);
    a:ancillary_variables = "flags_data" ;

  // same flags data as a, different meaning
 float b(...) ;
    b:ancillary_variables = "b_flags_container" ;

  // same flags data as a, different meaning, different name
 float c(...) ;
    c:ancillary_variables = "c_flags_container" ;

  // different flags data, same meaning
 float d(...) ;
    d:ancillary_variables = "d_flags_container" ;

  // contains actual flags data
 int flags_data(...) ;
     // contains actual flags data
    flags_data:#include_variable = "flags_data_meanings";
    flags:standard_name = "flags generic name";

  // meanings for flags
 int flags_data_meanings() ;
    flags:flag_values = "0, 1, 2, 4, 8, ..." ;
    flags:flag_meanings = "meaning0 meaning1 ... meaning 4 ....";

  // same flags data as a, subset of or different meaning
 int b_flags_container;
    b_flags_container:#include_variable = "flags_data";
    b_flags_container:flag_values = "0, 1, 2";
    b_flags_container:flag_meanings = "meaning0 meaning1 meaning2...";

  // same flags data as a, different meaning and different name
 int c_flags_container;
    c_flags_container:#include_variable = "flags_data";
    c_flags_container:standard_name = "overridden flags name";
    c_flags_container:flag_values = "0, 1, 4, 8";
    c_flags_container:flag_meanings = "meaning0 meaning1 meaning3 meaning4";

  // different flags data, same meaning as a
 int d_flags_data(...);
     // contains actual flags data, different to flags_data
    d_flags_container:#include_variable = "flags_data_meanings";
    d_flags_data:standard_name = "something";
.....

While this is quite powerful and relatively easy to implement, it leads
CF down a scary path of inheritance, confusion, etc and I wouldn't be
surprised if we didn't want to go there ;)

Cheers,

Mike.

--------------------------------------------------------------------------------
Plymouth Marine Laboratory
 
Registered Office:
Prospect Place
The Hoe
Plymouth PL1 3DH
 
Website: www.pml.ac.uk
Click here for PML Annual Review
Registered Charity No. 1091222
PML is a company limited by guarantee
registered in England & Wales
company number 4178503

Please think before you print

--------------------------------------------------------------------------------
This e-mail, its content and any file attachments are confidential.

If you have received this e-mail in error please do not copy, disclose it to any third party or use the contents or attachments in any way. Please notify the sender by replying to this e-mail or e-mail forinfo at pml.ac.uk and then delete the email without making any copies or using it in any other way.

The content of this message may contain personal views which are not the views of Plymouth Marine Laboratory unless specifically stated.

You are reminded that e-mail communications are not secure and may contain viruses. Plymouth Marine Laboratory accepts no liability for any loss or damage which may be caused by viruses.
--------------------------------------------------------------------------------
Received on Wed Nov 02 2011 - 14:22:24 GMT

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

⇐ ⇒