create longitude and latitude in netcdf

From: Jiaxin Zhang <jiaxinzhang3_at_nyahnyahspammersnyahnyah>
Date: Thu Jun 27 2013 - 21:03:13 MDT

Now it works.
 Thank you so much, Dennis!

Jiaxin Zhang

2013/6/27 Dennis Shea <shea@ucar.edu>

> [1] The 'new' file has variables named x, y, lat and lon.
> Each of these variables has a dimension named 'land'
> *None* of these is a "coordinate variable" (CV) because they
> are not monotonic.
>
> [2] To create a grid which is filled with the 'tair' at
> each lat/lon point requires that you create a grid template
> and fill the template with each point.
>
> See attached.
>
> The created file has two CVs: LAT and LON
>
> netcdf tair_2010_model_1time_**newlonlat.grid {
> dimensions:
> LAT = 180 ;
> LON = 360 ;
> variables:
> float tair(LAT, LON) ;
> tair:long_name = "temperature" ;
> tair:units = "K" ;
> tair:_FillValue = -1.e+34f ;
> float LAT(LAT) ;
> LAT:units = "degrees_north" ;
> float LON(LON) ;
> LON:units = "degrees_east" ;
>
>
> Good luck
>
>
>
> On 6/26/13 5:12 PM, Jiaxin Zhang wrote:
>
>> Thank you so much, Dennis!
>>
>>
>>
>> I have modified the ncl code (deleting “.0” gives integer values in the y
>> calculation) and now the lon computation is correct (attached file).
>>
>>
>>
>> But I still have one issue. I need to add lat and lon as coordinate
>> variables for air temperature. According to the second condition that you
>> mentioned, lat and lon should be not only variables but also dimensions,
>> right? The new netcdf has only 1 dimension (land), and I guess it would be
>> necessary to add lat and lon as dimensions. Then, probably all 3
>> requirements would be satisfied for both lat and lon, and it would be
>> possible to add them as coordinate variables for air temperature.
>>
>>
>>
>> I was trying to add lat and lon as dimensions in the last part of the
>> first
>> code version that I sent (the strange part of the code that you
>> mentioned),
>> but it did not work (problems with dimensions). I guess there is a way to
>> do it, but I did not find it in the NCL documents that I checked. How is
>> it
>> possible to add lat and lon as dimensions in the file? How is it possible
>> to add lat and lon as coordinate variables for air temperature? What has
>> to
>> be modified in the attached ncl code to do this part successfully?
>>
>>
>>
>> Thank you!
>>
>>
>>
>> Jiaxin Zhang
>>
>>
>> 2013/6/26 Dennis Shea <shea@ucar.edu>
>>
>> The script you attached is rather confusing.
>>> Basically, the file contains land only grid pts
>>> in a one dimensional array. The lat and lon values
>>> can only be reconstructed for the land points.
>>>
>>> The file has a varaible
>>> land(land)
>>>
>>> This is known as a 'coordinate variable' (CV) in netCDF-speak
>>>
>>> http://www.unidata.ucar.edu/****software/netcdf/docs/**<http://www.unidata.ucar.edu/**software/netcdf/docs/**>
>>> coordinate_variables.html<http**://www.unidata.ucar.edu/**
>>> software/netcdf/docs/**coordinate_variables.html<http://www.unidata.ucar.edu/software/netcdf/docs/coordinate_variables.html>>
>>>
>>>
>>>
>>> Requirements for a CV
>>> (1) one dimensional
>>> (2) dimension name ('land') is the same as the variable name
>>> [land(land)]
>>> (3) numeric, monotonically increasing or decreasing values
>>>
>>> The land(land) satisfies the first two conditions but fails [3].
>>>
>>> CVs have a special status in NCL. Since this is not a CV the
>>> attached script addresses the issue.
>>>
>>> ==
>>> No idea why you did
>>>
>>> temp!0 = "newland"
>>> temp!1 = "newlat"
>>> temp!2 = "newlon"
>>>
>>> temp&newland = land
>>> temp&newlat = lat
>>> temp&newlon = lon
>>> ===
>>>
>>> NOTE: the lat computation looks good. The lon computation is
>>> not correct. It is your responsibility to fix that.
>>> Always examine the output from printVarSummary(...)
>>>
>>>
>>>
>>>
>>> On 6/25/13 5:26 PM, Jiaxin Zhang wrote:
>>>
>>> Hi,
>>>>
>>>>
>>>>
>>>> I am a new NCL user. After having a look at the NCL Mini-Language Manual
>>>> and other resources in the NCL website I still could not find a solution
>>>> for this problem.
>>>>
>>>>
>>>>
>>>> I have a netcdf file (attached file "tair_2010_model_1time.nc") with
>>>> air
>>>> temperature values and the only coordinates in the file are land numbers
>>>> (calculated from longitude and latitude values). However, I need to add
>>>> the
>>>> traditional coordinates with longitude and latitude associated with air
>>>> temperature values in the netcdf file.
>>>>
>>>>
>>>>
>>>> To calculate back longitude and latitude values from land values, there
>>>> are
>>>> the following equations:
>>>>
>>>>
>>>>
>>>> y = INT( (land – 1) / 360) ! lat index from 0 to 179
>>>>
>>>> x = land – 360 * y ! lon index from 1 to 360
>>>>
>>>> lat = 89.5 – y
>>>>
>>>> lon = -179.5 + x – 1
>>>>
>>>>
>>>>
>>>> I tried to do these calculations and create the variables y, x, lat and
>>>> lon
>>>> in a new netcdf file and apparently this part works (can anyone please
>>>> let
>>>> me know if this part is correct in the attached ncl code
>>>> "newlonlat.ncl"?
>>>> It is the first time I am creating new variables in a netcdf file and I
>>>> am
>>>> not completely sure that this is the best way to do it. I have used the
>>>> function "toint" to convert y to integer values). But one of the main
>>>> problems seems to be related with the number of dimensions. The original
>>>> netcdf has only 1 dimension (land), whereas in the new netcdf, I would
>>>> need
>>>> to have more dimensions (at least longitude and latitude), and it seems
>>>> that this gives an error message. Also, longitude and latitude should be
>>>> coordinate variables for air temperature in the new netcdf file.
>>>>
>>>>
>>>>
>>>> Could anyne please help me to find where the error lies and modify the
>>>> attached script to create the correct netcdf file, including new values
>>>> for
>>>> longitude and latitude as coordinate variables for air temperature?
>>>>
>>>>
>>>>
>>>> Any help will be very appreciated!
>>>>
>>>>
>>>>
>>>> Thank you!
>>>>
>>>>
>>>>
>>>> Jiaxin Zhang
>>>>
>>>>
>>>>
>>>> ______________________________****_________________
>>>>
>>>> ncl-talk mailing list
>>>> List instructions, subscriber options, unsubscribe:
>>>> http://mailman.ucar.edu/****mailman/listinfo/ncl-talk<http://mailman.ucar.edu/**mailman/listinfo/ncl-talk>
>>>> <http**://mailman.ucar.edu/mailman/**listinfo/ncl-talk<http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>>>> >
>>>>
>>>>
>>>>
>>
>>
>> ______________________________**_________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/**mailman/listinfo/ncl-talk<http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>>
>>

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Thu Jun 27 21:03:22 2013

This archive was generated by hypermail 2.1.8 : Mon Jul 01 2013 - 12:35:42 MDT