[ncl-talk] set_dimension_query

Kunal Bali kunal.bali9 at gmail.com
Thu Oct 5 10:11:51 MDT 2017


Dear David Sir, Thank you so much for this information. It worked nicely.
Now I am able to create and plot *(PLOT_1)* netcdf file easily.

But, I also got some suggestions by Rick sir and the script which he
attached from that script my plot *(PLOT_2)* just shifted. So I am little
confused that which one is correct.

And the grid_1km structure for the given file also attached. (( the hdf
file was attached in previous mail)). MAIACTAOT.*h00v02*.20000570505.hdf

the script I used for creating netcdf is also attached.

please provide some information on that as well.



Kunal Bali






On Thu, Oct 5, 2017 at 1:57 AM, Rick Brownrigg <brownrig at ucar.edu> wrote:

> HI,
>
> Just add to what Dave said:
>
> Attached is a script that shows how to put these things together when
> plotting. The script generates a contour plot of the variable "var" over a
> map. Note that most of the data are missing, and only a triangular shaped
> piece shows up in the southwest corner of the overall grid. You can see
> this by commenting out the lines noted in the script (BTW: this is true for
> the file you originally sent me "MAIACTAOT.h00v02.20000570505.hdf, I
> don't know about any others).
>
> You also may still have a scaling issue to deal with in the conversion
> script. Note that the original variable that "var" is derived from contains
> scaling and offset attributes, The offset is zero, but I **think** (not
> certain) you want to multiply the data by that value.
>
> Rick
>
> On Wed, Oct 4, 2017 at 11:08 AM, David Brown <dbrown at ucar.edu> wrote:
>
>> Hi Kunai,
>> The lat2d and lon2d attributes are only recognized by the NCL graphics
>> routines. NetCDF only supports attributes with no more than 1
>> dimension. When you have 2d coordinates you should just write them
>> directly to the NetCDF file as separate variables. Furthermore your 2d
>> coordinates should have the same dimension names as the data variable
>> and to be CF compliant the data variable should have a coordinates
>> attribute that lists the names of the coordinate variables.
>>
>> So if you want the coordinates to be named "lat" and "lon", then you
>> should introduce two new dimension names, for example, "x" and "y",
>> that will be shared by the data variable and the coordinate variables:
>>
>> So replace this code:
>>
>>  lat!0 = "lat"
>>  ; lat&lat = lat
>>  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
>>
>>  var at lat2d = lat
>>  var at lon2d = lon
>>
>> with
>>
>> lat!0 = "y"
>> lat!1 = "x"
>> lon!0 = "y"
>> lon!1 = "x"
>> var!0 = "x'
>> var!1 = "y"
>>
>> var at coordinates = "lat lon"
>>
>> then add after (or before - it shouldn't matter) this line:
>>
>> ncdf->var = var
>>
>> ncdf->lat = lat
>> ncfd->lon = lon
>>
>>
>> Hope this helps.
>>  -dave
>>
>>
>>
>>
>> On Wed, Oct 4, 2017 at 3:05 AM, Kunal Bali <kunal.bali9 at gmail.com> wrote:
>> > Hello Rick sir, I tried your suggestion, but it did not work.
>> >
>> > because lons and lats are not in the a
>> > That's why it shows the error variable (lons) is not in file (a)
>> > So, I removed the part from the given script (below) and then tried. But
>> > still not succeed in generating the netcdf file.
>> >
>> > please let me know if you have any more suggestions.
>> >
>> > ;----------------------------------------------------------------------
>> >
>> > 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("/Users/Pushp/Desktop/test/MAIACTAOT.h01v03.20003660
>> 525.hdf","r")
>> >       var  = short2flt(a->Optical_Depth_055(:,:))
>> >
>> >       x = fspan(-3450000.+500., -2250000.-500., 1200)
>> >       y = fspan(400000.-500., -800000.+500., 1200)
>> >
>> >       x := conform_dims((/1200, 1200/), x, 1)
>> >       y := conform_dims((/1200, 1200/), y, 0)
>> >
>> >
>> >       src = "+proj=aea +lat_0=23.0 +lat_1=21d03m +lat_2=41 +lon_0=102
>> > +ellps=clrk66"
>> >       dst = "+proj=latlon +ellps=sphere"
>> >       x := flt2dble(ndtooned(x))
>> >       y := flt2dble(ndtooned(y))
>> >       z = x   ; A quick-n-dirty way to get an empty Z array of same
>> > dimensions/type
>> >       z = 0.   ;
>> >       transform_coordinate(src, dst, x, y, z)
>> >
>> >     ; convert back to curvilinear coord arrays
>> >       lon = onedtond(x, (/1200, 1200/))
>> >       lat = onedtond(y, (/1200, 1200/))
>> >
>> >     ; print(lat)   ; check that these are the correct coordinates
>> >     ; print(lon)   ; check that these are the correct coordinates
>> >
>> >       lat at units = "degrees_north"
>> >       lon at units = "degrees_east"
>> >
>> >       lat!0 = "lat"
>> >     ; lat&lat = lat
>> >       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
>> >
>> >       var at lat2d = lat
>> >       var at lon2d = lon
>> >
>> >       system("/bin/rm -f simple_new.nc")
>> >       ncdf = addfile("simple_new.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
>> >
>> >        ncdf->var = var
>> >
>> > end
>> >
>> >
>> > Kunal Bali
>> > Research Scholar
>> > Radio & Atmospheric Science Division
>> > CSIR - National Physical Laboratory
>> > New Delhi - 110012
>> > India
>> >
>> >
>> >
>> >
>> >
>> > On Tue, Oct 3, 2017 at 9:24 PM, Rick Brownrigg <brownrig at ucar.edu>
>> wrote:
>> >>
>> >> Hi Kunal,
>> >>
>> >> Sorry for the delay in response -- I have been travelling.  I am not
>> >> expert at the issue of 2D coordinates, and have not had a chance to
>> >> experiment/explore the issue. My very limited understanding is that
>> with 2D,
>> >> you don't need to do this sort of stuff:
>> >>
>> >>      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
>> >>
>> >> Rather, you would write to NetCDF your variable and the 2D coordinate
>> >> arrays computed via transform_coordinate() as just regular variables.
>> When
>> >> you want to read and plot that NetCDF, you need to read the variable
>> along
>> >> the 2D arrays, and assign them as attributes to the variable, named
>> very
>> >> specifically lat2d and lon2d:
>> >>
>> >>      myVar = f->var
>> >>      lons = f->lons   ; doesn't matter what the actual names are
>> >>     lats = f->lats      ;   ditto
>> >>
>> >>     myVar at lat2d = lats
>> >>     myVar at lon2d = lons
>> >>
>> >>     plot = gsn_xxxxxx(wks, myVar,....)
>> >>
>> >> Again, this is my limited understand and untested.  There's more
>> >> information at thes page, and in particular example #3:
>> >>
>> >> http://www.ncl.ucar.edu/Applications/plot_data_on_map.shtml
>> >>
>> >> http://www.ncl.ucar.edu/Applications/plot_data_on_map.shtml#ex3
>> >>
>> >>
>> >> It looks like your 2D coordinate variables may need a "degrees_north"
>> >> ,etc. attribute (see the example).
>> >>
>> >> One of my colleagues further offers this guidance:
>> >>
>> >> "Also to be CF compliant and for ease of use as well, all variables
>> >> that use these coordinates should have a "coordinates" attribute that
>> >> lists each of these coordinates by name separated by spaces. See the
>> >> CF document for details."
>> >>
>> >> I hope that helps...
>> >> Rick
>> >>
>> >> On Sat, Sep 30, 2017 at 1:25 PM, Kunal Bali <kunal.bali9 at gmail.com>
>> wrote:
>> >>>
>> >>> Thank You so much, Rick Sir for providing all these valuable
>> information.
>> >>> It's little complex to me but I am trying to understand.
>> >>>
>> >>> However, I am trying to convert this hdf file into netcdf by
>> >>> incorporating your code. But file did not convert with Geo2D. please
>> check
>> >>> the code below if you have time.
>> >>>
>> >>> begin
>> >>> ;---Read data
>> >>>         a =
>> >>> addfile("/home/kunal/mishra_sir/MAIACTAOT.h00v02.20000570505
>> .hdf","r")
>> >>>         var  = short2flt(a->Optical_Depth_055(:,:))
>> >>>
>> >>>       x = fspan(-3450000.+500., -2250000.-500., 1200)
>> >>>       y = fspan(1600000.-500., 400000.+500., 1200)
>> >>>
>> >>>       x := conform_dims((/1200, 1200/), x, 1)
>> >>>       y := conform_dims((/1200, 1200/), y, 0)
>> >>>
>> >>>
>> >>>       src = "+proj=aea +lat_0=23.0 +lat_1=21d03m +lat_2=41 +lon_0=102
>> >>> +ellps=clrk66"
>> >>>       dst = "+proj=latlon +ellps=sphere"
>> >>>       x := flt2dble(ndtooned(x))
>> >>>       y := flt2dble(ndtooned(y))
>> >>>       z = x   ; A quick-n-dirty way to get an empty Z array of same
>> >>> dimensions/type
>> >>>       z = 0.   ;
>> >>>       transform_coordinate(src, dst, x, y, z)
>> >>>
>> >>>       ; convert back to curvilinear coord arrays
>> >>>       lon = onedtond(x, (/1200, 1200/))
>> >>>       lat = onedtond(y, (/1200, 1200/))
>> >>>
>> >>>      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
>> >>>
>> >>>
>> >>>
>> >>>             ;     system("/bin/rm -f simple1.nc")
>> >>>              ncdf = addfile("simple3.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
>> >>>     ;==========================================================
>> =========
>> >>>
>> >>>        ncdf->var = var
>> >>>
>> >>>
>> >>> end
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> Kunal Bali
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> On Sat, Sep 30, 2017 at 10:15 PM, Rick Brownrigg <brownrig at ucar.edu>
>> >>> wrote:
>> >>>>
>> >>>> Hi,
>> >>>>
>> >>>> This file is an interesting and challenging one to geo-reference.
>> >>>> Without proper documentation on how the file is constructed/encoded,
>> all of
>> >>>> what follows is speculation. But I'm fairly confident it is sound.
>> >>>>
>> >>>> In the group GRID_1, there are these parameters:
>> >>>>
>> >>>>   GridName="grid1km"
>> >>>>   XDim=1200
>> >>>>   YDim=1200
>> >>>>   UpperLeftPointMtrs=(-3450000.000000,1600000.000000)
>> >>>>   LowerRightMtrs=(-2250000.000000,400000.000000)
>> >>>>   Projection=GCTP_ALBERS
>> >>>>   ProjParams=(0,0,21030000,41000000,102000000,23000000,0,0,0,
>> 0,0,0,0)
>> >>>>   SphereCode=12
>> >>>>   GridOrigin=HDFE_GD_UL
>> >>>>   GROUP=Dimension
>> >>>>   END_GROUP=Dimension
>> >>>>
>> >>>> The name suggests a 1KM grid, and as such, by its resolution, it
>> should
>> >>>> span 1200KM. Indeed, from the corner points:
>> >>>>
>> >>>> In X:  (-3450000 - -2250000) = a span of 1200000meters; divided by
>> >>>> xres=1200, yields 1000meter grid cells
>> >>>> In Y:  (1600000 - 400000) = 1200000meters; div by yres=1200 yields
>> >>>> 1000meter grid cells
>> >>>>
>> >>>> So everything is consistent so far. The GCTP_ALBERS suggest the grid
>> was
>> >>>> constructed based upon an ALBERS projection, using the GCTP library.
>> The
>> >>>> ProjParams give further details:
>> >>>>
>> >>>>   ProjParams=(0,0,21030000,41000000,102000000,23000000,0,0,0,
>> 0,0,0,0)
>> >>>>
>> >>>> Again, without documentation, this is speculation, but looking at
>> >>>> pg13/appendexD in:
>> >>>>
>> >>>>
>> >>>> https://www.ngs.noaa.gov/PUBS_LIB/GeneralCartographicTransfo
>> rmationPackage_v2_TR_NOS124_CGS9.pdf
>> >>>>
>> >>>> for the Albers projection, the first 2 values appear to be semimajor
>> >>>> axis of ellipsoid, and eccentricity. Both are zero, implying
>> defaults of
>> >>>> Clarke's 1866 ellipsoid and spherical earth (which seems to be an
>> oymoron?
>> >>>> I'm confused about that)
>> >>>>
>> >>>> The next 6 values might be:
>> >>>>
>> >>>>   lat of 1st standard parallel
>> >>>>   lat of 2nd standard parallel
>> >>>>   lon of central meridian
>> >>>>   lat of projection's origin
>> >>>>   false easting (zero in this case)
>> >>>>   false northing (zero)
>> >>>>
>> >>>> the remaining zeros don't seem to apply.
>> >>>>
>> >>>> NCL does not have an public interface to GCTP, but there is an
>> >>>> undocumented interface to the well-known proj4 library. The trick
>> here is to
>> >>>> use it to convert from meters-on-the ground units into lat/lon.  The
>> first
>> >>>> step is to construct arrays representing the grid's position in
>> meters. In
>> >>>> the X direction, if we did
>> >>>>
>> >>>>   x = fspan(-3450000., -2250000, 1200)
>> >>>>
>> >>>> we get an array of 1201, which is wrong. I speculate that for a grid
>> of
>> >>>> 1200, those values represent the total *spatial extent* of the grid,
>> but
>> >>>> that the data are based upon cell centers, not corners. Thus
>> something like:
>> >>>>
>> >>>>   x = fspan(-3450000.+500., -2250000.-500., 1200)
>> >>>>   y = fspan(1600000.-500., 400000.+500., 1200)
>> >>>>
>> >>>> A 1km grid cannot obviously be constant spacing in longitude, so
>> >>>> ultimately, your coordinate arrays are going to be curvilinear:
>> >>>>
>> >>>>   x := conform_dims((/1200, 1200/), x, 1)
>> >>>>   y := conform_dims((/1200, 1200/), y, 0)
>> >>>>
>> >>>> NOTE: THIS ASSUMES THE GRID IS ROW MAJOR, WEST-->EAST, NORTH-->SOUTH
>> >>>>
>> >>>> The undocumented NCL function "transform_coordinates" takes a proj4
>> >>>> source-porjection string, dest-proj string, x, y, z 1D arrays of type
>> >>>> double, and returns the results in the x,y,z arrays. I won't go into
>> the
>> >>>> details of the proj-strings. We want something like:
>> >>>>
>> >>>> src = "+proj=aea +lat_0=23.0 +lat_1=21d03m +lat_2=41 +lon_0=102
>> >>>> +ellps=clrk66"
>> >>>> dst = "+proj=latlon +ellps=sphere"
>> >>>> x := flt2dble(ndtooned(x))
>> >>>> y := flt2dble(ndtooned(y))
>> >>>> z = x   ; A quick-n-dirty way to get an empty Z array of same
>> >>>> dimensions/type
>> >>>> z = 0.  ;
>> >>>> transform_coordinate(src, dst, x, y, z)
>> >>>>
>> >>>> ; convert back to curvilinear coord arrays
>> >>>> lon = onedtond(x, (/1200, 1200/))
>> >>>> lat = onedtond(y, (/1200, 1200/))
>> >>>>
>> >>>>
>> >>>> From here, you have to associate the lat/lon coordinate arrays with
>> the
>> >>>> variables you want to plot, as Adam and other previously described.
>> >>>>
>> >>>> Attached is a script and example plot of the resultant grid. Please
>> let
>> >>>> the group know if this appears to be the correct area-of-interest.
>> >>>>
>> >>>> Rick
>> >>>>
>> >>>>
>> >>>>
>> >>>> On Fri, Sep 29, 2017 at 11:45 AM, Rick Brownrigg <brownrig at ucar.edu>
>> >>>> wrote:
>> >>>>>
>> >>>>> 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
>> >>>>>>>>>>
>> >>>>>>>>>> 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")
>> >>>>>>>>>>       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.h
>> df
>> >>>>>>>>>>
>> >>>>>>>>>> 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.h00v02.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.h00v02.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.h00v02.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
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> _______________________________________________
>> >>>>>>>>>> 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
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> _______________________________________________
>> >>>>>>>>>> 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
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> _______________________________________________
>> >>>>>>>>>> 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
>> >>>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> _______________________________________________
>> >>>>>> 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
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171005/9d80fabb/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PLOT_1.png
Type: image/png
Size: 85545 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171005/9d80fabb/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PLO_2.png
Type: image/png
Size: 90453 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171005/9d80fabb/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: grid.png
Type: image/png
Size: 97454 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171005/9d80fabb/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: netcdf.ncl
Type: application/octet-stream
Size: 2323 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171005/9d80fabb/attachment-0001.obj>


More information about the ncl-talk mailing list