顯示具有 地球科學 標籤的文章。 顯示所有文章
顯示具有 地球科學 標籤的文章。 顯示所有文章

2018年5月7日 星期一

日日、月月、年年──淺談曆法設計(二)

貳、活在自己的時間裡

  紐約比加州快了3小時,但這不表示加州比較慢、或是紐約比較快。兩個都只是在屬於它們自己的時區。
  有的人還是單身,有的人結了婚但等了10年才有孩子;還有的人結婚一年,就有了小孩。
  有的人22歲就畢業,卻等了5年才找到好工作;有的人27歲才畢業,卻立刻就得到就業機會。
~佚名‧《每個人都有自己的時區》美國小詩,中文譯文

  如果把時間長河視為一條無限長的紙帶。那麼,曆法的存在,相當於紙帶上的長度刻度 ── 有一個明確的起點、一個與起點之間間隔的距離。就如同我們視需求不同,選擇使用公分、公尺、公里去表示長度一般,我們也會挑選適當的單位描述時間。

  但有一件重要的事,請務必牢牢記住 ── 紙帶上的長度跟曆法上的時間一樣,都只是一個「數字」加上單位。那個數字只是一個序號、流水號。這件事是如此的重要,以至於我們在後面會常常使用這個概念。

  在正式介紹各種曆法的特性前,我們必須對「日」 ─ 時間的基本單位 ─ 有一定的認識才行。在這裡,我們有兩個問題需要解決:(1)一日的開始是什麼時候?(2)一日有多長?

  我們先處理第二個問題。

  太陽,是個明亮的天體,我們依此決定生活作息。因此,「日」的定義,最初便是看著太陽東昇西落而定義的,我們可稱之為「太陽日」。我們習慣以太陽經過上中天(上子午線)當作正午,標記為12:00。然而,因為地球是球體的關係,各地的正午並不是同一瞬間。19世紀時,火車和電報帶來了便利,卻也突顯各地時間不同的事實,「時區」的概念便由此產生。

  然而,若將太陽「兩次」經過上中天的時間設為24小時,我們會發現每天的太陽日長度都不太一樣(參考圖一)。若我們以太陽日為基本單位,去切分成「時」、「分」、「秒」,便會因時間長度的不穩定而造成困擾。

圖一 太陽日的時間長度並不相同,一年內差異可達34分鐘左右。
(圖片取自Wiki)

  要解釋這個現象,我們必須先思考太陽日的意義。參考圖二,受到地球繞日公轉的影響,地球上的觀察者要看到太陽回到上子午線,必須公轉(360+θ)°,θ表示地球繞太陽公轉的角度。

圖二 紅色箭頭為觀察者所在位置。
由1→3為一個太陽日,由1→2為一個恆星日。
(圖片修改自Wiki)
然而,地球繞日公轉的軌道並非正圓形,而是橢圓形。根據克卜勒行星運動定律可知,若假設地球自轉速度為等速,在地球自轉360°的時間內,會因為繞日公轉半徑的不同,造成θ的大小不同。換言之,受到θ大小不同的影響,太陽日的長度並不是固定的。



圖三 克卜勒行星運動定律-等面積定律(圖片取自Wiki)

  為解決這個問題,我們定義一日的長度為每個太陽日長度的平均值。因此,我們所謂的一日,是「平均太陽日」,而兩次太陽經過上中天所需的時間,稱為「真太陽日」。

  因為時區跟平均太陽日的關係,我們在中央氣象局的網站上可以看到,每天太陽通過上中天的時間是不一樣。(參考圖四)

  至於後來發現地球自轉速度並非等速,而衍生出「閏秒」的事情,又是另一回事了,有興趣的讀者可以自己查查資料。
圖四 2018年5月高雄日出日沒時間(取自中央氣象局)

  回到第一個問題,「一日的開始是什麼時候?」

  相信很多人都會回答「子夜0時(晚上12時)」。大多時候,這個答案是正確的。但這個問題對華人文化圈來說,其實有點複雜。

  中國古代是用天干地支去記錄年、月、日、時的,所以才會有「生辰八字」之說。其中,子時代表23:00~01:00。於是,在中國古代,不同朝代對於一日開始的定義也不盡相同,可分為「子初換日」(23:00代表一天的開始)、「子正換日」(00:00代表一天的開始)兩種。

  受到換日時間點的不同影響,不同流派的算命法對於一天開始的時間也就不同。例如,2013年時,有一次「朔」月出現在國曆6月8日23時56分(參考圖五),某些農民曆便以國曆6月9日為農曆初一。當時還引起一陣討論,引來中央氣象局發新聞稿澄清(參考圖六)。
圖五 2013年朔望兩弦時間表(取自中央氣象局)
圖六 中央氣象局針對農曆初一的說明
(取自中央氣象局,原文已無法在網頁上找到,點擊圖片可放大)

同系列其他文章:
日日、月月、年年──淺談曆法設計(一)

2018年5月5日 星期六

日日、月月、年年──淺談曆法設計(一)


  這是一系列的文章,但什麼時候寫完就看我什麼時候有空了。因應108課綱修訂後,高中地科對於曆法的介紹會完全消失,所以把我知道的整理一下,在這邊留個紀錄。參考資料就等我全部寫完再列出來。但我可以保證每一段文字都有所本。

壹、在時間長河中漂流


  上島後約十一二天,我突然想到,我沒有書、筆和墨水,一定會忘記計算日期,甚至連安息日和工作日都會忘記。為了防止發生這種情況,我使用刀子在一根大柱子上用大寫字母刻上以下一句句子:「我於一六五九年九月三十日在此上岸。」我把柱子做成一個大十字架,立在我第一次上岸的地方。
  在這方柱的四邊,我每天用刀刻一個凹口,每七天刻一個長一倍的凹口,每一月刻一個再長一倍的凹口。就這樣,我就有了一個日曆,可以計算日月了。
~魯賓遜漂流記 第三章~

  歷史課會使用「西元」(公元)、「年號」等等的方式,標記某個特定的時間發生某個事件。先民們也曾像魯賓遜一樣意識到時間的流逝,為了在時間長河裡標記,我們創造了曆法作為我們的紀日系統,但這遠比魯賓遜複雜許多。

  先民很早就發現到這世間很多事物是有週期性,這些週期的時間長度,後來就成為計數的單位。因此,太陽東升西落的週期(太陽日),稱為一「日」;月球盈虧週期(太陰月,同義於「朔望月」),稱為一「月」;春去秋來、季節變換的週期(回歸年)稱為一「年」。因為季節的變換並不容易定義,實際上,回歸年的時間長度是由觀測正午的竿影長度變化來判斷的。

  但他們很快地遇到了問題,因為日、月、年是採用自然週期的長度作為時間長度。所以,三者之間的長度並非整數倍的關係,就像以前我們學過的,一年的長度約為365.25天。試想,我們去年在子夜跨年,今年就要在早上6點跨年,明年在中午跨年,這樣的感覺雖然有趣,但有點困擾,對吧?

  事實上,朔望月的平均長度約為29.53059日、回歸年約為365.2422日。為了解決日、月、年的關係,先民們發展出不同策略來處理三者之間的關係,因此我們有了不同的曆法──考慮朔望月周期的陰曆、考慮回歸年周期的陽曆、以及兼顧上述兩者的陰陽合曆。

  接下來的文章裡,我會在三種曆法系統中各挑選一個還有在使用的曆法作為介紹。其中,陰曆會使用伊斯蘭曆(回曆),陽曆會適用格里曆,陰陽合曆會使用農曆。

  但不管是哪一種曆法,都會有兩個一定要解決的問題:(1)如何解決日、月、年之間的長度非整數倍的關係?(2)在漫長的時間長河中,如何設定曆法的紀元元年?

       第一個問題的解決方法很簡單,就是將捨棄的尾數集結到一定程度後再補回去,可能是補一天,也可能是補一整個月。這個方法叫做「閏」,有置閏的那年稱為「閏年」,沒有置閏的那年便稱為「平年」。至於補進去的,就叫做「閏日」或「閏月」。因此,格里曆閏年只有閏日,但農曆閏年卻是閏月。

       置「閏」背後的意義,在於「追求長期平均貼近自然週期」,因為沒辦法每一個曆月、曆年都符合自然週期,所以追求長期平均符合就好。也因此,曆法會有一個「循環週期」存在,中國古代稱之為「章」。例如,巴比倫人的曆法是陰陽合曆,以19年為一個循環週期,置7個閏月,這是古希臘天文學家默冬發現的,稱為「默冬章」。

       至於第二個方法,就看不同曆法的選擇了。伊斯蘭曆以「穆罕默德於率信徒遷至麥地那」那年作為紀元元年;格里曆本來是使用「耶穌誕生年」作為紀元元年,但後來發現搞錯了,所以變成以「耶穌誕生前四年」作為紀元元年;農曆最為複雜,它假定某個時間點出現「日月金木水火土」七星連珠,並以此天文奇景做為紀元元年,古人稱之為「上元」,整套曆法就是在計算今年是上元之後經過多久,稱之為「上元積年」。


同系列其他文章:
日日、月月、年年──淺談曆法設計(二)

2014年12月11日 星期四

自動抓取氣象局衛星雲圖的Shell Script

壹、前言
  因為工作需要,需要連續抓一段時間的氣象局衛星雲圖。正巧,最近正在玩Raspberry Pi,所以花了一點時間研究怎麼從氣象局的OpenData平台,然後寫了一個Script抓資料。配合Crontab指令,就可以連續抓檔了。

  如果想要抓其他OpenData的資料,就把內容修改一下就可以抓了,挺方便的。

貳、Script
#!/bin/sh
WORKDIR=~pi/cwb/CloudMap
IRColorTWXML=http://opendata.cwb.gov.tw/opendata/MSC/O-B0028-003.xml
DLXML=$WORKDIR"/DATA.xml"

#下載紅外線彩色雲圖(臺灣)的xml檔
wget -q -O $DLXML $IRColorTWXML

#從xml檔中找到下載jpg的位址,及圖檔時間
FILENAME=$(grep '<uri>' $DLXML | sed 's/<uri>//g' | sed 's/<\/uri>//g')
TIMESTAMP=$(grep '<obsTime>' $DLXML | sed 's/<obsTime>//g' | sed 's/<\/obsTime>//g')

#產生新檔名
NEWFILENAME="IRColor_"$TIMESTAMP"_Taiwan.jpg"
NEWFILENAME=$(echo $NEWFILENAME | sed 's/\ //g')
#下載檔案
wget -q -nc -O $WORKDIR"/IRColor/"$NEWFILENAME $FILENAME


2014年3月18日 星期二

山有多高?地有多深?有關大地水準面的一些事。

壹、高度:
  學生時代大家最喜歡做的事情之一,就是比較彼此的身高。如果自己的身高不如別人,或者低於自己「預期的水準」,都令人懊惱不已。於是,為了安慰自己,有些人就會自稱身高「號稱160」。這是什麼意思?大家一聽就明白了。

  如果我問,「身高是怎麼定義的呢?」不用5秒鐘就可以得到答案了,「從腳底到頭頂的距離」。是的,當我們在講建築物高度的時候,其實也是如此。但是,做為身高、建築物高度測量「基準點」的地表,其自身也有高低起伏,我們又要怎麼描述它的高低變化呢?當我們說珠穆瑪朗峰山高8,850公尺,馬里亞納海溝深10,911公尺,又是以什麼做為測量基準點呢?


貳、海拔高度與海平面:
  山有多高?通常我們要描述的時候,會用「海拔高度」來說明,很熟悉,對吧?計算海拔高度的「基準點」是「平均海平面」。為什麼要「平均」呢?理由很簡單,受到潮汐、波浪等因素的影響,海平面高度並不是一成不變的,為了消去這些不安定的因素,所以我們使用「平均海平面」做為測量基準。

2010年12月26日 星期日

斗建授時

中華文明發源於黃河流域,其緯度約為北緯36度左右。古人觀星可見部份恆星終年可見,並稱此區域為「恆顯圈」。而北斗七星,是位於恆顯圈中的亮星,古人觀星授時,主要是透過北斗七星的斗杓指向,判斷季節與節氣。