⇐ ⇒

[CF-metadata] Example of forecast data

From: Stephens, A <A.Stephens>
Date: Fri, 13 Jun 2003 08:40:42 +0100

Dear Brian, Jonathan and Russ,

Russ's solution seems the most efficient and straightforward so far. It
solves both the problem of excess missing data values and that of
duplication of variables. Can I clarify the use of the 'record' dimension in
Brian's interpretation just so that I am sure I understand it. Our current
working solution would therefore look like:

For the following data:
20030101 12:00 analysis (at 00hr) and 12hr,36hr forecasts
20030101 00:00 analysis 6hr,12hr,18hr,24hr forecasts
20030101 06:00 analysis 6hr,18hr forecasts

dimensions:
        record = 9 ; // This is the number of actual analyses and/or
forecasts
..........
variables:
   double reftime(record);
     time1:standard_name = "forecast_reference_time" ;
     time1:units = "hours since 2003-01-01 00:00" ;
   double valtime(record);
     time2:standard_name = "time" ;
     time2:units = "hours since 2003-01-01 00:00" ;
   float temp(record,level,lat,lon);
     temp:long_name = "Air temperature on model levels" ;
     temp:standard_name = "air_temperature" ;
     temp:units = "K" ;
     temp:coordinates = "valtime reftime"
..............
 data:
   reftime = 12., 12., 12., 0., 0., 0., 0., 6., 6. ;
   valtime = 12., 24., 48., 6., 12., 18., 24., 12., 24. ;

Is that what we mean? With record being the number of forecasts (and/or
analyses) in the file?

This raises another interesting point about files containing both analyses
and forecasts. Should we encode the analyses as reftime=valtime or should we
use the standard time dimension and encode analyses as we already (without
the forecast implementation). The two options for two analysis at "20030101
12:00" and "20030101 18:00" would be as follows:

Option 1:
dimensions:
    time = 2 ;
variables:
    double time(time);
        time:standard_name = "time";
      time:units = "hours since 2003-01-01 12:00";
    float temp(time,level....
.....
data:
    time = 12., 18. ;

Option 2:
dimensions:
    record = 2 ;
variables:
   double reftime(record);
     time1:standard_name = "forecast_reference_time" ;
     time1:units = "hours since 2003-01-01 12:00" ;
   double valtime(record);
     time2:standard_name = "time" ;
     time2:units = "hours since 2003-01-01 12:00" ;
    float temp(time,level....
......
 data:
   reftime = 0., 6. ;
   valtime = 0., 6. ;

I think that option 2 should be implemented as part of the new forecast
description in CF. Since option 1 is already accepted and operational then
including option 2 would allow some flexibility for people writing
combinations of analyses and forecasts that they want to manipulate
together.

Cheers,

Ag

> -----Original Message-----
> From: Brian Eaton [mailto:eaton at ucar.edu]
> Sent: 12 June 2003 17:20
> To: cf-metadata at cgd.ucar.edu
> Subject: Re: [CF-metadata] Example of forecast data
>
>
> Hi Russ,
>
> Thanks for pointing out this representation. In the context
> of CF it would be
> implemented by using the coordinates attribute. The example from Ag:
>
> > 20030101 12:00 analysis (at 00hr) and 12hr,36hr forecasts
> > 20030101 00:00 analysis 6hr,12hr,18hr,24hr forecasts
> > 20030101 06:00 analysis 6hr,18hr forecasts
>
> could be expressed as follows (ordering the time samples as
> they are above)
>
> variables:
> double reftime(record);
> time1:standard_name = "forecast_reference_time" ;
> time1:units = "hours since 2003-01-01 00:00" ;
> double valtime(record);
> time2:standard_name = "time" ;
> time2:units = "hours since 2003-01-01 00:00" ;
> float temp(record,level,lat,lon);
> temp:long_name = "Air temperature on model levels" ;
> temp:standard_name = "air_temperature" ;
> temp:units = "K" ;
> temp:coordinates = "valtime reftime"
> data:
> reftime = 12., 12., 12., 0., 0., 0., 0., 6., 6. ;
> valtime = 12., 24., 48., 6., 12., 18., 24., 12., 24. ;
>
> Brian
>
>
> On Thu, Jun 12, 2003 at 09:55:39AM -0600, Russ Rew wrote:
> > Ag,
> >
> > > I am grappling with it but keep coming up with problems in each
> > > representation. Has this problem been dealt with by other
> parts of the
> > > community previously? Have the Met Office produced
> inhouse software that can
> > > understand the analysis/forecast duality?
> >
> > We've dealt with this problem as part of the old NUWG conventions:
> >
> > http://www.unidata.ucar.edu/packages/netcdf/NUWG/
> >
> > with this excerpt from a note explaining the convention:
> >
> > ... here's an example we are currently using in our
> ruc.cdl for the
> > output of the MAPS/RUC model:
> >
> > dimensions:
> > record = UNLIMITED ; // (reference
> time, forecast time)
> > ...
> > variables:
> > double reftime(record); // reference time
> of the model
> > reftime:long_name = "reference time";
> > reftime:units = "hours since 1992-1-1";
> >
> > double valtime(record); // forecast time
> ("valid" time)
> > valtime:long_name = "valid time";
> > valtime:units = "hours since 1992-1-1";
> > ...
> > :record = "reftime, valtime" ; // "dimension
> attribute" -- means
> > // (reftime,
> valtime) uniquely
> > // determine record
> >
> > Here "reftime" and "valtime" are like ... coordinate reference
> > variables for the "record" dimension, and so should have
> attributes
> > named "dimension" with value "record". But the record
> dimension has
> > a global coordinate attribute "record" that names the two
> coordinate
> > reference variables, so this information is already represented.
> >
> > The idea here was to be able to use the "record"
> dimension for representing
> > an ordered pair of times, (reference time, forecast
> time), so you could
> > model outputs for multiple reference times and multiple
> forecast times in a
> > single netCDF file with only one unlimited dimension. ...
> > this capability.
> >
> > --Russ
> > _______________________________________________
> > CF-metadata mailing list
> > CF-metadata at cgd.ucar.edu
> > http://www.cgd.ucar.edu/mailman/listinfo/cf-metadata
> _______________________________________________
> CF-metadata mailing list
> CF-metadata at cgd.ucar.edu
> http://www.cgd.ucar.edu/mailman/listinfo/cf-metadata
>
Received on Fri Jun 13 2003 - 01:40:42 BST

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

⇐ ⇒