Monthly Archives: May 2008

大师?

一个北京的好朋友,聪明能干,事业有成,文化素质高,很谈得来。但就是很信一个大师的预言。而且跟我讲,很准,预言都应了,而且以前的事,大师能了如指掌。据说京城富人权贵都很信奉那位大师,上至胡温家人都有求过他。神乎,而且据称有朋友诋毁过他,结果就很倒霉。所以我在这里写这个是冒着倒霉的危险。

凡是人智力体力各方面可能有区别,但现代生物和解剖医学早表明,被称为人的就这么样的一种动物,不具备超自然的能力,更不要提具备预知以后的能力。也许世上有人1吨还碾不碎,但100吨除了superman没有哪种还敢叫人的能不被压成肉酱。如果真有预知能力,可能是另种但不能被称为人的生物了。

中国之大,有自称掌握预知能力的人不少,但都被一一揭穿,原来也只是普通人一个。其中奥妙并不难懂,有些甚至十分拙劣。为了证明他有预知能力,都会告诉你以前发生过的事,而这些事是他已经掌握的(比如一些大团伙会专门组织一班人打听消息),然后预言的都是似是而非的东西,概率很大的东西。而每个人都是这样,每天都有顺利和不顺利的事,再加个心理暗示(越是相信心理暗示越大),这些顺利或者不顺利的事便被放大,从而迷信于大师们的话。大师是不允许质疑的,需要建立在大家的心诚之上。大师的网络比想像中要复杂广泛的多,他知道的信息也出乎意料的多,但他知道的其实没有奇怪的。

李教主在倒台前也是这么多的信徒,规模只在大师之上。如果李教主真有传说的这么大的能力,岂会被中国政府赶出中国。大师真有预知能力,为什么不预言一下汶川地震,以显示他的慈悲为怀。为什么不预言一下明天的股市变化,还需要这么辛苦去当大师。如果不稀罕钱不想为福大众,宁愿死了这么多人也不预言,却只会舔权贵富人屁股,那么即使真有也请带进坟墓吧,我们也不需要它。

推荐看新语丝(http://www.xys.org)相关神棍主题。

好像laptop的电池坏了

插着电池的时候,就弹出一个对话框提示说,无法对电池进行充电,让按“确定”计算机进入休眠。此前电池大概也只能支持10来分钟模样,所以基本上是因为电池到寿命了。不过这机器好像还没用多长时间。

又是一笔不少的支出,只有看看网上去买块新的了。

ArcGIS栅格向Surfer Grid的格式转化 (Convert ArcGIS raster to Surfer GIS)

Zhuotong Nan ([email protected])

以下简单的代码实现了ArcGIS支持的栅格向Golden software的Surfer ASCII grid的格式转化。需要注意的是,ArcGIS的栅格左上为坐标原点,向下向右为正。而Surfer grid是左下是坐标原点,向上向右为正。

Here I will show a class that implements the major functionality to convert any Raster file supported by ArcGIS to Surfer ASCII grid format. The resulting Surfer grid can be read by Surfer with version 6 or higher. One point we need to keep in mind, ArcGIS raster stores data in row-major order, right and downwards being positive, while Surfer grid takes lower left corner as the original, right and upwards being positive.

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.DataSourcesRaster;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geometry;

namespace RasterToSurferGrid
{
/// <summary>
/// A wrapper class for Surfer ASCII grid file
/// </summary>
class SurferGrid
{
string id = “DSAA”;
int nx;//columns
int ny; //rows
double xlo; //the minimum X value of the grid
double xhi; //xhi is the maximum X value of the grid
double ylo;
double yhi;
double zlo;
double zhi;
List<double> data; //the grid is stored in row-major order, with the lowest row (minimum Y) first

public SurferGrid(string rasterPath)
{
data = new List<double>(nx * ny);

IWorkspaceFactory wf = new RasterWorkspaceFactoryClass();
IRasterWorkspace wk=(IRasterWorkspace)wf.OpenFromFile(System.IO.Path.GetDirectoryName(rasterPath), 0);
IRasterDataset ird = wk.OpenRasterDataset(System.IO.Path.GetFileName(rasterPath));
IRaster raster=ird.CreateDefaultRaster();

IRasterProps props = (IRasterProps)raster;
nx = props.Width;
ny = props.Height;
IEnvelope env = props.Extent;
xlo = env.XMin;
xhi = env.XMax;
ylo = env.YMin;
yhi = env.YMax;
//zlo = env.ZMin;
//zhi = env.ZMax;

//populate data
PntClass extent=new PntClass();
extent.X=nx;
extent.Y=ny;
IPixelBlock datablock=raster.CreatePixelBlock(extent);
PntClass orig = new PntClass();
orig.X = 0;
orig.Y = 0;
raster.Read(orig, datablock);

for (int y = ny – 1; y >= 0; y–)
//for (int x = 0; x < nx; x++)
{
for (int x = 0; x < nx; x++)
{
data.Add((float)datablock.GetVal(0,x,y));
}
}

//get the max, and min
double max, min;
max = data[0]; min = data[0];
for (int i = 0; i < data.Count; i++)
{
max = max > data[i] ? max : data[i];
min = min < data[i] ? min : data[i];
}

zlo = min;
zhi = max;
}

public void WriteToFile(string outPath)
{
//StringWriter sw = new StringWriter();
StreamWriter sw = new StreamWriter(outPath);
sw.WriteLine(id);
sw.WriteLine(“{0} {1}”, nx, ny);
sw.WriteLine(“{0} {1}”, xlo, xhi);
sw.WriteLine(“{0} {1}”, ylo, yhi);
sw.WriteLine(“{0} {1}”, zlo, zhi);
StringBuilder sb=new StringBuilder();
for (int i = 0; i < ny; i++)
{
for (int j = 0; j < nx; j++)
{
sb.AppendFormat(“{0} “, data[i*nx+j]);
}
sb.Remove(sb.Length – 1, 1);
sb.AppendLine();

}
sw.Write(sb.ToString());
sw.Close();
}

}

}

附件是源代码。工具的运行需要dotnet framework 2.0和ArcView以上的License运行。编译后在命令行敲入RasterToSurferGrid有使用提示。

The attached please find necessary source codes which can be compiled on your own platform. Dotnet framework 2.0 and a valid ArcView license or higher are both required to run this tool. Besides, ArcGIS assemblies for dotnet framework are required. After successful compilation, typing RasterToSurferGrid following the command prompt shows you its usage information.
RasterToSurferGrid.zip

饮尿自救

汶川地震幸存者屡有报道说靠饮尿自救的例子。在缺水的情况下,饮尿在短期是利大于弊。尿95%是水,5%是有害物质,包括不可吸收的酒精、氮、钾等,如果事先有吃药,尿也有可能包含药里的一些物质。这些有害物质累积到一定程度就会严重影响健康。喝进自己的尿后,也会加重肾的负担。一般来讲,喝进排出重复几天后,尿里就变得富集这些有毒害物质,人会产生类似肾衰竭的症状,肾功能停止工作,这是致命的。

而人的水分散失,除了尿,还有大概1/8水分是通过汗水和呼吸出去的。而且尿里的有毒物质在身体的富集有研究表明会增加脱水速度。

美国部队野外手册将尿列在与海水、血一样的不能喝的位置上,类似的野外生存指南也提到绝不能(Never drink)喝尿自救。尤其是有伤口的情况下,磷和钾会进入血循环系统,很快就会导致正常的肾出问题。不过在地震的特殊情况下,再无其它途径获取饮用水,前期可以通过饮尿来减少水分的散失,同时最低限度减少运动量,但一般2-3天后再不能饮尿,那只会加速死亡。

Reference:
http://en.wikipedia.org/wiki/Survival_skills
http://slate.msn.com/id/2191909/
Army field manual (PDF)
http://www.adventuresportsonline.com/5basic.htm

悼念

国内是地震悼念日的第二天了,今天一个朋友约了些在这里的中国人,在他家后院举行了一个很小的悼念会。大家叠了一些纸鹤画了一些家电烧了,希望不幸离开的人在另一个世界可以一路走好。

回到家,见LP在线。说到我退税拿回来一些钱,她说那再捐点吧。我对上会的中国红十字基金会是彻底失望了(见:搞不懂的红十字会基金会),给他们写信反映可能存在的问题,已经过去好几天,没有任何回复。而且最近中国红十字会闹出挺不让人开心的事情。前面朋友给介绍过乐施会,连接到乐施会美国,又捐了一点钱。希望这点点钱真能到达需要的人手上。

Difference between Radar precipitation data stage 2 and stage 4

Zhuotong Nan ([email protected])

Stage II

Be produced directly from the real-time gauge and WSR-88D radar data received at NCEP.

raingauges:

  • from ~1450 ASOS sites from near-real time METAR file
  • and from ~5500 HADS automated gauge reports via the GEOS data Collection Platform.

Radar:

  • Hourly real-time Digital Precipitation Arrays (DPAs) from 140 ConUS WSR-88D radar sites.

The primary input to the ETA/EDAS precipitation assimilation before 2003.

Stage IV

A mosaic of regional multi-sensor analysis produced by NWS River Forecast Centers (RFCs) and benefits from the RFCs’ manual quality control step

mosaicked from the regional multi-sensor 1h and 6h analyses produced by the 12 ConUS RFCs.

The primary input to the ETA/EDAS precipitation assimilation after 2003. Stage II is only used when Stage IV is unavailable.

In summary,

Since Stage IV benefits from manual QC at the local RFCs, it is generally better than Stage II, which has no manual QC. There are a number of other issues for your consideration:

1. Coverage period: Stage II began to be archived at NCAR on 1 May 1996. Stage IV did not began to be archived until 1 Jan 2002. (NOTE: we have data from 1997 on for OHIO river basin. I guess this statement is for entire continuous continental, rather than for an individual RFC. -Zhuotong)

2. Do you need hourly or 6-hourly analysis? For 6-hourlies, Stage IV is the one to use (if you don’t need the pre-2002 data). Stage IV hourlies have some coverage problem since we do not receive the local analyses from all the RFCs for all hours.

3. How soon do you need the analysis to be available? Stage II hourly analysis is made at 35 minutes after the top of the hour, then re-made twice at 6 hours and 18 hours later. Stage VI runs each hour at approximately 35 minutes past the top of the hour.

4. If I choose Stage II, which type should I use? We recommend the multi-sensor analysis with the exception of early spring – early Aug 2000, when the radar coverage was bad. You might want to use the gauge-only analysis for that time period.

Validation examples:

clip_image004 clip_image006

figure 1 24 hour precipitation accumulative amount on OCT 10, 2004, Stage II (left) and Stage IV (right).

clip_image008clip_image010

figure 2 Left: Stage II; Right: Stage VI. On Jun 28 2005. Here we can see the variance between them.

References:

1. http://nanzt.info/wp-content/uploads/2008/05/stage2-4.19hydro.pdf
2. http://www.emc.ncep.noaa.gov/mmb/ylin/pcpanl/QandA/
3. http://www.emc.ncep.noaa.gov/mmb/ylin/pcpverif/daily/

患难见真情

媳妇看了我的BLOG说,怎么才捐了这么一点,比你妈还少。她自然得意了一下,说她在单位捐了300。不过我奇怪的是,我妈居然也要捐款?记忆中父母是十分省的人,比如从温州到兰州,他们都是坐汽车30几个小时过来的,舍不得吃舍不得穿,对他们自己已经到了一种吝啬的地步。不过对儿子很大方,每次回家回程的机票都是他们给买的,从机场到家里还有一些路,也总是让打车回家或者找人开车去接我们,我们呆在老家的日子总是每天做大鱼大肉,我念大学的时候,每年寒假回去都能胖上10斤左右。我记忆中,他们对别人也不是那种省得花钱的人。

媳妇看到我的惊讶,说,你居然不知道?你妈说她最乐意干的事就是捐款了,她在家里也有帮助别人,只是没有太多的钱可捐。——我还真不知道,十来年长期在外,对自己父母居然这样不了解。

我妈昨晚看了电视,看到血淋淋的电视镜头,拿出她自己的钱,一定让媳妇要将这钱汇到四川给受灾的人。看她认真的样子,媳妇说,今天要从银行汇,还一定要写上你妈的名字。

灾难是惨重的,我们在悲痛的同时,也看到很多美好的画面:温总理忙碌在第一线,可爱的子弟兵不辞劳苦抢救灾民,单位、个人、海国外捐款捐物,志愿者一波波奔赴灾区,……

平时大家也许对生活现状都不满之外,但所谓爱之深、责之切,患难才见真情!

搞不懂的红十字会基金会

给四川地震救灾捐点钱。前面看到公布出来的中国红十字会的帐号,发现外币开户名都是中文的,想想是无法在国外给这种帐户转钱的,人家又不认中文,我又不知道他的准确英文名是什么,而且也没有更快捷的渠道可以直接从信用卡上划钱。据说可以从它的网站在线捐款,但问题是我居然没法子打开它的网站,是不是人一下子太多给挂了。

从文字城上看到红十字会基金会可以海外在线划款,进入 http://www.crcf.org.cn/donationol/donation.asp,很快填了50USD,看起来好像是委托第三方,要收3.2%的费用,OK,可以接受。一切很顺利。通过得到的捐赠序号,看到,

捐助序列号

捐助者名称

捐赠类别

币种

金额(元)

折合人民币(¥)

是否到帐

DCS0805140xxxxx

Zhuotong Nan

抗震救灾

USD美元

50

413.87

在途

貌似都顺利。到银行帐户上一看,发现

Effective Date

Description

Amount

05/13/2008

VISA – www.crcf.org.cn

$7.42

怎么回事呀?一算这个数字大概相当于人民币50块,怎么前面的美金变成人民币了,郁闷。想着可能是那个基金会的网站与第三方划款平台间的连接有问题,那头的美金设定没有传递到划款平台。

朋友在旁边看了说,你小心点,不要被骗了。我这才发现原来红十字基金会跟中国红十字会不是一回事,好在后来在红十字会官方网站上看到红十字基金会的链接,想来不是骗人,再看到李亚鹏的基金帮过不少人,想来不至于被恶意网站欺骗。不过朋友又说了,你看这些人,连个网站都做的要不连不上,要不连划个款也不对,这些人其实根本不在乎你们捐的这些钱,多点少点根本不管。

想想好像也有点道理,很让人寒心,不禁郁闷。联想到我大学时某天冲动,非拉着一个好朋友去南关什字的献血站去献血,发现门口苍蝇到处飞(堆了医疗垃圾),热情一下子被泼了冷水,吓的跟朋友赶紧就跑回来,从此没再去献过血。

朋友说他要晚些时候捐,也许是教会的,否则他不放心,错了不说,也许捐的钱还到不了需要这笔钱的人手上,被中间截住花掉了,这种新闻不是没有。

很无奈不是,我只有自我安慰,总是对得起自己了。

汶川地震

看到报道,温总理跑四川灾区最前线亲自指挥,真是很感动,看到为国为民的好总理的形象。08年好事不少,奥运会要办了,但好像不好的事情也不少,天灾人祸,又是雪灾又是地震还有列车事故,每每都看到60多岁的温总理忙碌的身影。感动之余,不免感叹除了总理外的大小官员们都到哪去了?我宁愿看到总理坐阵北京,指挥一批得力干将,让他们去最前线冲锋陷阵,以最高的效率去解救受灾的群众。然而现在的情况看来是,总理每事事亲躬,一方面反映总理关心受灾人民心切,另一方面仍然缺少一个高效运作的政府体系,后者对于一个总理来讲更是一个艰巨的任务。看着60来岁还这么操劳的身影,免不了担心他的身体情况,经不起这样的折腾呀。

灾害也反应了太多的事情,地震局的职能多大程度上得到了体现,据说当地的地震监测站都被开发商给拆了,地震消息居然还是美国的地质调查局先于发布。而据朋友观察,当CNN、BBC等外媒网站都第一时间发布这个重大事故,CCTV网站还兴高采烈的庆祝奥运火炬。中国红十字会动员大家捐款,我试图登陆它的网站,却发现总也连接不上。公布的帐号是工商行的,却被网友说,银行还要收他们的手续费。他们肯定会说系统还没有更新过来,然后推上一天两天再公告说免捐款手续费。只是那一两天已经足够将银行本身捐的一千来万给挣回来了还有余利呢,真是两面讨好呀,不用出一分钱,又捐了款,又说是为大家最快时间推出了免费的绿色捐款渠道。

无论如何,看到不足的,我们更是看到了太多感人的内容,全国人民空前的团结起来,论坛上基本都是祝福和关心的帖子,谁说中国人的素质不高了?

Expensive sun?

看到网易上的一个新闻,太搞笑了。成都铁路局贵阳客运段将贵阳翻译成“expensive sun”,警(路)风翻译成“Police road breeze”等低级错误(想乐请见新闻原出处)。这也算了,承认个错误,说不懂英语,重新改过就好了。当记者采访他们的领导,这位可爱的主任居然说,“贵阳客运段的列车也有外国友人乘坐,但此前没有接到来自外国乘客的反映”,“当初这些标牌制作时曾经请教过外语方面的专家,但可能由于中英文理解上有出入,所以出现了以上的问题”。言外之意难道是想说,你们这些人懂不懂,老外和外语专家都看过了,(没问题,你们瞎起哄什么呀)。

老外没报告,我可以理解,大多数老外来中国是找乐子的,看到这么好玩的,这趟也没白来,回去跟朋友吹更有谈资了。另外老外的性格也是不愿意说三道四,更没有义务向你什么政府的报告。只是这些“外语方面的专家”我就奇怪了。任何一个学过英文的,即使理解再有出入,也绝不会翻译成这样,除非根本没看过,又或者那专家根本就不认识中文。说“曾经请教过外语方面的专家”是百分之二百的睁着眼睛说瞎话。这位主任想着这回出漏子了,想给自己扯点借口而已,却不想这借口也太无知了。