[CF-metadata] various "time" in CF

Sebastien Villaume sebastien.villaume at ecmwf.int
Fri Oct 20 10:17:39 MDT 2017


Hi Antonio,

if I understand you correctly the only thing that distinguishes an analysis from the initial forecast step is the use or not of forecast_period with value 0? Is it a common practice and are all netCDF users familiar and confortable with that subtle difference? 
How can I include in the same file the analysis and the entire forecast?

I fully agree with you that "forecast", "hindcast", "analysis", "reanalysis", etc. do not relate to the time coordinate. But this is violated by the use of "forecast_reference_time" and "forecast_period" instead of simply "reference_time" and "period"? Do you agree?

I never thought of using realization as a way to describe all these concepts. I always thought that realization was specifically designed for probability related stuff and that the standard_name comes from the definition of a "realization" in probability/statistic theory.
I would define the various concepts as various "processes" rather than "realizations".

In the case of a set of hindcasts, how would you write the metadata? 

cheers,
/Sébastien

----- Original Message -----
From: "Antonio S. Cofiño" <antonio.cofino at unican.es>
To: "Sebastien Villaume" <sebastien.villaume at ecmwf.int>
Cc: cf-metadata at cgd.ucar.edu
Sent: Wednesday, 18 October, 2017 22:24:54
Subject: Re: [CF-metadata] various "time" in CF

Hi Sebastiien

On 18/10/17 18:19, Sebastien Villaume wrote:
> Hi Antonio,
>
> thank you for your detailed answer. You answered some of my questions but completely misses one crucial point, i.e. how do I distinguish 2 very different usage of the same generic standard name ?
I understand that you don't mean to have 2 coordinates with 
forecast_period as value for the attribute standard_name right?

My point it's to avoid the usage of standard_time="time" unless it's 
been used for the valid time concept (for example, observations).
>
> I give you few concrete examples.
>
> Example 1:
>
> dimensions:
>      i = 360 ;
>      j = 180 ;
>      t = 1 ;
>
> variables:
>
>      double time(t) ;
>          time:units = "hours since 2010-01-01 00:00:00" ;
>          time:standard_name = "time" ;
>          time:calendar = "gregorian" ;
>          time:axis = "T" ;
>
>      .... lat/long  here ....
>
>      float data(t, j, i) ;
>          ...
>          data:standard_name = "temperature" ;
>          data:coordinates = "time lat lon" ;
>          ...
>
> data:
>
>      time = [ 00 ]
>      ...
>
>
> What is this? Is this an analysis? an observation? or something else?
Because the usage of "time" as standard_name for the time coordinate I'm 
not able to say if it's an analysis or a forecast. What I'm able to say 
is that the variable "data" are temperatures with valid time at 
2010-01-01 00:00:00 (instantaneous)
>
> ith
> Example 2:
>
> dimensions:
>      i = 360 ;
>      j = 180 ;
>      t = 5 ;
>
> variables:
>      double forecast_reference_time(t) ;
>          forecast_reference_time:units = "hours since 2010-01-01 00:00:00" ;
>          forecast_reference_time:standard_name = "forecast_reference_time" ;
>   
>      double leadtime(t) ;
>          leadtime:units="hours" ;
>          leadtime:standard_name="forecast_period" ;
>   
>
>      .... lat/long ....
>
>      float data(t, j, i) ;
>          ...
>          data:standard_name = "temperature" ;
>          data:coordinates = "leadtime forecast_reference_time lat lon" ;
>          ...
>
> data:
>
>      forecast_reference_time = [  00,  00,  00,  00,  00 ]
>
>      leadtime = [ 00, 06, 12, 18, 24 ]
>      ...
>
> What is this? is it the forecast done back on the 1st January 2010? or is it a hindcast done years later to test the model of today? or is it a forecast from a reanalysis dataset, for instance ERA5? or something else?
It's a forecast with analysis time on the 2010-01-01 00:00:00 and time 
steps of 00, 06, 12, 18 and 24 which are valid at 2010-01-01 00:00:00, 
2010-01-01 06:00:00, 2010-01-01 12:00:00, 2010-01-01 18:00:00 and 
2010-01-02 00:00:00 (respectively). IMO a hindcast or reanalysis are 
different concepts that doesn't relates to time coordinates directly but 
they relate to different "realization" or "source" auxiliary coordinates 
or as global attributes.



>
> extra question for example 2: lets assume it is a hindcast. how will I be able to distinguish this hindcast done today from the hindcast I am going to do in 5 years time to test the model then? or from the hindcast I did 2 years ago for that date?
They are in fact 2 different realizations that could be encoded, for 
examle, using the "realization" as auxiliary/discrete coordinate. The 
"source" standard_name could be also used to encode different model 
versions as a auxiliary/discrete coordinate or as global attribute.
>
> It is to clarify this sort of things that I would like to have extra standard name, something less generic than the 3 available standard names.
> If I change the standard name in example 1 for "analysis_time", isn't it more clear what it is?
forecast_reference_time already means analysis time that the reason 
because I think you don't need a new standard_name. If the first example 
means analysis then I would change the standard_name to 
forecast_reference_time with no forecast_periodcoordinate.
> If I use hindcast_reference_time and hindcast_period in example 2 AND I include a mechanism to encode when the hindcast has been computed, isn't it clearer as well
IMO the forecast_reference_time already has this role. Hindcats and 
regular forecast are the same physical concept. If you need to encode 
when the product has been generated then other kind of convention could 
used (like date_created attribute from Attribute Convention For Data 
Discovery) .

>
>
> more comments are very welcome! :)

Yes, other views and comments from someone else is welcome.

Antonio

>
> cheers,
> /Sébastien
>



More information about the CF-metadata mailing list