undef("date_plus_nday") function date_plus_nday(yyyymmdd, nday[1]:integer) ;; I'm using the ncl 6.1.2 on imac Darwin 64bit ;; I need to calculate the resulting date in the form YYYYMMDD ;; (year,mounth and day) ;; starting from an initial date YYYYMMDD of string type and adding a ;; certain number of day ;; For example func("20140928" + 5 day) = "20141003" ;; Has ncl a routine that do this task? begin ymd = toint( yyyymmdd ) yyyy = ymd/10000 mmdd = ymd-(yyyy*10000) mm = mmdd/100 dd = mmdd-(mm*100) nymd = dimsizes(ymd) hh = conform_dims(nymd, 0, -1) mn = conform_dims(nymd, 0, -1) sc = conform_dims(nymd, 0, -1) tunits = "days since 1900-01-01 00:00:00" ; any time will suffice time = cd_inv_calendar(yyyy,mm,dd,hh,mn,sc,tunits, 0) time = time + nday ymd_nday= tostring( cd_calendar(time, -2) ) return(ymd_nday) end ; =================== MAIN =========================== nday = 5 date_str = "20140928" date5_str= date_plus_nday(date_str, nday) print(date_str+" "+date5_str) date_str = "20140926" date5_str= date_plus_nday(date_str, nday) print(date_str+" "+date5_str)