[Met_help] [rt.rap.ucar.edu #41496] History for MET NetCDF Specification

RAL HelpDesk {for John Halley Gotway} met_help at ucar.edu
Fri Oct 15 13:01:54 MDT 2010


----------------------------------------------------------------
  Initial Request
----------------------------------------------------------------

  Hello

My name is Walter Sessions and I'm with the Naval Research Lab's aerosol 
division in Monterey.  Tara Jensen was out here last week and told me to 
e-mail you regarding the specifications to use netcdf files as input.  
If you have the standards or a sample file (or both), please let me know 
so I can get our output converted as soon as possible.

Thanks,
Walter Sessions


----------------------------------------------------------------
  Complete Ticket History
----------------------------------------------------------------

Subject: MET NetCDF Specification
From: John Halley Gotway
Time: Wed Oct 13 13:32:19 2010

Hello Walter,

Yes, Tara mentioned that you'd be writing.  When you download and
compile MET, we suggest running the test scripts that are included in
the tarball.  One of those test scripts runs the PCP-Combine
tool several times to sum up precipitation from input GRIB files.
These PCP-Combine files are the ones I'd suggest trying to replicate.
I've attached one such file as an example.

Running ncdump -h on this file yields the following:

netcdf sample_fcst_12L_2005080800V_12A {
dimensions:
        lat = 129 ;
        lon = 185 ;
variables:
        float lat(lat, lon) ;
                lat:long_name = "latitude" ;
                lat:units = "degrees_north" ;
                lat:standard_name = "latitude" ;
        float lon(lat, lon) ;
                lon:long_name = "longitude" ;
                lon:units = "degrees_east" ;
                lon:standard_name = "longitude" ;
        float APCP_12(lat, lon) ;
                APCP_12:name = "APCP" ;
                APCP_12:long_name = "Total precipitation" ;
                APCP_12:level = "A12" ;
                APCP_12:units = "kg/m^2" ;
                APCP_12:grib_code = 61 ;
                APCP_12:_FillValue = -9999.f ;
                APCP_12:init_time = "20050807_000000" ;
                APCP_12:init_time_ut = 1123372800 ;
                APCP_12:valid_time = "20050808_000000" ;
                APCP_12:valid_time_ut = 1123459200 ;
                APCP_12:accum_time = "120000" ;
                APCP_12:accum_time_sec = 43200 ;

// global attributes:
                :FileOrigins = "File
../out/pcp_combine/sample_fcst_12L_2005080800V_12A.nc generated
20101013_151309 UTC on host rambler by the MET pcp_combine tool" ;
                :MET_version = "V3.0" ;
                :MET_tool = "pcp_combine" ;
                :RunCommand = "Sum: 4 files with accumulations of
030000." ;
                :Projection = "Lambert Conformal" ;
                :scale_lat_1 = "25.000000" ;
                :scale_lat_2 = "25.000000" ;
                :lat_pin = "12.190000" ;
                :lon_pin = "-133.459000" ;
                :x_pin = "0.000000" ;
                :y_pin = "0.000000" ;
                :lon_orient = "-95.000000" ;
                :d_km = "40.635000" ;
                :r_km = "6367.470000" ;
                :nx = "185" ;
                :ny = "129 grid_points" ;
}

Let me describe the parts of this file that are relevant:
(1) Dimensions:
   - You should define dimensions named "lat" and "lon" that indicate
the dimension of the grid on which the data resides.
(2) Variables:
   - lat and lon: You do NOT need to include the lat and lon variables
in your data files.  We only include them so that other display tools
(like Unidata's IDV) can display the data nicely.
   - APCP_12(lat, lon): This is the variable that contains the data
that MET actually reads.  You actually can name these variables
anything you'd like.  But that should be indexed using the lat and
lon dimensions.  You can actually have additional dimensions for data
on multiple levels or times.  But the simplest is to just have those
two dimensions.
(3) Variable Attributes:
   - For each of these variables that MET reads, you should include
the following variable attributes:
      - "level" is a character string for a description of the
vertical level of this data.  This string will just get passed through
and written in the MET ascii output in the FCST_LEV column.
      - "units" is a character string for the units of the data.
      - "valid_time_ut" is a long int for the valid time of this data
in unixtime (seconds since Jan 1, 1970).  You can use the "date"
command to convert time strings to unixtime.
      - "init_time_ut" is a long int for the model initialization time
in unixtime.
      - "accum_time_sec" is an int for the accumulation time of the
data in seconds.  For precip, this is applicable but for other data
types you can just put 0.
      - None of the other variable attributes are necessary.
(4) Global Attributes:
   - Please include the following global attributes:
      - Set MET_version = "V3.0"
      - Set Projection = "name", where "name" is one of:
         - Lambert Conformal
         - Mercator
         - LatLon
         - Polar Stereographic
   - The remaining global attributes are used to define the grid
you're using.  And they vary based on the type of projection.  If you
can give me a description of the grid you're using, I can give
you more information about what global attributes need to be included
there.

Hope that helps get you started.

Thanks,
John Halley Gotway
met_help at ucar.edu

On 10/12/2010 06:47 PM, RAL HelpDesk {for Walter Sessions} wrote:
>
> Tue Oct 12 18:47:35 2010: Request 41496 was acted upon.
> Transaction: Ticket created by walter.sessions.ctr at nrlmry.navy.mil
>        Queue: met_help
>      Subject: MET NetCDF Specification
>        Owner: Nobody
>   Requestors: walter.sessions.ctr at nrlmry.navy.mil
>       Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41496 >
>
>
>   Hello
>
> My name is Walter Sessions and I'm with the Naval Research Lab's
aerosol
> division in Monterey.  Tara Jensen was out here last week and told
me to
> e-mail you regarding the specifications to use netcdf files as
input.
> If you have the standards or a sample file (or both), please let me
know
> so I can get our output converted as soon as possible.
>
> Thanks,
> Walter Sessions

------------------------------------------------
Subject: Re: [rt.rap.ucar.edu #41496] MET NetCDF Specification
From: Walter Sessions
Time: Wed Oct 13 17:28:10 2010

  Hey John:

We're using a lat/lon Gaussian grid (360x180, -179.5-179.5,
-89.5-89.5,
1 degree)

What settings should we use for that?

Walter

On 10/13/2010 12:32 PM, RAL HelpDesk {for John Halley Gotway} wrote:
> Hello Walter,
>
> Yes, Tara mentioned that you'd be writing.  When you download and
compile MET, we suggest running the test scripts that are included in
the tarball.  One of those test scripts runs the PCP-Combine
> tool several times to sum up precipitation from input GRIB files.
These PCP-Combine files are the ones I'd suggest trying to replicate.
I've attached one such file as an example.
>
> Running ncdump -h on this file yields the following:
>
> netcdf sample_fcst_12L_2005080800V_12A {
> dimensions:
>          lat = 129 ;
>          lon = 185 ;
> variables:
>          float lat(lat, lon) ;
>                  lat:long_name = "latitude" ;
>                  lat:units = "degrees_north" ;
>                  lat:standard_name = "latitude" ;
>          float lon(lat, lon) ;
>                  lon:long_name = "longitude" ;
>                  lon:units = "degrees_east" ;
>                  lon:standard_name = "longitude" ;
>          float APCP_12(lat, lon) ;
>                  APCP_12:name = "APCP" ;
>                  APCP_12:long_name = "Total precipitation" ;
>                  APCP_12:level = "A12" ;
>                  APCP_12:units = "kg/m^2" ;
>                  APCP_12:grib_code = 61 ;
>                  APCP_12:_FillValue = -9999.f ;
>                  APCP_12:init_time = "20050807_000000" ;
>                  APCP_12:init_time_ut = 1123372800 ;
>                  APCP_12:valid_time = "20050808_000000" ;
>                  APCP_12:valid_time_ut = 1123459200 ;
>                  APCP_12:accum_time = "120000" ;
>                  APCP_12:accum_time_sec = 43200 ;
>
> // global attributes:
>                  :FileOrigins = "File
../out/pcp_combine/sample_fcst_12L_2005080800V_12A.nc generated
20101013_151309 UTC on host rambler by the MET pcp_combine tool" ;
>                  :MET_version = "V3.0" ;
>                  :MET_tool = "pcp_combine" ;
>                  :RunCommand = "Sum: 4 files with accumulations of
030000." ;
>                  :Projection = "Lambert Conformal" ;
>                  :scale_lat_1 = "25.000000" ;
>                  :scale_lat_2 = "25.000000" ;
>                  :lat_pin = "12.190000" ;
>                  :lon_pin = "-133.459000" ;
>                  :x_pin = "0.000000" ;
>                  :y_pin = "0.000000" ;
>                  :lon_orient = "-95.000000" ;
>                  :d_km = "40.635000" ;
>                  :r_km = "6367.470000" ;
>                  :nx = "185" ;
>                  :ny = "129 grid_points" ;
> }
>
> Let me describe the parts of this file that are relevant:
> (1) Dimensions:
>     - You should define dimensions named "lat" and "lon" that
indicate the dimension of the grid on which the data resides.
> (2) Variables:
>     - lat and lon: You do NOT need to include the lat and lon
variables in your data files.  We only include them so that other
display tools (like Unidata's IDV) can display the data nicely.
>     - APCP_12(lat, lon): This is the variable that contains the data
that MET actually reads.  You actually can name these variables
anything you'd like.  But that should be indexed using the lat and
> lon dimensions.  You can actually have additional dimensions for
data on multiple levels or times.  But the simplest is to just have
those two dimensions.
> (3) Variable Attributes:
>     - For each of these variables that MET reads, you should include
the following variable attributes:
>        - "level" is a character string for a description of the
vertical level of this data.  This string will just get passed through
and written in the MET ascii output in the FCST_LEV column.
>        - "units" is a character string for the units of the data.
>        - "valid_time_ut" is a long int for the valid time of this
data in unixtime (seconds since Jan 1, 1970).  You can use the "date"
command to convert time strings to unixtime.
>        - "init_time_ut" is a long int for the model initialization
time in unixtime.
>        - "accum_time_sec" is an int for the accumulation time of the
data in seconds.  For precip, this is applicable but for other data
types you can just put 0.
>        - None of the other variable attributes are necessary.
> (4) Global Attributes:
>     - Please include the following global attributes:
>        - Set MET_version = "V3.0"
>        - Set Projection = "name", where "name" is one of:
>           - Lambert Conformal
>           - Mercator
>           - LatLon
>           - Polar Stereographic
>     - The remaining global attributes are used to define the grid
you're using.  And they vary based on the type of projection.  If you
can give me a description of the grid you're using, I can give
> you more information about what global attributes need to be
included there.
>
> Hope that helps get you started.
>
> Thanks,
> John Halley Gotway
> met_help at ucar.edu
>
> On 10/12/2010 06:47 PM, RAL HelpDesk {for Walter Sessions} wrote:
>> Tue Oct 12 18:47:35 2010: Request 41496 was acted upon.
>> Transaction: Ticket created by walter.sessions.ctr at nrlmry.navy.mil
>>         Queue: met_help
>>       Subject: MET NetCDF Specification
>>         Owner: Nobody
>>    Requestors: walter.sessions.ctr at nrlmry.navy.mil
>>        Status: new
>>   Ticket<URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41496>
>>
>>
>>    Hello
>>
>> My name is Walter Sessions and I'm with the Naval Research Lab's
aerosol
>> division in Monterey.  Tara Jensen was out here last week and told
me to
>> e-mail you regarding the specifications to use netcdf files as
input.
>> If you have the standards or a sample file (or both), please let me
know
>> so I can get our output converted as soon as possible.
>>
>> Thanks,
>> Walter Sessions


------------------------------------------------
Subject: Re: [rt.rap.ucar.edu #41496] MET NetCDF Specification
From: John Halley Gotway
Time: Thu Oct 14 11:40:40 2010

Walter,

Specifying a lat/lon grid is pretty straight-forward:

   :Projection = "LatLon" ;
   :lat_ll = "-89.5 degrees_north" ;
   :lon_ll = "-179.5 degrees_east" ;
   :delta_lat = "1.0 degrees" ;
   :delta_lon = "1.0 degrees" ;
   :Nlat = "180 grid_points" ;
   :Nlon = "360 grid_points" ;

Please give that a shot and let me know if you experience any
problems.

Thanks,
John



On 10/13/2010 05:28 PM, RAL HelpDesk {for Walter Sessions} wrote:
>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41496 >
>
>   Hey John:
>
> We're using a lat/lon Gaussian grid (360x180, -179.5-179.5,
-89.5-89.5,
> 1 degree)
>
> What settings should we use for that?
>
> Walter
>
> On 10/13/2010 12:32 PM, RAL HelpDesk {for John Halley Gotway} wrote:
>> Hello Walter,
>>
>> Yes, Tara mentioned that you'd be writing.  When you download and
compile MET, we suggest running the test scripts that are included in
the tarball.  One of those test scripts runs the PCP-Combine
>> tool several times to sum up precipitation from input GRIB files.
These PCP-Combine files are the ones I'd suggest trying to replicate.
I've attached one such file as an example.
>>
>> Running ncdump -h on this file yields the following:
>>
>> netcdf sample_fcst_12L_2005080800V_12A {
>> dimensions:
>>          lat = 129 ;
>>          lon = 185 ;
>> variables:
>>          float lat(lat, lon) ;
>>                  lat:long_name = "latitude" ;
>>                  lat:units = "degrees_north" ;
>>                  lat:standard_name = "latitude" ;
>>          float lon(lat, lon) ;
>>                  lon:long_name = "longitude" ;
>>                  lon:units = "degrees_east" ;
>>                  lon:standard_name = "longitude" ;
>>          float APCP_12(lat, lon) ;
>>                  APCP_12:name = "APCP" ;
>>                  APCP_12:long_name = "Total precipitation" ;
>>                  APCP_12:level = "A12" ;
>>                  APCP_12:units = "kg/m^2" ;
>>                  APCP_12:grib_code = 61 ;
>>                  APCP_12:_FillValue = -9999.f ;
>>                  APCP_12:init_time = "20050807_000000" ;
>>                  APCP_12:init_time_ut = 1123372800 ;
>>                  APCP_12:valid_time = "20050808_000000" ;
>>                  APCP_12:valid_time_ut = 1123459200 ;
>>                  APCP_12:accum_time = "120000" ;
>>                  APCP_12:accum_time_sec = 43200 ;
>>
>> // global attributes:
>>                  :FileOrigins = "File
../out/pcp_combine/sample_fcst_12L_2005080800V_12A.nc generated
20101013_151309 UTC on host rambler by the MET pcp_combine tool" ;
>>                  :MET_version = "V3.0" ;
>>                  :MET_tool = "pcp_combine" ;
>>                  :RunCommand = "Sum: 4 files with accumulations of
030000." ;
>>                  :Projection = "Lambert Conformal" ;
>>                  :scale_lat_1 = "25.000000" ;
>>                  :scale_lat_2 = "25.000000" ;
>>                  :lat_pin = "12.190000" ;
>>                  :lon_pin = "-133.459000" ;
>>                  :x_pin = "0.000000" ;
>>                  :y_pin = "0.000000" ;
>>                  :lon_orient = "-95.000000" ;
>>                  :d_km = "40.635000" ;
>>                  :r_km = "6367.470000" ;
>>                  :nx = "185" ;
>>                  :ny = "129 grid_points" ;
>> }
>>
>> Let me describe the parts of this file that are relevant:
>> (1) Dimensions:
>>     - You should define dimensions named "lat" and "lon" that
indicate the dimension of the grid on which the data resides.
>> (2) Variables:
>>     - lat and lon: You do NOT need to include the lat and lon
variables in your data files.  We only include them so that other
display tools (like Unidata's IDV) can display the data nicely.
>>     - APCP_12(lat, lon): This is the variable that contains the
data that MET actually reads.  You actually can name these variables
anything you'd like.  But that should be indexed using the lat and
>> lon dimensions.  You can actually have additional dimensions for
data on multiple levels or times.  But the simplest is to just have
those two dimensions.
>> (3) Variable Attributes:
>>     - For each of these variables that MET reads, you should
include the following variable attributes:
>>        - "level" is a character string for a description of the
vertical level of this data.  This string will just get passed through
and written in the MET ascii output in the FCST_LEV column.
>>        - "units" is a character string for the units of the data.
>>        - "valid_time_ut" is a long int for the valid time of this
data in unixtime (seconds since Jan 1, 1970).  You can use the "date"
command to convert time strings to unixtime.
>>        - "init_time_ut" is a long int for the model initialization
time in unixtime.
>>        - "accum_time_sec" is an int for the accumulation time of
the data in seconds.  For precip, this is applicable but for other
data types you can just put 0.
>>        - None of the other variable attributes are necessary.
>> (4) Global Attributes:
>>     - Please include the following global attributes:
>>        - Set MET_version = "V3.0"
>>        - Set Projection = "name", where "name" is one of:
>>           - Lambert Conformal
>>           - Mercator
>>           - LatLon
>>           - Polar Stereographic
>>     - The remaining global attributes are used to define the grid
you're using.  And they vary based on the type of projection.  If you
can give me a description of the grid you're using, I can give
>> you more information about what global attributes need to be
included there.
>>
>> Hope that helps get you started.
>>
>> Thanks,
>> John Halley Gotway
>> met_help at ucar.edu
>>
>> On 10/12/2010 06:47 PM, RAL HelpDesk {for Walter Sessions} wrote:
>>> Tue Oct 12 18:47:35 2010: Request 41496 was acted upon.
>>> Transaction: Ticket created by walter.sessions.ctr at nrlmry.navy.mil
>>>         Queue: met_help
>>>       Subject: MET NetCDF Specification
>>>         Owner: Nobody
>>>    Requestors: walter.sessions.ctr at nrlmry.navy.mil
>>>        Status: new
>>>   Ticket<URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41496>
>>>
>>>
>>>    Hello
>>>
>>> My name is Walter Sessions and I'm with the Naval Research Lab's
aerosol
>>> division in Monterey.  Tara Jensen was out here last week and told
me to
>>> e-mail you regarding the specifications to use netcdf files as
input.
>>> If you have the standards or a sample file (or both), please let
me know
>>> so I can get our output converted as soon as possible.
>>>
>>> Thanks,
>>> Walter Sessions
>

------------------------------------------------
Subject: Re: [rt.rap.ucar.edu #41496] MET NetCDF Specification
From: Walter Sessions
Time: Fri Oct 15 11:25:38 2010

  Thanks, John.  MODE happily accepted our aerosol model files.

If you have time, could you also send the projection settings for
Mercator, Lambert conic conf, and polar stereographic for our regional
model?  I assume that the settings will resemble the very first
example
you sent, but I'd just need to know which fields are the standard
lat/lon, orientation, etc.

Walter

On 10/14/2010 10:40 AM, RAL HelpDesk {for John Halley Gotway} wrote:
> Walter,
>
> Specifying a lat/lon grid is pretty straight-forward:
>
>     :Projection = "LatLon" ;
>     :lat_ll = "-89.5 degrees_north" ;
>     :lon_ll = "-179.5 degrees_east" ;
>     :delta_lat = "1.0 degrees" ;
>     :delta_lon = "1.0 degrees" ;
>     :Nlat = "180 grid_points" ;
>     :Nlon = "360 grid_points" ;
>
> Please give that a shot and let me know if you experience any
problems.
>
> Thanks,
> John
>
>
>
> On 10/13/2010 05:28 PM, RAL HelpDesk {for Walter Sessions} wrote:
>> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41496>
>>
>>    Hey John:
>>
>> We're using a lat/lon Gaussian grid (360x180, -179.5-179.5,
-89.5-89.5,
>> 1 degree)
>>
>> What settings should we use for that?
>>
>> Walter
>>
>> On 10/13/2010 12:32 PM, RAL HelpDesk {for John Halley Gotway}
wrote:
>>> Hello Walter,
>>>
>>> Yes, Tara mentioned that you'd be writing.  When you download and
compile MET, we suggest running the test scripts that are included in
the tarball.  One of those test scripts runs the PCP-Combine
>>> tool several times to sum up precipitation from input GRIB files.
These PCP-Combine files are the ones I'd suggest trying to replicate.
I've attached one such file as an example.
>>>
>>> Running ncdump -h on this file yields the following:
>>>
>>> netcdf sample_fcst_12L_2005080800V_12A {
>>> dimensions:
>>>           lat = 129 ;
>>>           lon = 185 ;
>>> variables:
>>>           float lat(lat, lon) ;
>>>                   lat:long_name = "latitude" ;
>>>                   lat:units = "degrees_north" ;
>>>                   lat:standard_name = "latitude" ;
>>>           float lon(lat, lon) ;
>>>                   lon:long_name = "longitude" ;
>>>                   lon:units = "degrees_east" ;
>>>                   lon:standard_name = "longitude" ;
>>>           float APCP_12(lat, lon) ;
>>>                   APCP_12:name = "APCP" ;
>>>                   APCP_12:long_name = "Total precipitation" ;
>>>                   APCP_12:level = "A12" ;
>>>                   APCP_12:units = "kg/m^2" ;
>>>                   APCP_12:grib_code = 61 ;
>>>                   APCP_12:_FillValue = -9999.f ;
>>>                   APCP_12:init_time = "20050807_000000" ;
>>>                   APCP_12:init_time_ut = 1123372800 ;
>>>                   APCP_12:valid_time = "20050808_000000" ;
>>>                   APCP_12:valid_time_ut = 1123459200 ;
>>>                   APCP_12:accum_time = "120000" ;
>>>                   APCP_12:accum_time_sec = 43200 ;
>>>
>>> // global attributes:
>>>                   :FileOrigins = "File
../out/pcp_combine/sample_fcst_12L_2005080800V_12A.nc generated
20101013_151309 UTC on host rambler by the MET pcp_combine tool" ;
>>>                   :MET_version = "V3.0" ;
>>>                   :MET_tool = "pcp_combine" ;
>>>                   :RunCommand = "Sum: 4 files with accumulations
of 030000." ;
>>>                   :Projection = "Lambert Conformal" ;
>>>                   :scale_lat_1 = "25.000000" ;
>>>                   :scale_lat_2 = "25.000000" ;
>>>                   :lat_pin = "12.190000" ;
>>>                   :lon_pin = "-133.459000" ;
>>>                   :x_pin = "0.000000" ;
>>>                   :y_pin = "0.000000" ;
>>>                   :lon_orient = "-95.000000" ;
>>>                   :d_km = "40.635000" ;
>>>                   :r_km = "6367.470000" ;
>>>                   :nx = "185" ;
>>>                   :ny = "129 grid_points" ;
>>> }
>>>
>>> Let me describe the parts of this file that are relevant:
>>> (1) Dimensions:
>>>      - You should define dimensions named "lat" and "lon" that
indicate the dimension of the grid on which the data resides.
>>> (2) Variables:
>>>      - lat and lon: You do NOT need to include the lat and lon
variables in your data files.  We only include them so that other
display tools (like Unidata's IDV) can display the data nicely.
>>>      - APCP_12(lat, lon): This is the variable that contains the
data that MET actually reads.  You actually can name these variables
anything you'd like.  But that should be indexed using the lat and
>>> lon dimensions.  You can actually have additional dimensions for
data on multiple levels or times.  But the simplest is to just have
those two dimensions.
>>> (3) Variable Attributes:
>>>      - For each of these variables that MET reads, you should
include the following variable attributes:
>>>         - "level" is a character string for a description of the
vertical level of this data.  This string will just get passed through
and written in the MET ascii output in the FCST_LEV column.
>>>         - "units" is a character string for the units of the data.
>>>         - "valid_time_ut" is a long int for the valid time of this
data in unixtime (seconds since Jan 1, 1970).  You can use the "date"
command to convert time strings to unixtime.
>>>         - "init_time_ut" is a long int for the model
initialization time in unixtime.
>>>         - "accum_time_sec" is an int for the accumulation time of
the data in seconds.  For precip, this is applicable but for other
data types you can just put 0.
>>>         - None of the other variable attributes are necessary.
>>> (4) Global Attributes:
>>>      - Please include the following global attributes:
>>>         - Set MET_version = "V3.0"
>>>         - Set Projection = "name", where "name" is one of:
>>>            - Lambert Conformal
>>>            - Mercator
>>>            - LatLon
>>>            - Polar Stereographic
>>>      - The remaining global attributes are used to define the grid
you're using.  And they vary based on the type of projection.  If you
can give me a description of the grid you're using, I can give
>>> you more information about what global attributes need to be
included there.
>>>
>>> Hope that helps get you started.
>>>
>>> Thanks,
>>> John Halley Gotway
>>> met_help at ucar.edu
>>>
>>> On 10/12/2010 06:47 PM, RAL HelpDesk {for Walter Sessions} wrote:
>>>> Tue Oct 12 18:47:35 2010: Request 41496 was acted upon.
>>>> Transaction: Ticket created by
walter.sessions.ctr at nrlmry.navy.mil
>>>>          Queue: met_help
>>>>        Subject: MET NetCDF Specification
>>>>          Owner: Nobody
>>>>     Requestors: walter.sessions.ctr at nrlmry.navy.mil
>>>>         Status: new
>>>>    Ticket<URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41496>
>>>>
>>>>
>>>>     Hello
>>>>
>>>> My name is Walter Sessions and I'm with the Naval Research Lab's
aerosol
>>>> division in Monterey.  Tara Jensen was out here last week and
told me to
>>>> e-mail you regarding the specifications to use netcdf files as
input.
>>>> If you have the standards or a sample file (or both), please let
me know
>>>> so I can get our output converted as soon as possible.
>>>>
>>>> Thanks,
>>>> Walter Sessions


------------------------------------------------
Subject: MET NetCDF Specification
From: John Halley Gotway
Time: Fri Oct 15 13:01:33 2010

Walter,

OK, here's what I did.  I started with a sample GFS file in GRIB
format containing accumulated precip.  I looked at NCEP's list of pre-
defined grids
(http://www.nco.ncep.noaa.gov/pmb/docs/on388/tableb.html), and picked
out 4 of them that represent mercator, lat/lon, polar stereographic,
and lambert conformal projections.  I wrote a short shell
script, that runs the copygb tool to regrid that input GFS GRIB file
onto each of those 4 NCEP grids.  For each interpolated output file, I
ran it through the MET pcp_combine tool just as a pass
through to basically reformat it to the MET NetCDF.  And lastly, I
called "ncdump -h" on those files so you could see how the global
attributes for each grid are defined.

I've attached the output of my little script, and I think it contains
all the info you'd need.

In addition, I tarred up my script with it's input and output data and
posted it on our anonymous ftp site.  You're welcome to retrieve it,
if it would be of use for you:
   ftp://ftp.rap.ucar.edu/incoming/irap/met_help/sessions_data/sessions_data_20101015.tar.gz

Hopefully those will provide you with good examples.

I'll go ahead and resolve this ticket now.

If any more questions come up in your use of MET, feel free to write
us at met_help at ucar.edu.

Thanks,
John Halley Gotway

On 10/15/2010 11:25 AM, RAL HelpDesk {for Walter Sessions} wrote:
>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41496 >
>
>   Thanks, John.  MODE happily accepted our aerosol model files.
>
> If you have time, could you also send the projection settings for
> Mercator, Lambert conic conf, and polar stereographic for our
regional
> model?  I assume that the settings will resemble the very first
example
> you sent, but I'd just need to know which fields are the standard
> lat/lon, orientation, etc.
>
> Walter
>
> On 10/14/2010 10:40 AM, RAL HelpDesk {for John Halley Gotway} wrote:
>> Walter,
>>
>> Specifying a lat/lon grid is pretty straight-forward:
>>
>>     :Projection = "LatLon" ;
>>     :lat_ll = "-89.5 degrees_north" ;
>>     :lon_ll = "-179.5 degrees_east" ;
>>     :delta_lat = "1.0 degrees" ;
>>     :delta_lon = "1.0 degrees" ;
>>     :Nlat = "180 grid_points" ;
>>     :Nlon = "360 grid_points" ;
>>
>> Please give that a shot and let me know if you experience any
problems.
>>
>> Thanks,
>> John
>>
>>
>>
>> On 10/13/2010 05:28 PM, RAL HelpDesk {for Walter Sessions} wrote:
>>> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41496>
>>>
>>>    Hey John:
>>>
>>> We're using a lat/lon Gaussian grid (360x180, -179.5-179.5,
-89.5-89.5,
>>> 1 degree)
>>>
>>> What settings should we use for that?
>>>
>>> Walter
>>>
>>> On 10/13/2010 12:32 PM, RAL HelpDesk {for John Halley Gotway}
wrote:
>>>> Hello Walter,
>>>>
>>>> Yes, Tara mentioned that you'd be writing.  When you download and
compile MET, we suggest running the test scripts that are included in
the tarball.  One of those test scripts runs the PCP-Combine
>>>> tool several times to sum up precipitation from input GRIB files.
These PCP-Combine files are the ones I'd suggest trying to replicate.
I've attached one such file as an example.
>>>>
>>>> Running ncdump -h on this file yields the following:
>>>>
>>>> netcdf sample_fcst_12L_2005080800V_12A {
>>>> dimensions:
>>>>           lat = 129 ;
>>>>           lon = 185 ;
>>>> variables:
>>>>           float lat(lat, lon) ;
>>>>                   lat:long_name = "latitude" ;
>>>>                   lat:units = "degrees_north" ;
>>>>                   lat:standard_name = "latitude" ;
>>>>           float lon(lat, lon) ;
>>>>                   lon:long_name = "longitude" ;
>>>>                   lon:units = "degrees_east" ;
>>>>                   lon:standard_name = "longitude" ;
>>>>           float APCP_12(lat, lon) ;
>>>>                   APCP_12:name = "APCP" ;
>>>>                   APCP_12:long_name = "Total precipitation" ;
>>>>                   APCP_12:level = "A12" ;
>>>>                   APCP_12:units = "kg/m^2" ;
>>>>                   APCP_12:grib_code = 61 ;
>>>>                   APCP_12:_FillValue = -9999.f ;
>>>>                   APCP_12:init_time = "20050807_000000" ;
>>>>                   APCP_12:init_time_ut = 1123372800 ;
>>>>                   APCP_12:valid_time = "20050808_000000" ;
>>>>                   APCP_12:valid_time_ut = 1123459200 ;
>>>>                   APCP_12:accum_time = "120000" ;
>>>>                   APCP_12:accum_time_sec = 43200 ;
>>>>
>>>> // global attributes:
>>>>                   :FileOrigins = "File
../out/pcp_combine/sample_fcst_12L_2005080800V_12A.nc generated
20101013_151309 UTC on host rambler by the MET pcp_combine tool" ;
>>>>                   :MET_version = "V3.0" ;
>>>>                   :MET_tool = "pcp_combine" ;
>>>>                   :RunCommand = "Sum: 4 files with accumulations
of 030000." ;
>>>>                   :Projection = "Lambert Conformal" ;
>>>>                   :scale_lat_1 = "25.000000" ;
>>>>                   :scale_lat_2 = "25.000000" ;
>>>>                   :lat_pin = "12.190000" ;
>>>>                   :lon_pin = "-133.459000" ;
>>>>                   :x_pin = "0.000000" ;
>>>>                   :y_pin = "0.000000" ;
>>>>                   :lon_orient = "-95.000000" ;
>>>>                   :d_km = "40.635000" ;
>>>>                   :r_km = "6367.470000" ;
>>>>                   :nx = "185" ;
>>>>                   :ny = "129 grid_points" ;
>>>> }
>>>>
>>>> Let me describe the parts of this file that are relevant:
>>>> (1) Dimensions:
>>>>      - You should define dimensions named "lat" and "lon" that
indicate the dimension of the grid on which the data resides.
>>>> (2) Variables:
>>>>      - lat and lon: You do NOT need to include the lat and lon
variables in your data files.  We only include them so that other
display tools (like Unidata's IDV) can display the data nicely.
>>>>      - APCP_12(lat, lon): This is the variable that contains the
data that MET actually reads.  You actually can name these variables
anything you'd like.  But that should be indexed using the lat and
>>>> lon dimensions.  You can actually have additional dimensions for
data on multiple levels or times.  But the simplest is to just have
those two dimensions.
>>>> (3) Variable Attributes:
>>>>      - For each of these variables that MET reads, you should
include the following variable attributes:
>>>>         - "level" is a character string for a description of the
vertical level of this data.  This string will just get passed through
and written in the MET ascii output in the FCST_LEV column.
>>>>         - "units" is a character string for the units of the
data.
>>>>         - "valid_time_ut" is a long int for the valid time of
this data in unixtime (seconds since Jan 1, 1970).  You can use the
"date" command to convert time strings to unixtime.
>>>>         - "init_time_ut" is a long int for the model
initialization time in unixtime.
>>>>         - "accum_time_sec" is an int for the accumulation time of
the data in seconds.  For precip, this is applicable but for other
data types you can just put 0.
>>>>         - None of the other variable attributes are necessary.
>>>> (4) Global Attributes:
>>>>      - Please include the following global attributes:
>>>>         - Set MET_version = "V3.0"
>>>>         - Set Projection = "name", where "name" is one of:
>>>>            - Lambert Conformal
>>>>            - Mercator
>>>>            - LatLon
>>>>            - Polar Stereographic
>>>>      - The remaining global attributes are used to define the
grid you're using.  And they vary based on the type of projection.  If
you can give me a description of the grid you're using, I can give
>>>> you more information about what global attributes need to be
included there.
>>>>
>>>> Hope that helps get you started.
>>>>
>>>> Thanks,
>>>> John Halley Gotway
>>>> met_help at ucar.edu
>>>>
>>>> On 10/12/2010 06:47 PM, RAL HelpDesk {for Walter Sessions} wrote:
>>>>> Tue Oct 12 18:47:35 2010: Request 41496 was acted upon.
>>>>> Transaction: Ticket created by
walter.sessions.ctr at nrlmry.navy.mil
>>>>>          Queue: met_help
>>>>>        Subject: MET NetCDF Specification
>>>>>          Owner: Nobody
>>>>>     Requestors: walter.sessions.ctr at nrlmry.navy.mil
>>>>>         Status: new
>>>>>    Ticket<URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41496>
>>>>>
>>>>>
>>>>>     Hello
>>>>>
>>>>> My name is Walter Sessions and I'm with the Naval Research Lab's
aerosol
>>>>> division in Monterey.  Tara Jensen was out here last week and
told me to
>>>>> e-mail you regarding the specifications to use netcdf files as
input.
>>>>> If you have the standards or a sample file (or both), please let
me know
>>>>> so I can get our output converted as soon as possible.
>>>>>
>>>>> Thanks,
>>>>> Walter Sessions
>

------------------------------------------------
Subject: MET NetCDF Specification
From: John Halley Gotway
Time: Fri Oct 15 13:01:33 2010


********************************************************************

CALLING:
/var/autofs/mnt/dakota_d3/projects/CODE/WPP/v3.2/WPPV3/exec/copygb.exe
-xg"001" gfs_2009061000_000_003 gfs_2009061000_000_003_G001.grib
rec 1:0:date 2009061000 APCP kpds5=61 kpds6=1 kpds7=0 levels=(0,0)
grid=1 sfc 0-3hr acc:
  APCP=Total precipitation [kg/m^2]
  timerange 4 P1 0 P2 3 TimeU 1  nx 73 ny 23 GDS grid 1 num_in_ave 0
missing 0
  center 7 subcenter 0 process 82 Table 2 scan: WE:SN winds(N/S)
  Mercator: lat  -48.090000 to 48.090000 by 513.669000 km  nxny 1679
          long 0.000000 to 0.000000 by 513.669000 km, (73 x 23) scan
64 mode 128 Latin 22.500000 bdsgrid 1
  min/max data 0 20.5808  num bits 24  BDS_Ref 0  DecScale 6 BinScale
1

Performing addition command for 1 files.
Reading input file: gfs_2009061000_000_003_G001.grib
Writing output file: gfs_2009061000_000_003_G001.nc
netcdf gfs_2009061000_000_003_G001 {
dimensions:
	lat = 23 ;
	lon = 73 ;
variables:
	float lat(lat, lon) ;
		lat:long_name = "latitude" ;
		lat:units = "degrees_north" ;
		lat:standard_name = "latitude" ;
	float lon(lat, lon) ;
		lon:long_name = "longitude" ;
		lon:units = "degrees_east" ;
		lon:standard_name = "longitude" ;
	float APCP_03(lat, lon) ;
		APCP_03:name = "APCP" ;
		APCP_03:long_name = "Total precipitation" ;
		APCP_03:level = "A3" ;
		APCP_03:units = "kg/m^2" ;
		APCP_03:grib_code = 61 ;
		APCP_03:_FillValue = -9999.f ;
		APCP_03:init_time = "20090610_000000" ;
		APCP_03:init_time_ut = 1244592000 ;
		APCP_03:valid_time = "20090610_030000" ;
		APCP_03:valid_time_ut = 1244602800 ;
		APCP_03:accum_time = "030000" ;
		APCP_03:accum_time_sec = 10800 ;

// global attributes:
		:FileOrigins = "File gfs_2009061000_000_003_G001.nc generated
20101015_185216 UTC on host rambler by the MET pcp_combine tool" ;
		:MET_version = "V3.0" ;
		:MET_tool = "pcp_combine" ;
		:RunCommand = "Addition: 1 files." ;
		:Projection = "Mercator" ;
		:lat_ll = "-48.090000 degrees_north" ;
		:lon_ll = "0.000000 degrees_east" ;
		:lat_ur = "48.090000 degrees_north" ;
		:lon_ur = "0.000000 degrees_east" ;
		:nx = "73" ;
		:ny = "23" ;
}

********************************************************************

CALLING:
/var/autofs/mnt/dakota_d3/projects/CODE/WPP/v3.2/WPPV3/exec/copygb.exe
-xg"002" gfs_2009061000_000_003 gfs_2009061000_000_003_G002.grib
rec 1:0:date 2009061000 APCP kpds5=61 kpds6=1 kpds7=0 levels=(0,0)
grid=2 sfc 0-3hr acc:
  APCP=Total precipitation [kg/m^2]
  timerange 4 P1 0 P2 3 TimeU 1  nx 144 ny 73 GDS grid 0 num_in_ave 0
missing 0
  center 7 subcenter 0 process 82 Table 2 scan: WE:NS winds(N/S)
  latlon: lat  90.000000 to -90.000000 by 2.500000  nxny 10512
          long 0.000000 to -2.500000 by 2.500000, (144 x 73) scan 0
mode 128 bdsgrid 1
  min/max data 0 24.8088  num bits 24  BDS_Ref 0  DecScale 6 BinScale
1

Performing addition command for 1 files.
Reading input file: gfs_2009061000_000_003_G002.grib
Writing output file: gfs_2009061000_000_003_G002.nc
netcdf gfs_2009061000_000_003_G002 {
dimensions:
	lat = 73 ;
	lon = 144 ;
variables:
	float lat(lat, lon) ;
		lat:long_name = "latitude" ;
		lat:units = "degrees_north" ;
		lat:standard_name = "latitude" ;
	float lon(lat, lon) ;
		lon:long_name = "longitude" ;
		lon:units = "degrees_east" ;
		lon:standard_name = "longitude" ;
	float APCP_03(lat, lon) ;
		APCP_03:name = "APCP" ;
		APCP_03:long_name = "Total precipitation" ;
		APCP_03:level = "A3" ;
		APCP_03:units = "kg/m^2" ;
		APCP_03:grib_code = 61 ;
		APCP_03:_FillValue = -9999.f ;
		APCP_03:init_time = "20090610_000000" ;
		APCP_03:init_time_ut = 1244592000 ;
		APCP_03:valid_time = "20090610_030000" ;
		APCP_03:valid_time_ut = 1244602800 ;
		APCP_03:accum_time = "030000" ;
		APCP_03:accum_time_sec = 10800 ;

// global attributes:
		:FileOrigins = "File gfs_2009061000_000_003_G002.nc generated
20101015_185216 UTC on host rambler by the MET pcp_combine tool" ;
		:MET_version = "V3.0" ;
		:MET_tool = "pcp_combine" ;
		:RunCommand = "Addition: 1 files." ;
		:Projection = "LatLon" ;
		:lat_ll = "-90.000000 degrees_north" ;
		:lon_ll = "0.000000 degrees_east" ;
		:delta_lat = "2.500000 degrees" ;
		:delta_lon = "2.500000 degrees" ;
		:Nlat = "73 grid_points" ;
		:Nlon = "144 grid_points" ;
}

********************************************************************

CALLING:
/var/autofs/mnt/dakota_d3/projects/CODE/WPP/v3.2/WPPV3/exec/copygb.exe
-xg"201" gfs_2009061000_000_003 gfs_2009061000_000_003_G201.grib
rec 1:0:date 2009061000 APCP kpds5=61 kpds6=1 kpds7=0 levels=(0,0)
grid=201 sfc 0-3hr acc:
  APCP=Total precipitation [kg/m^2]
  timerange 4 P1 0 P2 3 TimeU 1  nx 65 ny 65 GDS grid 5 num_in_ave 0
missing 0
  center 7 subcenter 0 process 82 Table 2 scan: WE:SN winds(grid)
  polar stereo: Lat1 -20.826000 Long1 -150.000000 Orient -105.000000
     north pole (65 x 65) Dx 381000 Dy 381000 scan 64 mode 9
  min/max data 0 37.2764  num bits 24  BDS_Ref 0  DecScale 6 BinScale
2

Performing addition command for 1 files.
Reading input file: gfs_2009061000_000_003_G201.grib
Writing output file: gfs_2009061000_000_003_G201.nc
netcdf gfs_2009061000_000_003_G201 {
dimensions:
	lat = 65 ;
	lon = 65 ;
variables:
	float lat(lat, lon) ;
		lat:long_name = "latitude" ;
		lat:units = "degrees_north" ;
		lat:standard_name = "latitude" ;
	float lon(lat, lon) ;
		lon:long_name = "longitude" ;
		lon:units = "degrees_east" ;
		lon:standard_name = "longitude" ;
	float APCP_03(lat, lon) ;
		APCP_03:name = "APCP" ;
		APCP_03:long_name = "Total precipitation" ;
		APCP_03:level = "A3" ;
		APCP_03:units = "kg/m^2" ;
		APCP_03:grib_code = 61 ;
		APCP_03:_FillValue = -9999.f ;
		APCP_03:init_time = "20090610_000000" ;
		APCP_03:init_time_ut = 1244592000 ;
		APCP_03:valid_time = "20090610_030000" ;
		APCP_03:valid_time_ut = 1244602800 ;
		APCP_03:accum_time = "030000" ;
		APCP_03:accum_time_sec = 10800 ;

// global attributes:
		:FileOrigins = "File gfs_2009061000_000_003_G201.nc generated
20101015_185216 UTC on host rambler by the MET pcp_combine tool" ;
		:MET_version = "V3.0" ;
		:MET_tool = "pcp_combine" ;
		:RunCommand = "Addition: 1 files." ;
		:Projection = "Polar Stereographic" ;
		:hemisphere = "N" ;
		:scale_lat = "60.000000 degrees_north" ;
		:lat_pin = "-20.826000" ;
		:lon_pin = "-150.000000" ;
		:x_pin = "0.000000" ;
		:y_pin = "0.000000" ;
		:lon_orient = "-105.000000" ;
		:d_km = "381.000000 km" ;
		:r_km = "6367.470000 km" ;
		:nx = "65" ;
		:ny = "65" ;
}

********************************************************************

CALLING:
/var/autofs/mnt/dakota_d3/projects/CODE/WPP/v3.2/WPPV3/exec/copygb.exe
-xg"212" gfs_2009061000_000_003 gfs_2009061000_000_003_G212.grib
rec 1:0:date 2009061000 APCP kpds5=61 kpds6=1 kpds7=0 levels=(0,0)
grid=212 sfc 0-3hr acc:
  APCP=Total precipitation [kg/m^2]
  timerange 4 P1 0 P2 3 TimeU 1  nx 185 ny 129 GDS grid 3 num_in_ave 0
missing 0
  center 7 subcenter 0 process 82 Table 2 scan: WE:SN winds(grid)
  Lambert Conf: Lat1 12.190000 Lon1 -133.459000 Lov -95.000000
      Latin1 25.000000 Latin2 25.000000 LatSP 0.000000 LonSP 0.000000
      North Pole (185 x 129) Dx 40.635000 Dy 40.635000 scan 64 mode 9
  min/max data 0 57.7642  num bits 24  BDS_Ref 0  DecScale 6 BinScale
2

Performing addition command for 1 files.
Reading input file: gfs_2009061000_000_003_G212.grib
Writing output file: gfs_2009061000_000_003_G212.nc
netcdf gfs_2009061000_000_003_G212 {
dimensions:
	lat = 129 ;
	lon = 185 ;
variables:
	float lat(lat, lon) ;
		lat:long_name = "latitude" ;
		lat:units = "degrees_north" ;
		lat:standard_name = "latitude" ;
	float lon(lat, lon) ;
		lon:long_name = "longitude" ;
		lon:units = "degrees_east" ;
		lon:standard_name = "longitude" ;
	float APCP_03(lat, lon) ;
		APCP_03:name = "APCP" ;
		APCP_03:long_name = "Total precipitation" ;
		APCP_03:level = "A3" ;
		APCP_03:units = "kg/m^2" ;
		APCP_03:grib_code = 61 ;
		APCP_03:_FillValue = -9999.f ;
		APCP_03:init_time = "20090610_000000" ;
		APCP_03:init_time_ut = 1244592000 ;
		APCP_03:valid_time = "20090610_030000" ;
		APCP_03:valid_time_ut = 1244602800 ;
		APCP_03:accum_time = "030000" ;
		APCP_03:accum_time_sec = 10800 ;

// global attributes:
		:FileOrigins = "File gfs_2009061000_000_003_G212.nc generated
20101015_185216 UTC on host rambler by the MET pcp_combine tool" ;
		:MET_version = "V3.0" ;
		:MET_tool = "pcp_combine" ;
		:RunCommand = "Addition: 1 files." ;
		:Projection = "Lambert Conformal" ;
		:scale_lat_1 = "25.000000" ;
		:scale_lat_2 = "25.000000" ;
		:lat_pin = "12.190000" ;
		:lon_pin = "-133.459000" ;
		:x_pin = "0.000000" ;
		:y_pin = "0.000000" ;
		:lon_orient = "-95.000000" ;
		:d_km = "40.635000" ;
		:r_km = "6367.470000" ;
		:nx = "185" ;
		:ny = "129 grid_points" ;
}

------------------------------------------------


More information about the Met_help mailing list