背景
因为一个程序中需要保存的数据太大,所以需要进行采样,保存稀疏网格上的值。在计算完成后,返回原来密集网格上的值。本来使用的是Scipy.interpolate.griddate
,效率十分低。
后来查阅相关文档,发现Scipy
提供了两种插值模式,分别对应矩形网格和非结构网格,前者效率更高。而对于我的问题,结构网格完全适用。
因为一个程序中需要保存的数据太大,所以需要进行采样,保存稀疏网格上的值。在计算完成后,返回原来密集网格上的值。本来使用的是Scipy.interpolate.griddate
,效率十分低。
后来查阅相关文档,发现Scipy
提供了两种插值模式,分别对应矩形网格和非结构网格,前者效率更高。而对于我的问题,结构网格完全适用。
据说,Goagent
要停了,趁着目前还能用赶紧用吧,以后可能换成VPN了。现在Mac OSX下,GoagentX
是最好的选择,它内嵌了Goagent
,支持自动切换。 但是它也很长时间没有更新了,不支持最新版本的Goagent
,所以现在有点问题,目前可以通过更改iplist
的方式仍然使用。
checkgoogleip
又是一个好心人提供的工具,特别适合我这样的无脑人士。这里是下载地址,它是用来检查哪些IP可以用在goagent上面。
下载完成后,执行:
1 | $ python checkip.py |
它就会自动开始检测IP,你随时可以利用Ctrl c
停掉,然后它会把可以使用的IP按照ping值进行排序,保存到ip_tmpok.txt
。打开后,可以看到很多地址,后面跟着对应的ping值,我们可以挑ping相对小的前几行。
iplist
首先,要找到这个配置文件,我当初也是找了好久,这里就直接给出了
1 | $ cd /Applications/GoAgentX.app/Contents/PlugIns/goagent.gxbundle/Contents/Resources/bin/local |
找到[iplist]
下google_hk
这一行,删掉原来的地址,修改成之前得到的ping值小的地址,例如,我目前在用的:
1 | [iplist] |
google_cn
是没有用的,为什么呢?因为它已经出局了-_-!
最后提醒下,要记得经常更新IP哦,也许它很快就被封了
官方指导文档:
Building the NetCDF-4.2 and later Fortran libraries
从4.2版本之后,Fortran库和C库要分开安装,而且要想安装Fortran的库必须先把C的库安好。安装NetCDF-C必须先安装zlib和hdf5,所以需要下载四个文件:
zlib、
hdf5、
NetCDF-C和NetCDF-Fortran。
这个问题是我在做《C++ Primer, 5th》上的一个习题时遇到的。我当时把template
的声明放在了.h
文件中,而把成员函数的定义放在.cc
文件中,结果在编译链接时
一直报错:
1 | ld: symbol(s) not found for architecture x86_64 |
我原本以为是g++
的链接出了问题,后来google发现原来是template的定义和声明
必须都放在.h
头文件中。接下来会详细说一下这个问题。
参考文献: