[ncl-talk] set_date_time

Kunal Bali kunal.bali9 at gmail.com
Mon Oct 9 03:22:56 MDT 2017


Thanks for providing all these details Dennis Sir,

After running the attached script, it creates the correct date in the
netcdf file. But when I open the resultant netcdf file in Panoply software
to visualize the grid structure, then the variable such as
Optical_Depth_055_grid1km seems not georeferenced between latitude and
longitude. The resultant netcdf file shows the georeferenced between *latitude
and time* (please see the attached figure).

So, that creates the one problem in extracting the particular latitude and
longitude data  (e.g. IISER Mohali (30.663 N, 76.732 E).




Rehards
Kunal Bali






On Mon, Oct 9, 2017 at 10:11 AM, Dennis Shea <shea at ucar.edu> wrote:

> Long answer BUT I suggest you read this carefully!
> ----------------------------------------------------------------------
> As is suggested (ad nauseum), always look at your data:
>
> %> ncl_filedump MAIACTAOT.h00v02.20003650620.*hdf * | less
>
> [snip]
> filename:       MAIACTAOT.h00v02.20003650620
> path:   MAIACTAOT.h00v02.20003650620.hdf
>    file global attributes:
>       *HDFEOSVersion : HDFEOS_V2.12    <=== HDF-EOS file*
>       StructMetadata_0 : GROUP=SwathStructure
> END_GROUP=SwathStructure
> [snip]
>
> ----
> It is a HDF-EOS file!!!
>
> When a user sees HDFEOS [ because he/she looked at the file;  :-) ], the
> file extension *.he2* or equivalently, *.hdfeos* should be appended to
> the file. This can be done programatically or on the command line.  The
> file need not be explicitly changed!
>
> %> ncl_filedump MAIACTAOT.h00v02.20003650620.hdf*.he2* | less
>
> NCL looks for the file MAIACTAOT.h00v02.20003650620.hdf*.he2* and*, *if
> it does not find the file, it *'backs-off' *the last file extension [
> here,* .he2 *] and reads the file
>
> *.*
> *Why* should a user do this?
>
> %> ncl_filedump MAIACTAOT.h00v02.20003650620.hdf*.he2 *| less
>
> (a) If you look at the original file*, *you will see a rather complicated
> file structure*. *It includes multiple *groups. *When the .he2 extenson
> is used, NCL 'flattens' the file structure. It make it look like a standard
> netCDF3 file. In this case the variables have appended extensions named:
> _grid5km and _grid1km. A very nice feature.
>
> (b) An even nicer feature of the .he2/.hdfeos extension is that NCL *creates
> value-addedarrays *containing the lat/lon arrays.
>
> double GridLat_grid5km ( YDim_grid5km, XDim_grid5km )
> double GridLat_grid5km ( YDim_grid5km, XDim_grid5km )
> double GridLat_grid1km ( YDim_grid1km, XDim_grid1km )
> double GridLat_grid1km ( YDim_grid1km, XDim_grid1km )
>
> (c) NCL *creates *CF Convention attributes like 'coordinates' for
> assorted variable.
>
> ------
>
> One of the less public NCL-developers (Dave Brown), deserves considerable
> credit for NCL's IO capabilities. In particular, with respect to GRIB and
> HDF files. Also, 'addfile' and 'addfiles'
>
> As I say ... "A user need-not-fear any grib/hdf/netCDF files if using NCL!'
>
> ------
>
> The 2nd part of this answer is 'How to add a 'time' (record) dimension?'
>
> See attachment:
>
> %> mkdir MAIACTAOT_TIME                <== will contain created file
> %> ncl create_time.MAIACTAO.ncl
>
> -----
> The keys are:
>
> ;---https://www.ncl.ucar.edu/Document/Functions/Built-in/addfiles.shtml
>   f    = addfiles(pthi, "r")
>
> *ListSetType (f, "join")                      ; add 'record' (time
> dimension) *
>
> ;--- Create a time variable
>   refTime = "hours since 2000-01-01 00:00:00"  ; arbitrary
>   time    = *time_create_MAIACTAOT* (fili, refTime)   ; local function
>
> An file dump of the created file in directory:
>
> %> cd /MAIACTAOT_TIME
>
> %> ncl_filedump maiactaot.h00v02.20003650620-20003660700.nc
> or
> %> ncdump -h maiactaot.h00v02.20003650620-20003660700.nc
>
>
> -++++++++
> Internal NCAR users, the files are at:
>
> /glade/p/ncldev/data/hdf
>
>  MAIACTAOT.h00v02.20003650620.hdf
>  MAIACTAOT.h00v02.20003660525.hdf
>  MAIACTAOT.h00v02.20003660700.hdf
>
>
> Cheers
> D
>
> On Fri, Oct 6, 2017 at 9:18 PM, Kunal Bali <kunal.bali9 at gmail.com> wrote:
>
>> Thanks Mery for providing this information.
>> I think the problem is with CDO.
>>
>> But is there any function to convert filenames to date-time. and then
>> create time variable in the netcdf file.
>> such as :
>> MAIACTAOT.h00v02.*2000364**07**15*.nc   --> 2000=year, 364=day, 07=hr,
>> 15=min
>> *2000-01-29 07:15:00*
>>
>> could you please give some information on that.
>> thank you
>>
>> regards
>> Kunal Bali
>>
>>
>>
>>
>>
>> On Fri, Oct 6, 2017 at 2:16 AM, Guido Cioni <guidocioni at gmail.com> wrote:
>>
>>> I had to do something similar last week. Converting from hdf to netcdf
>>> and then merge into a single file with time information. It was modis data.
>>> I don't have time to explain the script so I'm copying here hoping that it
>>> could help.
>>>
>>> for f in *.nc; do
>>>     year=${f:9:4}
>>>     day_of_year=${f:13:3}
>>>     month=`date -d "${year}-01-01 +${day_of_year} days -1 day" "+%m"`
>>>     day=`date -d "${year}-01-01 +${day_of_year} days -1 day" "+%d"`
>>>     echo ${year}-${month}-${day}
>>>     cdo -b F64 setdate,${year}-${month}-${day} ${f} ${f%.nc}_2.nc
>>> done
>>>
>>>
>>> Cheers
>>>
>>> Il 5 ott 2017 9:56 PM, "Marston Johnston" <shejo284 at gmail.com> ha
>>> scritto:
>>>
>>>> It seems like you choose a fairly complicated way to solve the problem.
>>>>
>>>> May I suggest reading in the MAIACTAOT.h00v02.***.nc files in
>>>> chronological order and then writing new netcdf files in ncl where you can
>>>> create a time array with the correct dtg.
>>>>
>>>> It’s fairly quick and easy in ncl.
>>>>
>>>> I’ve had such problems before and found it easiest to with the above
>>>> method.
>>>>
>>>>
>>>>
>>>> Hope this helps,
>>>>
>>>> /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: *Thursday, 5 October 2017 at 20:40
>>>> *To: *"ncl-talk at ucar.edu" <ncl-talk at ucar.edu>
>>>> *Subject: *[ncl-talk] set_date_time
>>>>
>>>>
>>>>
>>>> Dear NCL users,
>>>>
>>>>
>>>>
>>>> I have one question regarding date-time setting from filename. This
>>>> question is not actually related to NCL, sorry in advance.
>>>>
>>>>
>>>>
>>>> I have 4 .nc files named given below. The time is not created in these
>>>> files during conversion from hdf to netcdf in NCL.
>>>>
>>>>
>>>>
>>>> MAIACTAOT.h00v02.*20003640715*.nc   --> 2000=year, 364=day, 07=hr,
>>>> 15=min
>>>>
>>>> MAIACTAOT.h00v02.20003650620.nc
>>>>
>>>> MAIACTAOT.h00v02.20003660525.nc
>>>>
>>>> MAIACTAOT.h00v02.20003660700.nc
>>>>
>>>>
>>>>
>>>> So, I did try to create the date-time with shell scripting (given below)
>>>>
>>>> but it is creating wrong date as the files are of December month, but
>>>> it is generating January month date also. I don't know why.
>>>>
>>>>
>>>>
>>>> *2000-01-01 05:25:00*
>>>>
>>>> *2000-01-01 07:00:00*
>>>>
>>>> 2000-12-30 07:15:00
>>>>
>>>> 2000-12-31 06:20:00
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> the shell script, which I am using
>>>>
>>>>
>>>>
>>>> #######################################
>>>>
>>>>
>>>>
>>>> for n in  MAIACTAOT.h00v02.20*.nc;do
>>>>
>>>>  ls $n > text
>>>>
>>>> export xx=`cut -c18-28 text`
>>>>
>>>> export YYYY=`cut -c18-21 text`
>>>>
>>>> export JJJ=`cut -c22-24 text`
>>>>
>>>> export HH=`cut -c25-26 text`
>>>>
>>>> export MM=`cut -c27-28 text`
>>>>
>>>> mm=`date -d "$JJJ days $YYYY-01-01" +"%m"`
>>>>
>>>> dd=`date -d "$JJJ days $YYYY-01-01" +"%d"`
>>>>
>>>> mydate=${YYYY}-${mm}-${dd},${HH}:${MM}:00
>>>>
>>>> echo $mydate
>>>>
>>>>
>>>>
>>>> echo "cdo settaxis,$mydate $n re$n"
>>>>
>>>> cdo settaxis,$mydate $n re$n
>>>>
>>>>
>>>>
>>>> done
>>>>
>>>>
>>>>
>>>> cdo mergetime reMAI*.nc final.nc
>>>>
>>>> exit
>>>>
>>>> #################################
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Any suggestion regarding this issue would be very helpful.
>>>>
>>>>
>>>>
>>>> Thank You
>>>>
>>>>
>>>> Kunal Bali
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________ 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/20171009/a3373724/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2017-10-09 at 2.30.21 PM.png
Type: image/png
Size: 515138 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171009/a3373724/attachment-0001.png>


More information about the ncl-talk mailing list