[ncl-talk] set_dimension_query

Rick Brownrigg brownrig at ucar.edu
Fri Sep 29 11:45:51 MDT 2017


Hi,

I do not know for certain without examining the file, but it looks like
those values are map-projection parameters, from which curvilinear grid was
generated as equal-area grid cells in lat/lon spac.

Rick

On Fri, Sep 29, 2017 at 10:16 AM, Kunal Bali <kunal.bali9 at gmail.com> wrote:

> Thanks for all the suggestions and help Adam Sir. Now the data is showing
> over the Indian region.
> but one thing I need to confirm here.
>
> Some values in the form of UpperLeftPointMtrs and LowerRightMtrs are given
> in the file ((in the original hdf file) ) description along with X YDim.
>
> So, does these value interfer while creating the lat lon dimensions during
> conversion netcdf from hdf?
>
> Sould these values be consider or we can ignore these values?
>
>
> group: latlon {
>     variables:
>       short _HDFEOS_CRS;
>         :Projection = "GCTP_ALBERS";
>         :*UpperLeftPointMtrs* = -3450000.0, 1600000.0; // double
>         *:LowerRightMtrs* = -2250000.0, 400000.0; // double
>         :ProjParams = 0.0, 0.0, 2.103E7, 4.1E7, 1.02E8, 2.3E7, 0.0, 0.0,
> 0.0, 0.0, 0.0, 0.0, 0.0; // double
>         :SphereCode = "12";
>
>     group: Data_Fields {
>       dimensions:
>         YDim = 1200;
>         XDim = 1200;
>       variables:
>         float lat(YDim=1200, XDim=1200);
>
>         float lon(YDim=1200, XDim=1200);
>
>
>
>
>
>
> Regards
> Kunal Bali
>
>
>
>
> On Thu, Sep 28, 2017 at 9:27 PM, Adam Phillips <asphilli at ucar.edu> wrote:
>
>> Hi Kunal,
>> As the documentation states, latGlobeFo (lonGlobeFo) generates latitudes
>> (longitudes) and associated metadata for a *global* fixed offset grid.
>> https://www.ncl.ucar.edu/Document/Functions/Contributed/latGlobeFo.shtml
>> https://www.ncl.ucar.edu/Document/Functions/Contributed/lonGlobeFo.shtml
>> If you need to create coordinates for a regional grid, then you will have
>> to do it by hand. For example, if you know your data are equally spaced in
>> the both the latitude and longitude direction from 0:40N, 60:100E (for
>> example), you can set up your coordinates like this:
>>
>> lat = fspan(0,40,1200)
>> lon = fspan(60,100,1200)
>> print(lat)   ; check that these are the correct coordinates
>> print(lon)   ; check that these are the correct coordinates
>> lat at units = "degrees_north"
>> lat!0 = "lat"
>> lat&lat = lat
>> lon at units = "degrees_east"
>> lon!0 = "lon"
>> lon&lon = lon
>> var!0 = "lat"    ; you can name these dimensions whatever you want..
>> var!1 = "lon"
>> var&lat = lat     ; but make sure you refer to the correct named
>> dimensions
>> var&lon = lon
>>
>> The above is similar to what latGlobeFo/lonGlobeFo do for global grids.
>> Hope that helps. If you have further questions please respond to ncl-talk.
>> Adam
>>
>> On Tue, Sep 26, 2017 at 10:26 AM, Kunal Bali <kunal.bali9 at gmail.com>
>> wrote:
>>
>>> Thanks for all the suggestions Dennis sir.
>>> But now I have come to know that the dimensions
>>>
>>> nlat=1200
>>> nlon=1200
>>>
>>> are belongs to only of Indian region.
>>>
>>> And the code I am using below is not displaying the data over Indian
>>> region.
>>>
>>>  lat = latGlobeFo(nlat, "lat", "latitude", "degrees_north")
>>>  lon = lonGlobeFo(nlon, "lon", "longitude", "degrees_east")
>>> lat = lat(::-1)
>>> lon = (/ lon - 180. /)  ; subtract 180 from all values
>>> lon&lon = lon
>>>
>>> So please help me regarding this issue.
>>>
>>> regards
>>> Kunal Bali
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Sep 19, 2017 at 10:36 PM, Dennis Shea <shea at ucar.edu> wrote:
>>>
>>>> Ditto what Marston posted.
>>>>
>>>> ===
>>>> Please look at NCL's FAQ.
>>>>
>>>> [1] Click "Support" at top of page
>>>> [2] Click FAQ
>>>>
>>>> I think it would be instructive to look at all of the topics.
>>>>
>>>> For example:
>>>>
>>>> *Error messages and other issues*
>>>> Look at #7
>>>>
>>>>
>>>>
>>>> On Tue, Sep 19, 2017 at 3:03 AM, Marston Johnston <shejo284 at gmail.com>
>>>> wrote:
>>>>
>>>>> It tells you in the warning message, exactly what to do to remove the
>>>>> warning.
>>>>>
>>>>> If you want to improve you coding skills, it would better to
>>>>> understand why the warning is occurring in the first place: dimension 0 and
>>>>> 1 of the variable you are passing has no names or the names do not match
>>>>> the variable on the lhs.
>>>>>
>>>>>
>>>>>
>>>>> /M
>>>>>
>>>>>
>>>>>
>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>
>>>>> Marston S. Ward, PhD
>>>>>
>>>>> Department of Earth Sciences
>>>>>
>>>>> University of Gothenburg, Sweden
>>>>>
>>>>> Email: marston.johnston at gu.se
>>>>>
>>>>> SkypeID: marston.johnston
>>>>>
>>>>> Phone: +46-31-7864901 <+46%2031%20786%2049%2001>
>>>>>
>>>>> Only the fruitful thing is true!
>>>>>
>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *From: *ncl-talk <ncl-talk-bounces at ucar.edu> on behalf of Kunal Bali <
>>>>> kunal.bali9 at gmail.com>
>>>>> *Date: *Tuesday, 19 September 2017 at 10:50
>>>>> *Cc: *"ncl-talk at ucar.edu" <ncl-talk at ucar.edu>
>>>>> *Subject: *Re: [ncl-talk] set_dimension_query
>>>>>
>>>>>
>>>>>
>>>>> Thank you for providing this information.
>>>>>
>>>>> It's working. The script given below is now able to convert multiple
>>>>> files into .netcdf with the desired file name.
>>>>> However, on the same time, it also shows some warnings. But noted
>>>>> that, I am successfully creating the multiple files into the netcdf. I just
>>>>> need to know that how can I remove these warnings?
>>>>>
>>>>> warning:VarVarWrite: Dimension names for dimension number (0) don't
>>>>> match, assigning name of rhs dimension to lhs and overwriting coordinate
>>>>> variable, use "(/../)" if this change is not desired
>>>>> warning:VarVarWrite: Dimension names for dimension number (1) don't
>>>>> match, assigning name of rhs dimension to lhs and overwriting coordinate
>>>>> variable, use "(/../)" if this change is not desired
>>>>> warning:["Execute.c":8640]:Execute: Error occurred at or near line 22
>>>>> in file netcdf2.ncl
>>>>>
>>>>>
>>>>>
>>>>> ;-----------------------------------------------------------
>>>>> -----------
>>>>>
>>>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>>>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>>>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
>>>>>
>>>>> begin
>>>>> ;---Read data
>>>>>
>>>>>         diri = "/Users/Pushp/Desktop/test/"   ; input directory
>>>>>         fili  = systemfunc("cd "+diri+" ; ls MAIACTAOT.h00v02*hdf")
>>>>>         nfili = dimsizes(fili)
>>>>>         print("nfili="+nfili)
>>>>>
>>>>>
>>>>>         dirnc = "/Users/Pushp/Desktop/test/"   ; output (netCDF)
>>>>> directory
>>>>>
>>>>>         do nf=0,nfili-1
>>>>>         pthi = diri+fili(nf)
>>>>>         f    = addfile(pthi,"r")
>>>>>
>>>>>         var  = short2flt(f->Optical_Depth_055(:,:))
>>>>>
>>>>>         nlat = 1200
>>>>>         nlon = 1200
>>>>>         lat  = latGlobeFo(nlat, "lat", "latitude", "degrees_north")
>>>>>         lon  = lonGlobeFo(nlon, "lon", "longitude", "degrees_east")
>>>>>     ;    lat  = lat(::-1)
>>>>>         lon  = (/ lon - 180. /)  ; subtract 180 from all values
>>>>>         lon&lon = lon           ; update coordinates
>>>>>
>>>>>         var!0 = "lat"    ; you can name these dimensions whatever you
>>>>> want..
>>>>>         var!1 = "lon"
>>>>>         var&lat = lat     ; but make sure you refer to the correct
>>>>> named dimensions
>>>>>         var&lon = lon
>>>>>
>>>>>
>>>>>      filroot = str_get_cols(fili(nf), 0, 27)  ; eg:
>>>>> "MAIACTAOT.h00v02.20000570505"
>>>>>      filnc    = filroot+".nc"
>>>>>      pthnc  = dirnc + filnc
>>>>>
>>>>>      system("/bin/rm -f "+pthnc)
>>>>>      ncdf = addfile(pthnc,"c")  ; open new netCDF file
>>>>>
>>>>>
>>>>>      end do    ; end 'nf' loop
>>>>>
>>>>>    ;     system("/bin/rm -f simple2.nc")
>>>>>    ;     ncdf = addfile("simple2.nc" ,"c")  ; open output netCDF file
>>>>>
>>>>>     ;===========================================================
>>>>> ========
>>>>>     ; create global attributes of the file (optional)
>>>>>     ;===========================================================
>>>>> ========
>>>>>        fAtt               = True            ; assign file attributes
>>>>>        fAtt at title         = "NCL Simple Approach to netCDF Creation"
>>>>>        fAtt at source_file   =  "original-file.nc"
>>>>>        fAtt at Conventions   = "None"
>>>>>        fAtt at creation_date = systemfunc ("date")
>>>>>        fileattdef( ncdf, fAtt )            ; copy file attributes
>>>>>
>>>>>     ;===========================================================
>>>>> ========
>>>>>     ; make time an UNLIMITED dimension; recommended  for most
>>>>> applications
>>>>>     ;===========================================================
>>>>> ========
>>>>>        filedimdef(ncdf,"time",-1,True)
>>>>>
>>>>> ;       ncdf->var&lat = lat
>>>>> ;       ncdf->var&lon = lon
>>>>>        ncdf->var = var
>>>>>
>>>>> end
>>>>>
>>>>>
>>>>> Kunal Bali
>>>>>
>>>>> Research Scholar
>>>>>
>>>>> Radio & Atmospheric Science Division
>>>>>
>>>>> CSIR - National Physical Laboratory
>>>>>
>>>>> New Delhi - 110012
>>>>>
>>>>> India
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Sep 18, 2017 at 9:04 PM, Dennis Shea <shea at ucar.edu> wrote:
>>>>>
>>>>> Loop over the files ...
>>>>>
>>>>>
>>>>>  diri = "/media/Local Disk/NPL/MODIS_FPC/"   ; input directory
>>>>>
>>>>>  fili  = systemfunc("cd "+diri +; ls MAIACTAOT.h00v02*hdf")
>>>>>
>>>>>  nfili = dimsizes(fili)
>>>>>
>>>>>  print("nfili="+nfili)
>>>>>
>>>>>  dirnc = "/media/Local Disk/NPL/MODIS_FPC/"   ; output (netCDF)
>>>>> directory
>>>>>
>>>>>
>>>>>
>>>>>  do nf=0,nfili-1
>>>>>
>>>>>       pthi = diri+fili(nf)
>>>>>
>>>>>       f      = addfile(pthi,"r")
>>>>>
>>>>>       ....
>>>>>
>>>>>      filroot = *str_get_cols*(fili(nf), 0, 27)  ; eg:
>>>>> "MAIACTAOT.h00v02.20000570505"
>>>>>
>>>>>      filnc    = filroot+".nc"
>>>>>
>>>>>      pthnc  = dirnc + filnc
>>>>>
>>>>>      system("/bin/rm -f "+pthnc)
>>>>>      ncdf = addfile(pthnc,"c")  ; open new netCDF file
>>>>>
>>>>>      ....
>>>>>
>>>>> end do    ; end 'nf' loop
>>>>>
>>>>>
>>>>> =====
>>>>>
>>>>> If there is something you do not understand use some print statements.
>>>>>
>>>>> Become familiar with the 'string' category. Look at all the functions.
>>>>>
>>>>>    https://www.ncl.ucar.edu/Document/Functions/string.shtml
>>>>>
>>>>> Please read the documentation for the function used above
>>>>>
>>>>>    https://www.ncl.ucar.edu/Document/Functions/Built-in/str_get
>>>>> _cols.shtml
>>>>>
>>>>> Good Luck
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Sep 18, 2017 at 6:11 AM, Kunal Bali <kunal.bali9 at gmail.com>
>>>>> wrote:
>>>>>
>>>>> Thnks for the reply.
>>>>>
>>>>>
>>>>>
>>>>> that will change the name of only one file. isn't it. but what about
>>>>> the other files
>>>>>
>>>>> I have 365 files in one directory and I need to change all the file
>>>>> name one by one.
>>>>>
>>>>>
>>>>> Kunal Bali
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Sep 18, 2017 at 5:14 PM, Dennis Shea <shea at ucar.edu> wrote:
>>>>>
>>>>> Really?
>>>>>
>>>>> Change:
>>>>>       system("/bin/rm -f simple.nc")
>>>>>       ncdf = addfile("simple.nc" ,"c")
>>>>>
>>>>> To:
>>>>>       system("/bin/rm -f MAIACTAOT.h00v02.20000570505.nc
>>>>> <http://simple.nc>")
>>>>>       ncdf = addfile("MAIACTAOT.h00v02.20000570505.nc" ,"c")
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Sep 18, 2017 at 12:37 AM, Kunal Bali <kunal.bali9 at gmail.com>
>>>>> wrote:
>>>>>
>>>>> Thanks, it worked.
>>>>>
>>>>> one more question is that.
>>>>>
>>>>> I used the code (given below). So it gives simple.nc name as an
>>>>> output file.
>>>>>
>>>>> ncdf = addfile("simple.nc" ,"c")
>>>>>
>>>>> If I want to keep the original file name with the output file name
>>>>> then what should I do?
>>>>>
>>>>> I mean the original file name is MAIACTAOT.h00v02.20003660700.hdf
>>>>>
>>>>> Now I want to create my netcdf file name  as
>>>>> MAIACTAOT.h00v02.20003660700.nc NOT simple.nc.
>>>>>
>>>>> I can not simply write simple.nc file name because I have many files.
>>>>>
>>>>> e.g I have one directory having 365 .hdf file. So I need to convert
>>>>> all the hdf file to netcdf file at once with the same name of original file
>>>>> names.
>>>>>
>>>>> I hope you have got my query.
>>>>>
>>>>> please let me know that too.
>>>>>
>>>>>
>>>>>
>>>>> Thank You
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Kunal Bali
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Sep 14, 2017 at 9:09 PM, Adam Phillips <asphilli at ucar.edu>
>>>>> wrote:
>>>>>
>>>>> Hi Kunal,
>>>>>
>>>>> It looks to me like your latitudes are flipped. You are setting up and
>>>>> assigning your coordinate lat/lon variables in this coding:
>>>>>
>>>>>
>>>>>
>>>>> nlat = 1200
>>>>> nlon = 1200
>>>>> lat = latGlobeFo(nlat, "lat", "latitude", "degrees_north")
>>>>>
>>>>> lon = lonGlobeFo(nlon, "lon", "longitude", "degrees_east")
>>>>> lat = lat(::-1)
>>>>> lon = (/ lon - 180. /)  ; subtract 180 from all values
>>>>>
>>>>> lon&lon = lon           ; update coordinates
>>>>>
>>>>> var!0 = "lat"    ; you can name these dimensions whatever you want..
>>>>> var!1 = "lon"
>>>>> var&lat = lat     ; but make sure you refer to the correct named
>>>>> dimensions
>>>>> var&lon = lon
>>>>>
>>>>>
>>>>>
>>>>> Assuming I'm right on your latitudes being the issue, one of the
>>>>> following two modifications should work:
>>>>>
>>>>> Delete this line:
>>>>>
>>>>> lat = lat(::-1)
>>>>>
>>>>>
>>>>>
>>>>> If the above doesn't fix it, try this:
>>>>>
>>>>> Change this:
>>>>>
>>>>> lat = lat(::-1)
>>>>>
>>>>> to this:
>>>>>
>>>>> lat = lat(::-1)
>>>>>
>>>>> lat&lat = lat
>>>>>
>>>>>
>>>>>
>>>>> If you continue to have issues please respond to ncl-talk.
>>>>>
>>>>> Adam
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Sep 13, 2017 at 12:35 PM, Kunal Bali <kunal.bali9 at gmail.com>
>>>>> wrote:
>>>>>
>>>>>
>>>>>
>>>>> For direct output as a netcdf format, I used the script given below.
>>>>> It produced the netcdf file easily. But the netcdf file and original hdf
>>>>> file both showing the different results. The data pattern is shifted. I
>>>>> mean it may be related to the lat lon position. please see the attached
>>>>> file, you will understand.  And please let me know which one is correct.
>>>>>
>>>>> ;-----------------------------------------------------------
>>>>> -----------
>>>>>
>>>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>>>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>>>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
>>>>>
>>>>> begin
>>>>> ;---Read data
>>>>>         a = addfile("/media/Local Disk/NPL/MODIS_FPC/MAIACTAOT.h
>>>>> 00v02.20000570505.hdf","r")
>>>>>         var  = short2flt(a->Optical_Depth_055(:,:))
>>>>>             ;          short2flt(a[:]->noxfire)
>>>>>         nlat = 1200
>>>>>         nlon = 1200
>>>>>         lat = latGlobeFo(nlat, "lat", "latitude", "degrees_north")
>>>>>         lon = lonGlobeFo(nlon, "lon", "longitude", "degrees_east")
>>>>>         lat = lat(::-1)
>>>>>         lon = (/ lon - 180. /)  ; subtract 180 from all values
>>>>>         lon&lon = lon           ; update coordinates
>>>>>
>>>>>         var!0 = "lat"    ; you can name these dimensions whatever you
>>>>> want..
>>>>>         var!1 = "lon"
>>>>>         var&lat = lat     ; but make sure you refer to the correct
>>>>> named dimensions
>>>>>         var&lon = lon
>>>>>
>>>>>                  system("/bin/rm -f simple.nc")
>>>>>              ncdf = addfile("simple.nc" ,"c")  ; open output netCDF
>>>>> file
>>>>>
>>>>>     ;===========================================================
>>>>> ========
>>>>>     ; create global attributes of the file (optional)
>>>>>     ;===========================================================
>>>>> ========
>>>>>        fAtt               = True            ; assign file attributes
>>>>>        fAtt at title         = "NCL Simple Approach to netCDF Creation"
>>>>>        fAtt at source_file   =  "original-file.nc"
>>>>>        fAtt at Conventions   = "None"
>>>>>        fAtt at creation_date = systemfunc ("date")
>>>>>        fileattdef( ncdf, fAtt )            ; copy file attributes
>>>>>
>>>>>     ;===========================================================
>>>>> ========
>>>>>     ; make time an UNLIMITED dimension; recommended  for most
>>>>> applications
>>>>>     ;===========================================================
>>>>> ========
>>>>>        filedimdef(ncdf,"time",-1,True)
>>>>>        ncdf->var = var
>>>>>
>>>>> end
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Kunal Bali
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Sep 13, 2017 at 11:27 PM, Kunal Bali <kunal.bali9 at gmail.com>
>>>>> wrote:
>>>>>
>>>>> No problem, I sorted out.
>>>>>
>>>>> Just changed short to float.
>>>>>
>>>>>
>>>>> Kunal Bali
>>>>>
>>>>> Research Scholar
>>>>>
>>>>> Radio & Atmospheric Science Division
>>>>>
>>>>> CSIR - National Physical Laboratory
>>>>>
>>>>> New Delhi - 110012
>>>>>
>>>>> India
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Sep 13, 2017 at 11:24 PM, Kunal Bali <kunal.bali9 at gmail.com>
>>>>> wrote:
>>>>>
>>>>> Thanks for providing this information.
>>>>>
>>>>> Also, I would like to mention that when I plot this data. The values
>>>>> are not in the domain. I mean the real values lie in-between 0 to 1 but
>>>>> here it is reaching to 400.
>>>>>
>>>>> So, how to correct the values?
>>>>>
>>>>> Description of the variable is
>>>>>
>>>>> short Optical_Depth_055(YDim=1200, XDim=1200);
>>>>>   :long_name = "AOT at 0.55 micron";
>>>>>   :scale_factor = 0.001; // double
>>>>>   :add_offset = 0.0; // double
>>>>>   :unit = "None";
>>>>>   :_FillValue = -28672S; // short
>>>>>   :valid_range = -100S, 5000S; // short
>>>>>
>>>>>
>>>>>
>>>>> Kunal Bali
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Sep 13, 2017 at 10:28 PM, Adam Phillips <asphilli at ucar.edu>
>>>>> wrote:
>>>>>
>>>>> Hi Kunal,
>>>>>
>>>>> Yes, clicking on the output netCDF link from the Applications page:
>>>>>
>>>>> http://www.ncl.ucar.edu/Applications/o-netcdf.shtml
>>>>>
>>>>> I would recommend following the inefficient method #1. Unless you are
>>>>> writing a file with many large variables, the inefficient method works just
>>>>> fine.
>>>>>
>>>>> http://www.ncl.ucar.edu/Applications/method_1.shtml
>>>>>
>>>>> Good luck,
>>>>>
>>>>> Adam
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Sep 13, 2017 at 10:25 AM, Kunal Bali <kunal.bali9 at gmail.com>
>>>>> wrote:
>>>>>
>>>>> Thank you so much, it worked
>>>>>
>>>>> I want to know one more thing.
>>>>> After rearranging the dimensions can we now convert (or write) this
>>>>> arranged file into netcdf format?
>>>>>
>>>>>
>>>>>
>>>>> Kunal Bali
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Sep 13, 2017 at 8:55 PM, Adam Phillips <asphilli at ucar.edu>
>>>>> wrote:
>>>>>
>>>>> Hi Kunal,
>>>>>
>>>>> I think you just need to rearrange the order of your lines and tweak a
>>>>> couple of lines. As the error message states, lat is not defined in your
>>>>> 3rd line and you are referring to it as if it is.Try this:
>>>>>
>>>>> a = addfile("/media/Local Disk/NPL/MODIS_FPC/MAIACTAOT.h
>>>>> 00v02.20000570505.hdf","r")
>>>>> var  = a->Optical_Depth_055(:,:)
>>>>> nlat = 1200
>>>>> nlon = 1200
>>>>> lat = latGlobeFo(nlat, "lat", "latitude", "degrees_north")
>>>>>
>>>>> lon = lonGlobeFo(nlon, "lon", "longitude", "degrees_east")
>>>>> lat = lat(::-1)
>>>>> lon = (/ lon - 180. /)  ; subtract 180 from all values
>>>>> lon&lon = lon           ; update coordinates
>>>>>
>>>>> var!0 = "lat"    ; you can name these dimensions whatever you want..
>>>>> var!1 = "lon"
>>>>>
>>>>> var&lat = lat     ; but make sure you refer to the correct named
>>>>> dimensions
>>>>>
>>>>> var&lat = lon
>>>>>
>>>>> ;var&XDim_grid1km = lat
>>>>> ;var&YDim_grid1km = lon
>>>>>
>>>>>
>>>>> If you have any further questions please respond to the ncl-talk email
>>>>> list.
>>>>>
>>>>> Adam
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Sep 13, 2017 at 8:38 AM, Kunal Bali <kunal.bali9 at gmail.com>
>>>>> wrote:
>>>>>
>>>>> Dear NCL
>>>>>
>>>>> I have a file with the variable summary. The dimensions are in 2D.
>>>>>
>>>>> ncl 2>  printVarSummary(var)
>>>>>
>>>>> Variable: var
>>>>> Type: short
>>>>> Total Size: 2880000 bytes
>>>>>             1440000 values
>>>>> Number of Dimensions: 2
>>>>> Dimensions and sizes:    [*YDim_grid1km | 1200] x [XDim_grid1km |
>>>>> 1200]*
>>>>> Coordinates:
>>>>> Number Of Attributes: 7
>>>>>   long_name :    AOT at 0.55 micron
>>>>>   scale_factor :    0.001
>>>>>   add_offset :       0
>>>>>   unit :    None
>>>>>   _FillValue :    -28672
>>>>>   valid_range :    ( -100, 5000 )
>>>>>   hdf_name :    Optical_Depth_055
>>>>>
>>>>> I am trying to read the dimensions of this file as
>>>>>
>>>>> begin
>>>>> ;---Read data
>>>>>          a = addfile("/media/Local Disk/NPL/MODIS_FPC/MAIACTAOT.h
>>>>> 00v02.20000570505.hdf","r")
>>>>>
>>>>>             var  = a->Optical_Depth_055(:,:)
>>>>>
>>>>>          var&XDim_grid1km = lat
>>>>>          var&YDim_grid1km = lon
>>>>>
>>>>>         nlat = 1200
>>>>>          nlon = 1200
>>>>>             lat = latGlobeFo(nlat, "lat", "latitude", "degrees_north")
>>>>>         lon = lonGlobeFo(nlon, "lon", "longitude", "degrees_east")
>>>>>             lat = lat(::-1)
>>>>>             lon = (/ lon - 180. /)  ; subtract 180 from all values
>>>>>             lon&lon = lon           ; update coordinates
>>>>>
>>>>>
>>>>>         var!0 = "lat"
>>>>>         var!1 = "lon"
>>>>>
>>>>>
>>>>> But the error appeared as
>>>>> *fatal:Variable (lat) is undefined*
>>>>>
>>>>>
>>>>>
>>>>> So, could anyone please let me know that how to read dimension of this
>>>>> file.
>>>>>
>>>>> Thank You
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Regards
>>>>>
>>>>> Kunal Bali
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> ncl-talk mailing list
>>>>> ncl-talk at ucar.edu
>>>>> List instructions, subscriber options, unsubscribe:
>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Adam Phillips
>>>>>
>>>>> Associate Scientist,  Climate and Global Dynamics Laboratory, NCAR
>>>>>
>>>>> www.cgd.ucar.edu/staff/asphilli/   303-497-1726 <%28303%29%20497-1726>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> ncl-talk mailing list
>>>>> ncl-talk at ucar.edu
>>>>> List instructions, subscriber options, unsubscribe:
>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Adam Phillips
>>>>>
>>>>> Associate Scientist,  Climate and Global Dynamics Laboratory, NCAR
>>>>>
>>>>> www.cgd.ucar.edu/staff/asphilli/   303-497-1726 <%28303%29%20497-1726>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> ncl-talk mailing list
>>>>> ncl-talk at ucar.edu
>>>>> List instructions, subscriber options, unsubscribe:
>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Adam Phillips
>>>>>
>>>>> Associate Scientist,  Climate and Global Dynamics Laboratory, NCAR
>>>>>
>>>>> www.cgd.ucar.edu/staff/asphilli/   303-497-1726 <%28303%29%20497-1726>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> ncl-talk mailing list
>>>>> ncl-talk at ucar.edu
>>>>> List instructions, subscriber options, unsubscribe:
>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> ncl-talk mailing list
>>>>> ncl-talk at ucar.edu
>>>>> List instructions, subscriber options, unsubscribe:
>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________ ncl-talk mailing list
>>>>> ncl-talk at ucar.edu List instructions, subscriber options, unsubscribe:
>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>
>>>>> _______________________________________________
>>>>> ncl-talk mailing list
>>>>> ncl-talk at ucar.edu
>>>>> List instructions, subscriber options, unsubscribe:
>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> ncl-talk mailing list
>>> ncl-talk at ucar.edu
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>
>>>
>>
>>
>> --
>> Adam Phillips
>> Associate Scientist,  Climate and Global Dynamics Laboratory, NCAR
>> www.cgd.ucar.edu/staff/asphilli/   303-497-1726 <(303)%20497-1726>
>>
>> <http://www.cgd.ucar.edu/staff/asphilli>
>>
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170929/0f80bc03/attachment.html>


More information about the ncl-talk mailing list