[Thread Prev][Thread Next][Index]

Ferret how-to: odd time axes in models



Ferret how_to:

	********************************************************
	* How to deal with non-standard year-lengths in models *
	********************************************************

On Mar 1,  5:39pm, Joachim Dengg wrote:

> Oh, by the way, I keep running into time inconsistencies because my model
> years are only 360 days long. Is there any way to deal with that?

====================================

Yes. The key is to make sure that your axis has these two properties:

	1) it has 360 points (corresponding to the model "year")
	2) it spans the correct number of hours for an "average" year

An average year must take leap years into account. You can use the
coads_climatology data set as a reference:

	set data coads_climatology
	show grid/l=1:3 sst
	show grid/l=1:24000:1200 sst		==> no drift in 2000 years
	set list/precision=7
	list t[l=13,g=sst] - t[l=1,g=sst]	==> 8765.82 hours per ave yr

So for a 360 day year

	list (t[l=13,g=sst]-t[l=1,g=sst])/360   ==> 24.3495 hours per day

A 360 day year time axis would then be:

    define axis/modulo/t0=1-jan-0000/t=1:8765.2:24.3495/units=hours tadjusted

To test that this axis is correct try

	define grid/t=tadjusted gadj
	show grid/l=1:756000:36000 gadj		==> no drift in 2000 years

Now, how do you use this axis? There are actually two distinct "views" of your
model data - by day number and by calendar date. You can preserve both views
using this technique:

  1) Create your model output using simply the day number 1, 2, 3, ...

     For example, this abstract variable is based on such an axis

	define axis/t=1:360:1/modulo/units=days t360
	define grid/t=t360 gmodel
	let model_var = SIN(PI*T[g=gmodel]/180)
	let PI = 3.14159
	plot/l=1:720 model_var

  2) Create the "calendar view" of the same variable using "regridding by
     association"

	define grid/like=model_var/t=tadjusted gcalendar
	let calendar_model_var = model_var[g=gcalendar@asn]
	plot/l=1:720 calendar_model_var


-- 

		|  NOAA/PMEL               |  ph. (206) 526-6080  
Steve Hankin	|  7600 Sand Point Way NE  |  FAX (206) 526-6744
		|  Seattle, WA 98115-0070  |  hankin@pmel.noaa.gov


[Thread Prev][Thread Next][Index]

Dept of Commerce / NOAA / OAR / ERL / PMEL / TMAP

Contact Us | Privacy Policy | Disclaimer | Accessibility Statement