Functions/cd_inv_calendar - NCL tips

cd_calendarの逆を行う関数。何年何月何日のようなカレンダー的な値から,ある時点からの日数や時間のような値に変換する。

time = cd_inv_calendar(year,month,day,hour,minute,second,units,opt)

〔入力変数〕

year, month, day, hour, minute, second

それぞれ年,月,日,時,分,秒を表す値が入った配列。すべて同じサイズである必要がある。v6.4.0以降ではすべての数値型が許容されるが,内部ではそれぞれlong,short,short,double,double,double型に変換されてから計算される。


units

timeの単位にあたる文字列。"days since 1951-1-1" や "hours after 1-1-1 00:00:00" のように,"単位 から 基準" の形で表現される。単位としては,

seconds, minutes, hours, days, months, years

が有効。単位と基準をつなぐ「から」を意味する英単語は,

since, after, from, ref

が有効。基準時刻は0分0秒としておくのが無難。


opt

どうでもいい値。ただし,attributeとしてカレンダーの種類を表す@calendarを付けることができる。デフォルトでは opt@calendar = "standard" として扱われ,これはグレゴリオ暦の1582年10月15日でユリウス暦からグレゴリオ暦に切り替わるような,最も現実的な(歴史に忠実な)カレンダーである。@calendarは他にも,

"gregorian"(グレゴリオ暦),"julian"(ユリウス暦),"proleptic_gregorian"(グレゴリオ暦を施行前まで使用する),
"360_day","360","365_day","365","366_day","366",
"noleap","no_leap"(閏年なし),"allleap","all_leap"(毎年閏年)

が有効である。ちなみに,4年に1回閏年があるのがユリウス暦で,400年に97回閏年があるのがグレゴリオ暦である。暦上の春分の日と天文学的な春分とのずれが無視できなくなったため,ローマ教皇グレゴリウス13世によって導入された(春分の日の次の満月の次の日曜日が復活祭と定義されるため,これは当時の教会にとって大問題であった)。
また,v6.4.0以降ではさらに,出力変数の型を表す@return_typeを付けることができる。デフォルトでは opt@return_type = "double" として扱われるが,他にも"float","long","integer"が有効である。


〔出力変数〕

time

unitsで指定した単位で表現される時間の配列。opt@calendarに基づいて変換され,デフォルトではdouble型,v6.4.0以降ではopt@return_typeで指定した型で得られる。


トップ   編集 凍結 添付 名前変更   新規