NCL Home> Documentation> Functions> Date routines

time_to_newtime

Change a "udunits" recognized time unit to a new (different) "udunits" recognized time unit.

Prototype

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" ; This library is automatically loaded
 ; from NCL V6.2.0 onward.
 ; No need for user to explicitly load.
	function time_to_newtime (
		time : numeric, ; float or double
		new_time_unit [1] : string 
	)
	return_val [dimsizes(time)] : double or float

Arguments

time

A "udunits" recognized time variable. Must be type "float" or "double".

new_time_unit

A "udunits" recognized string indicating the unit of the new time variable.

Return value

An array of the same size as time: double if time is double; float if time is float.

Description

This function converts the time units using cd_calendar. Useful for making the time variables associated with different variables and files consistent.

Known bug in NCL V6.4.0 and earlier: Many users have reported a "60 second" bug in several of NCL's date conversion routines, in which you get a value of "n minutes, 60 seconds" instead of "n+1 minutes, 0 seconds". See the 6.4.0 release notes for details. If you encounter this bug, please email the ncl-talk group with the details. Meanwhile, you can try the temporary time_to_newtime_fix, which was added in NCL V6.4.0 for test purposes and potentially as a replacement function. A decision will be made about this function in a future release of NCL.

See Also

cd_calendar, cd_inv_calendar, calendar_decode2

Examples

Example 1

Create a new time variable.

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
 TIME = f->time ; hours since 1-1-1 00:00:0.0
 DATE = cd_calendar (TIME, 0)
 new_time_units = "hours since 1800年01月01日 00:00"
 time = time_to_newtime(TIME, new_time_units) 
 printVarSummary(TIME)
 printVarSummary(time)
The edited output from the above:
Variable: TIME
Type: double
Total Size: 5968 bytes
 746 values
Number of Dimensions: 1
Dimensions and sizes: [time | 746]
Coordinates: 
 time: [17067072..17611320]
Number Of Attributes: 6
 units : hours since 1-1-1 00:00:0.0
-------------------------------------------------
 
Variable: time
Type: double
Total Size: 5968 bytes
 746 values
Number of Dimensions: 1
Dimensions and sizes: [time | 746]
Coordinates: 
 time: [1297320..1841568]
Number Of Attributes: 2
 units : hours since 1800年01月01日 00:00
 calendar : gregorian
Example 2

Overwrite the current time variable.

 time = time_to_newtime(time, "hours since 1800年01月01日 00:00") ; time(time)


AltStyle によって変換されたページ (->オリジナル) /