[ncl-talk] set_date_time

Guido Cioni guidocioni at gmail.com
Thu Oct 5 14:46:10 MDT 2017


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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171005/da338166/attachment.html>


More information about the ncl-talk mailing list