2015年2月5日星期四

转载:将win7电脑变身WiFi热点,让手机、笔记本共享上网

将win7电脑变身WiFi热点,让手机、笔记本共享上网 主机设置如下:
1、以管理员身份运行命令提示符:
2、启用并设定虚拟WiFi网卡:快捷键win+R→输入cmd→回车
运行命令:netsh wlan set hostednetwork mode=allow ssid=wuminPC key=wuminWiFi此命令有三个参数,
mode:是否启用虚拟WiFi网卡,改为disallow则为禁用。 
ssid:无线网名称,最好用英文(以wuminPC为例)。
开启成功后,网络连接中会多出一个网卡为“Microsoft Virtual WiFi Miniport Adapter”的无线连接2,为方便起见,将其重命名为虚拟WiFi。若没有,只需更新无线网卡驱动就OK了。
key:无线网密码,八个以上字符(以wuminWiFi为例)。 以上三个参数可以单独使用,例如只使用mode=disallow可以直接禁用虚拟Wifi网卡。 
3、设置Internet连接共享:
确定之后,提供共享的网卡图标旁会出现“共享的”字样,表示“宽带连接”已共享至“虚拟WiFi”。在“网络连接”窗口中,右键单击已连接到Internet的网络连接,选择“属性”→“共享”,勾上“允许其他······连接(N)”并选择“虚拟WiFi”。 
4、开启无线网络: 继续在命令提示符中运行:netsh wlan start hostednetwork
附:显示无线网络信息命令:netsh wlan show hostednetwork(将start改为stop即可关闭该无线网,以后开机后要启用该无线网只需再次运行此命令即可) 
至此,虚拟WiFi的红叉叉消失,WiFi基站已组建好,主机设置完毕。笔记本、带WiFi模块的手机等子机搜索到无线网络wuminPC,输入密码wuminWiFi,就能共享上网啦!
虚拟无线AP发射的WLAN是802.11g标准,带宽为54Mbps。

ubuntu13.10-64位系统安装ia32库

安装新立德软件包管理器:打开终端,输入以下命令:sudo apt-get install synaptic
打开新立德软件包管理器,选择“设置>软件库”
选择“其他软件 > 添加”
在APT行中输入 "deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse"
选择确定退出新立德软件包管理器
在终端输入“sudo apt-get update”
然后在终端输入:
sudo apt-get install  glib-networking-common:i386
sudo apt-get install  glib-networking:i386
sudo apt-get install  gstreamer0.10-plugins-good:i386
sudo apt-get install ia32-libs-multiarch:i386
sudo apt-get install ia32-libs

Grads脚本在gedit中高亮设置

仿照NCL脚本在gedit中高亮设置,自己改了一个grads 脚本在gedit中的高亮设置插件,
可以到下面链接下载,http://pan.baidu.com/share/link? ... 8&uk=2634521274
使用方法与http://www.ncl.ucar.edu/Applications/editor.shtml相同,
这个插件目前只能高亮关键词和注释部分,如果有懂gtksourceview的同行,还请后面增加更多完善,并共享之

The Self-Describing Files (SDF) interface in GrADS version 1.7 beta

GrADS is a data visualization and analysis package from COLAthe Center for Ocean-Land-Atmosphere studies. My work on GrADS has been to add the ability to read netCDF and HDF-SDS files, which I call SDFs (Self-Describing Files). The primary definition of what is needed in a netCDF or HDF-SDS file to be compatible with SDF interface in GrADS version 1.7 beta is the netCDF conventions adopted by participants in the Cooperative Ocean Atmosphere Research Data Service. In addition, the UNIDATA Program Center's udunits package version 1.10 or later is needed.



For a description of the SDF interface inGrADS version 1.6, go here.
In the following discussion of an SDF variable that corresponds to "time" (in GrADS terms, a "T" variable), the variable name "time" is actually used, but this variable is not required to have that name. It is determined based on the units attribute value exclusively, as required by theCOARDS conventions.
The COARDS conventions imply that the time:units attribute value should contain an origin, and GrADS'SDF interface requires it. Put in terms of function calls in the Udunits package, the time:units attribute value must encounter success with the calls utScan, utIsTime, and utHasOrigin (these are the C names; inFORTRAN,the function call names are utdec, uttime, and utorigin).
 Additionally, a time:units attribute specifying "months" is not supported, because that unit has no fixed length. However, data that have a monthly time step are easily described using a "days since origin_date" form of the units attribute value. The time step is checked and if it's greater than 27 days (whether the units attribute specifies days or hours), monthly frequency is assumed.
Multiple horizontal grids (AKA staggered grids) are supported by theCOARDSconventions, but not by GrADSSDF interface at this time. The new XDF interface can be used to partially address this point. For information on GrADSXDF interface, an alternative fornetCDF/HDF-SDSfiles, follow this link.
Climatology files are difficult to use at this time. Work is under way to correct this in future releases.
NetCDF defines a coordinate variable as a one-dimensional variable of the same name as a dimension. What GrADS describes as anXcoordinate variable is recognized by values of the units attribute of:
        "degrees_east", "degree_east", "degrees_E", or "degree_E"
Y coordinate variables are recognized if they have a units attribute values of:
        "degrees_north", "degree_north", "degrees_N", or "degree_N"
Z coordinate variables are recognized if they have a units attribute value that is a unit of length that can be converted by the udunitspackage to "feet", or a unit of pressure that can be converted to "pascals", or a unit of temperature that can be converted to "degrees Kelvin", or have one of the following explicit values (case is not significant):
        "mb", "sigma_level", "level", "layer", "layers",
        "hybird_sigma_level", "degreesk", or "degrees_k"
Any non-coordinate variable with dimensions consisting of theX &Yand optionally T and/or Z dimensions discovered as described above are considered displayable by the SDF interface, and may be used in expressions.
The preceding describes, to some extent, what an SDF needs in order to be accessible via the sdfopen command. However, files which do not have conformant metadata can still be read via the xdfopen command.
The syntax for the sdfopen command consists of one required argument (the path to the SDF file), and two optional arguments:
sdfopen SDFpath [template #time_steps] The optional arguments are for using a time series of files as a single entity. The #time_steps is the sum of the count in all the files to be examined, not the count in any one file. The different files are automatically accessed as the "time" or "t" settings in GrADSare altered. For example, if one had daily uwnd data in uwnd.1989.ncanduwnd.1990.nc, one could enter: sdfopen /Data/uwnd.1989.nc uwnd.%y4.nc 730 Thereafter in the session, times from either data file can be accessed. The %y4 in the template indicates a four-digit year that can vary in the filenames that can be accessed.

转载:Conventions for the standardization of NetCDF files

Sponsored by the "Cooperative Ocean/Atmosphere Research Data Service ", a NOAA/university cooperative for the sharing and distribution of global atmospheric and oceanographic research data sets
10 Feb 1995 - version 1.0
13 Mar 1995 - minor editorial repairs
01 May 1995 - added links, convention note
University participants:
NOAA participants:
This standard is a set of conventions adopted in order to promote the interchange and sharing of files created with the netCDF Application Programmer Interface (API).  This standard is based upon version 2.3 of netCDF.  Documentation of the netCDF API may be found in the "NetCDF Users' Guide, Version 2.3, April 1993 available from URL  http://www.unidata.ucar.edu/packages/netcdf/ or via anonymous ftp at ftp.unidata.ucar.edu.  All conventions named in that document will be adhered to in this standard unless noted to the contrary.
This standard also refers to version 1.7.1 of the udunits standard supported by Unidata.  The udunits package is available via anonymous ftp at ftp.unidata.ucar.edu.  Included in the udunits package is a file, udunits.dat, which lists collections of unit names.  The names given therein and their plural forms will be regarded as acceptable unit names for this standard with the following additions and deletions:
  • "degrees" - deleted
  • "level", "layer", "sigma_level" - added
The unit "degrees" creates ambiguities when attempting to differentiate longitude and latitude coordinate variables; files must use "degrees_east" for units of longitude and "degrees_north" for units of latitude or the alternative "spellings" of those names listed in the sections on longitude and latitude coordinates below.  The dimensionless units "level", "layer", and "sigma_level" are sometimes needed when representing numerical model outputs.
The udunits package also supports linear transformation of all units through the syntax "scale_factor unit_name@offset", for example, "0.0005 degC@40000".  This syntax, however, is not supported by this standard.
These conventions have been registered with Unidata as the COARDS conventions and are available at ftp://ftp.unidata.ucar.edu/pub/netcdf/Conventions/COARDS

Conventions:
File Name:
NetCDF files should have the file name extension ".nc".
Coordinate Variables:
1-dimensional netCDF variables whose dimension names are identical to their variable names are regarded as "coordinate variables" (axes of the underlying grid structure of other variables defined on this dimension).
Global attributes:
Although not mandatory the attribute "history" is recommended to record the evolution of the data contained within a netCDF file. Applications which process netCDF data can append their information to the history attribute.
The optional attribute "Conventions" is recommended to reference the COARDS conventions, registered with Unidata, and available via ftp at
   directory:      pub/netcdf/Conventions/COARDS
   host:           ftp.unidata.ucar.edu
 The attribute has this value:
  :Conventions = "COARDS";
  // Cooperative Ocean/Atmosphere Research Data Service
  • long_name - a long descriptive name (title). This could be used for labelling plots, for example.  If a variable has no long_name attribute assigned, the variable name will be used as a default.
  • scale_factor - If present for a variable, the data are to be multiplied by this factor after the data are read by the application that accesses the data. (see further discussion under the add_offset attribute)
  • add_offset - If present for a variable, this number is to be added to the data after it is read by the application that accesses the data. If both scale_factor and add_offset attributes are present, the data are first scaled before the offset is added. The attributes scale_factor and add_offset can be used together to provide simple data compression to store low-resolution floating-point data as small integers in a netCDF file. When scaled data are written, the application should first subtract the offset and then divide by the scale factor.
    The NOAA cooperative standard is more restrictive than the netCDF Users Guide with respect to the use of the scale_factor and add_offset attributes; ambiguities and precision problems related to data type conversions are resolved by these restrictions.  If the scale_factor and add_offset attributes are of the same data type as the associated variable no restrictions apply; the unpacked data is assumed to be of the same data type as the packed data.  However, if the scale_factor and add_offset attributes are of a different data type than the associated variable (containing the packed data) then in files adhering to this standard the associated variable may only be of type byte, short, or long.  The attributes scale_factor and add_offset (which must match in data type) must be of type float or double.  The data type of the attributes should match the intended type of the unpacked data.  (It is not advised to unpack a long into a float as there is a potential precision loss.)
  • _FillValue - If a scalar attribute with this name is defined for a variable and is of the same type as the variable, it will be subsequently used as the fill value for that variable. The purpose of this attribute is to save the applications programmer the work of prefilling the data and also to eliminate the duplicate writes that result from netCDF filling in missing data with its default fill value, only to be immediately overwritten by the programmer's preferred value. This value is considered to be a special value that indicates missing data, and is returned when reading values that were not written. The missing value should be outside the range specified by valid_range (if used) for a variable. It is not necessary to define your own _FillValue attribute for a variable if the default fill value for the type of the variable is adequate.  
Units attribute:
A character array that specifies the units used for the variable's data.  Where possible the units attribute should be formatted as per the recommendations in the Unidata udunits package.
Other attributes:
A file will normally contain many attributes that are not standardized in this profile.  Those attributes do not represent a violation of this standard in any way.  Application programs should ignore attributes that they do not recognize.
Variable names:
Variable names should begin with a letter and be composed of letters, digits, and underscores.  It is recommended that variable names be case-insensitive implying that the same case-insensitive name should not be used for multiple variables within a single file.
Rectilinear coordinate systems, only:
The space/time locations of points within the netCDF variables should be the simple ordered tuples formed by associating values from their coordinate axes.  Thus, for example, curvilinear coordinate systems in which the coordinate locations must be inferred from other non-coordinate variables or from an equation are not standardized by this netCDF profile.
Number of dimensions:
All netCDF variables will be defined on either one, two ,three, or four dimensions (the nature of the data will dictate the natural encoding).  Where it makes sense single point locations should be encoded as coordinate variables, for example, the latitude and longitude positions of a vertical profile are natural candidates for single point latitude and longitude coordinate variables.
 If it is necessary to create a netCDF file with more than 4 dimensions it is recommended that the additional dimension(s) be added "to the left" of the space and time dimensions as represented in CDL.  For example
 float my_variable(param_value,time,height,lat,lon);  
would be the recommended representation of a fifth, parameter value, coordinate.
Coordinate variable names:
The names of coordinate variables are not standardized by these conventions (since data sets may in general contain multiple coordinate variables of the same orientation).  Coordinate variable names should follow the same general naming rules (above) as other netCDF variables.
Order of dimensions:
If any or all of the dimensions of a variable have the interpretations of "date or time" (a.k.a. "T"), "height or depth" (a.k.a. "Z"), "latitude" (a.k.a. "Y"), or "longitude" (a.k.a. "X") then those dimensions should appear in the relative order T, then Z, then Y, then X in the CDL definition corresponding to the file.
Data type:
The data type of coordinate and non-coordinate variables is unrestricted (byte, short, long, float, and double are all acceptable data types). Although not forbidden by this standard the data type "char", which is functionally identical to "byte", is not recommended as netCDF has reserved the option to modify its behavior in future versions.
Coordinate value ordering:
The coordinate values of a coordinate variable must be either monotonically increasing or monotonically decreasing.  However, the coordinate values need not be evenly spaced.  Missing values are not permitted in coordinate variables.
Coordinate Variable Attributes:
If a coordinate variable contains longitude, latitude, depth, elevation, date, or time values then the units attribute is mandatory; it is used to determine the orientation of the coordinate variable.  The long_name attribute is optional but may be used to enhance clarity and the self-describing nature of the netCDF file.  Since coordinate variables may not contain missing values the attributes _FillValue and missing_value may not be used with coordinate variables.
Time or date dimension:
Coordinate variables representing time must always explicitly include the units attribute;  there is no default value. A time coordinate variable will be identifiable by its units, alone. The units attribute will be of character type with the string formatted as per the recommendations in the Unidata udunits package version 1.7.1.  The following excerpt from the udunits documentation explains the time unit encoding by example:
 The specification:
      seconds since 1992-10-8 15:15:42.5 -6:00
 indicates seconds since October 8th, 1992 at 3 hours, 15 minutes and 42.5  seconds in the afternoon in the time zone which is six hours to the west of  Coordinated Universal Time (i.e. Mountain Daylight Time).  The time zone  specification can also be written without a colon using one or two-digits  (indicating hours) or three or four digits (indicating hours and minutes).  
The acceptable units for time are listed in the file udunits.dat.  The most commonly used of these strings (and their abbreviations) includes day (d), hour (hr, h), minute (min), second (sec, s), year (yr). Plural forms are also acceptable.  The date string may include date alone; date and time; or date, time, and time zone.
It is recommended that the unit "year" not be used as a unit of time. Year is an ambiguous unit as years are of varying length.  Udunits defines a year as exactly 365 days.
A time coordinate variable is identifiable from its units string, alone.  The udunits routines utScan and utIsTime can be used to make this determination.  (*Note that at the time of this writing the author of this draft profile had not tested these routines personally.)
Climatological time:
Coordinate variables representing climatological time (an axis of 12 months, 4 seasons, etc. that is located in no particular year) should be encoded like other time axes but with the added restriction that they be encoded to begin in the year 0000.  (Note - at the time of this writing this encoding has not been tested with the udunits package.)
Vertical (height or depth) dimension:
Coordinate variables representing height or depth must always explicitly include the units attribute; there is no default value for the units attribute. The units attribute will be of character type.
The acceptable units for vertical (depth or height) coordinate variables are
  • units of pressure as listed in the file udunits.dat.  For vertical axes the most commonly used of these include include bar, millibar, decibar, and atmosphere (atm).
  • units of length as listed in the file udunits.dat.  For vertical axes the most commonly used of these include meter (metre, m), centimeter (cm), decimeter (dm), and feet (ft).
  • the (dimensionless) units "level", "layer", or "sigma_level"
  • other units listed in the file udunits.dat that may under certain circumstances reference vertical position such as units of density or temperature.
Plural forms are also acceptable.
The direction of positive, whether up or down, cannot in all cases be inferred from the units.  The direction of positive is useful for applications displaying the data.  For this reason the new attribute positive is defined in this standard.  The inclusion of the positive attribute is required by this standard if the vertical axis units are not a valid unit of pressure (a determination which can be made using the udunits routine, utScan) -- otherwise its inclusion is optional.  The positive attribute may have the value "up" or "down" (case insensitive).
For example, if an oceanographic netCDF file encodes the depth of the surface as 0 and the depth of 1000 meters as 1000 then the axis would use attributes as follows:
axis_name:units="meters";
axis_name:positive="down";
If, on the other hand, the depth of 1000 meters were represented as -1000 then the value of the positive attribute would have been "up".  If the units attribute value is a valid pressure unit the default value of the positive attribute is "down".
A vertical coordinate variable will be identifiable by
  • units of pressure; or
  • the presence of the positive attribute with a value of "up" or "down" (case insensitive).
Latitude dimension:
Coordinate variables representing latitudes must always explicitly include the units attribute; there is no default value for the units attribute.  The units attribute will be of character type with the string formatted as per the recommendations in the Unidata udunits package.
The recommended unit of latitude is "degrees_north".  Also acceptable are "degree_north", "degree_N", and "degrees_N".
A latitude coordinate variable is identifiable from its units string, alone.  The udunits routines utScan can be used to make this determination.  (Note that at the time of this writing the author of this draft profile had not tested these routines personally.)
Longitude dimension:
Coordinate variables representing longitudes must always explicitly include the units attribute; there is no default value for the units attribute.  The units attribute will be of character type with the string formatted as per the recommendations in the Unidata udunits package.
The recommended unit of longitude is "degrees_east" (eastward positive).  Also acceptable are "degree_east", "degree_E", and "degrees_E".  The unit "degrees_west"(westward positive) is not recommended because it implies a negative conversion factor from degrees_east.
Longitudes may be represented modulo 360.  Thus, for example, -180, 180, and 540 are all valid representations of the International Dateline and 0 and 360 are both valid representations of the Prime Meridian. Note, however, that the sequence of numerical longitude values stored in the netCDF file must be monotonic in a non-modulo sense.
A longitude coordinate variable is identifiable from its units string, alone.  The udunits routines utScan can be used to make this determination.  (Note that at the time of this writing the author of this draft profile had not tested these routines personally.)

What type of calendar is used in the CM2.x experiments?

What type of calendar is used in the CM2.x experiments? A 365 day calendar is used. February always has 28 days and a year always has 365 days.    
(NOTE: This answer applies to all CM2.x   deccen experiments.)    
   
Coupled climate model experiments conducted at GFDL to explore deccen climate issues have traditionally used a 365 day calendar without leap years. Neglecting leap days (i.e., 29 February never occurs) is acceptable for     these experiments because no attempt is being made to replicate the weather conditions of any particular day. Also, by having a calendar in which a year is always 365 days in length, many analyses of the long model-produced time series become more straightforward, because the seasonal cycle is identical each and every year e.g., the location of the sun in the sky at 12Z on 7 October - or any other date and time - is exactly the same every year.)
   
That the CM2.x models use a 365 day calendar is indicated in the netCDF output file attributes as…
   
         time:calendar = "noleap" ; 
   
    The NetCDF Climate and Forecast (CF) Metadata Conventions provide for not one, but two ways to specify a 365 day repeating calendar. The two are "noleap" or "365_day". The CM2.x model output uses the "noleap" attribute setting. (A "common_year" also is considered to be 365 days.)
   
So, what does this mean for the end user? It depends upon what analysis package is being used.
                   
Analysis programs that have adopted the CF calendar conventions should recognize that CM2.x is using a noleap calendar and automatically adapt, without any user actions required.  [For example, the Ferret analysis program     correctly handles the CM2.x noleap calendar, requiring no user actions in order for the calendar to be properly displayed.]
                   
Some other programs are able to accommodate a noleap calendar, but only if the user intervenes. Such programs do not recognize the noleap netCDF attributes, and instead require the user to somehow specify the kind of calendar being used. [For example, the GrADS analysis program can adapt to the noleap calendar if one creates a partial descriptor file and uses the "xdfopen" command. For more information about dealing with the noleap calendar in GrADS, see the Tips on using NetCDF files with GrADS writeup at the bottom of this page, provided courtesy of Jennifer Adams of COLA.]
   
However, programs that neither recognize the noleap attribute, nor allow one to override the default calendar,     will have problems displaying the proper date if the program assumes anything other than a 365 day calendar.
  
How bad a mistake is made if one assumes the CM2.x models use a Gregorian or standard calendar (i.e., one with leap days) instead of a noleap calendar?  It depends on how far in time the point of interest is relative to the reference time the program uses in its calendar calculations. For example, consider the case where the     reference time is equivalent to the specification    
          time:units = "days since 1-01-01 00:00:00" ; 
    In other words, the calendar calculations use 1 January year 1 as  a starting point. If one looks at a January mean of year 451 produced  by a CM2.x experiment while using a program that does its calculations using a noleap 365 day calendar, the date will appear as 16 Jan 451.  But, a program that bases its calculations on a calendar that includes leap days will show the date as being sometime in September of year 450.  Over 451 years, more than 100 leap days would have accumulated, leading to a multi-month offset in the calendar calculation.    
                     
  1. Use the 'sdfopen' command -- This is the simplest because the users do no need to provide anything more than a file name. GrADS checks all the attribute metadata in the file to determine how to place the data into a lat/lon/lev/time grid context inside GrADS. For the time axis, this is done by reading the first two data values, determining a 'start' and 'increment' and calculating the remainder. Unfortunately, when the time axis units are (for example) 'hours since 1980-01-01 00:00:00" and the first two values are 2453544 and 2454216, the calculation of the dates associated with these two large integers is done using a gregorian calendar, not a 365-day NOLEAP calendar, even if that calendar attribute exists in the data file. So, the initial date and the increment may well be incorrect, and thus the time axis values will not be correct when this type of data file is opened with 'sdfopen'

Option #1 will not work reliably with 365-day NOLEAP data files. Option #3 will only work with GrADS 1.9. Option #2 is the easiest and quickest. However if you plan to be templating (or aggregating) several netcdf files together, then it is worth the effort to write a full descriptor file and use option #3 -- the use of 'xdfopen' with templated data sets is known to lead to memory leaks and eventual core dumps.                    

Building HDF5 and NETCDF with Intel compiler

http://software.intel.com/en-us/articles/performance-tools-for-software-developers-building-hdf5-with-intel-compilers

http://software.intel.com/en-us/articles/performance-tools-for-software-developers-building-netcdf-with-the-intel-compilers
==================================================================
http://www.cnblogs.com/panfeng412/archive/2011/10/20/library_path-and-ld_library_path.html
LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下:
LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。设置方法如下(其中,LIBDIR1和LIBDIR2为两个库目录):
export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH
LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。设置方法如下(其中,LIBDIR1和LIBDIR2为两个库目录):
export LD_LIBRARY_PATH=LIBDIR1:LIBDIR2:$LD_LIBRARY_PATH
举个例子,我们开发一个程序,经常会需要使用某个或某些动态链接库,为了保证程序的可移植性,可以先将这些编译好的动态链接库放在自己指定的目录下,然后按照上述方式将这些目录加入到LD_LIBRARY_PATH环境变量中,这样自己的程序就可以动态链接后加载库文件运行了。
区别与使用:


开发时,设置LIBRARY_PATH,以便gcc能够找到编译时需要的动态链接库。
发布时,设置LD_LIBRARY_PATH,以便程序加载运行时能够自动找到需要的动态链接库。

Hovmöller diagram From Wikipedia, the free encyclopedia

A Hovmöller diagramis a commonly used way of plottingmeteorological data to highlight the role of waves. The axes of a Hovmöller diagram are typically longitude or latitude (abscissa or x-axis) and time  (ordinate or y-axis) with the value of some field represented through color or shading. Hovmöller diagrams are also used to plot the time evolution of vertical profiles of scalar quantities such as temperaturedensity, or concentrations of constituents in the atmosphere or ocean. In that case time is plotted along the abscissa and vertical position (depth, height, pressure) along the ordinate.
The diagram was invented by Ernest Aabo Hovmöller (1912-2008), a Danish meteorologist.
啧啧,这哥们差点就变百岁老人了,一点点啊,可惜了的。

科学网—SCI检索号识别一法:UT-WOS与UT-ISI - 郑新奇的博文

SCI收录号检索方法网上很多,但由于出现了UT WOS和UT ISI,使很多人发晕。经咨询有情报管理背景的朋友,得到一个区分方法。这里介绍一下。
1、常规方法找到UT WOS
进入http://www.webofknowledge.com/搜索论文, 然后在最底部可以看到“输出记录(Output This Record)”字样,点选下面的“全记录”,然后在右边的“保存”按钮前面可以看到一个下拉菜单,选择“保存为HTML格式”,保存到指定位置。然后打开这个HTML文件即可在下面见到“UT WOS:000283908400014”字段。注意,以前是UT:ISI或这UT:ISTP。现在统一为UT:WOS。WOS: web of science。 SCI(期刊)和ISTP(会议)都是属于ISI数据库,因此仅仅通过“UT WOS” 信息不能区分是SCI或ISTP检索。
2、区分SCI与ISTP
区分SCI和ISTP还要回到文章的检索页面,在刚才保存输出结果的上方有个IDS Number(IDS号)。如果"IDS Number"字母在前数字在后(IDS 号: JH216)就是ISTP检索,如果数字在前字母在后(IDS 号: 216JH )就是SCI检索。
当然,也可以将上述步骤进行交换检索。
如果不对请纠正。
当然权威的还是官方承认的证明文件。


http://blog.sciencenet.cn/blog-43347-582491.html  转载请注明来自科学网博客,并请注明作者姓名。

转贴:应届毕业生的户口,档案到底有多大的用处???

送给和我一样即将毕业的兄弟姐妹们:
大学毕业后的一年最为关键,这一年是对其人生的基本规划最为重要的一年,原因涉及三项:就业协议书》、《报到证》(派遣证)、国家干部身份。
近 年来,在紧张的就业过程中,很多高校毕业生在刚刚毕业的一两年内,就丢了自己的国家干部身份、人事档案、户口。这里先说说干部身份对于毕业生而言,有些什 么样的作用,在我国,无论各行各业都会有职称评定,而且相信任何单位都希望有那些有职称的人来工作,而且,就算你工作的单位没有职称评定一说,那想你如果 是高级工程师你拿的钱也绝对比别人多。而什么人能评定职称呢?有干部身份的人。所以从此看出,就算你不当官,你只挣钱,那干部身份对你来说还是有用的。在 这里,我想简单的说一说我目前所知道的关于这方面的一些问题,相信肯定有很多不全面的地方,但至少相信可以帮助到高校毕业生。
(一)为什么毕业前要签《就业协议书》呢?很多毕业生朋友,都认为《就业协议书》签订,就是为了学校方便统计就业率的。但其实最重要的一个作用是学校办理该毕业生报到、接转行政、档案转出、户口关系的依据。
(二) 如果说到就业协议,那么必需提到的就是《报到证》与国家干部身份。就业协议作为国家统计大学生就业率的一个根据,同时也是学校报到证发放的一个证明。只有 毕业生签署了就业协议,拿回学校,学校才会在该毕业生毕业后将报到证发给你,而你拿着报到证到你工作的单位报道,就此开始计算工龄,而你也就拥有了干部身 份。
(三)《报到证》: 
《报到证》分上下两联(内容相同),上联(蓝色)由校就业指导中心寄发给毕业生,下联(白色)则放入学生档 案内(人事档案属国家机密,不允许个人持有。如果你的用人单位拥有档案管理资格那么你的档案就放在单位;如果没有,那你的档案放在人才市场类的档案保存 处。若你没签就业协议书,那你的档案就直接打回原籍)。而《报到证》则交由你手自行保管。在这里必须要重点说的是,很多人在毕业后没多久就把《报到证》丢了,而当若干年后单位希望将你提干要求出示《报到证》时,很多就没有了,而只能再跑回某地去重新开证明,这时的证明可就没那么好开了,所以还是劝毕业生保管好《报到证》。 
(四)国家干部身份: 
在中国社会体系中,公民分三中身份:农民、工人、干部。农民归农业部管理,工人归劳动局管理,而干部归人事局管理。大学生属于国家培养的专业人才,属于 国家干部身份。而很多人却从毕业后就莫名其妙的丢了自己的干部身份。当然也有很多是根本不在乎自己的干部身份。认为有就有,没有就没有,没有的话我至少是 四年大学毕业学士学位。其实你错了。如果你没有留住你的干部身份,可以说你的大学就是白念,而你只是个有学士学位的工人,根本没有改变你自己的身份。国家 干部身份靠什么来?靠就业协议,靠《报到证》。《报到证》就是你大学生干部身份的证明,假如某天你被提干时,这个就是你可以被提干的证明,因为你是干部身 份。否则你就不能被提,因为你是工人。也许很多人说:我不会被提干,那我要干部身份干嘛,我就想挣钱。
(五)那么我现在要说的就是职称评定了。其中也涉及到关键一年的具体事宜。 
毕业生持《报到证》到单位上岗后,必须要经过一年的见习期(国家规定)。见习期满后,本人必须记得要签《毕业生见习期考核鉴定表》,这是你转正的鉴定表 (从此你就拿正常工资了),说明你已经是一个合格的人才了(见习期需要在同一单位完成,也就是你的就业协议、报到证以及你的转正证明表,这三个上面盖的要 是同一单位的章,否则视为无效)。紧接着要记得填写《国家统一分配大中专院校毕业生专业技术职务任职资格认定表》,也就是初级职称评定表(这些事要你自己 留心,没有人会提醒你去做的,表要到人事部网站下载)。具体可评定的职称可以到人事部网站上查询(职称最好和自己学的专业有联系,否则到中高级评定时比较 难)。现在我国职称评定这块要通过考试(除艺术、工艺美术、体育教练员及广播电视播音4个系列外,申报其他初级系列都需要通过考试才能获得初级专业技术资 格。考试采用闭卷笔答方式,实行统一大纲、统一命题、统一组织。申报人员参加杭州市初级专业技术资格考试成绩合格,即可取得《杭州市专业技术资格证 书》),以考试来决定你是否能评上职称。当然有些职称评定也不排除某些单位内部的人为原因。在你初级职称评完四年后,也就是你工作的第五年,你可以申请评 定中级职称。再五年后,也就是工作第十年,评定高级职称(具体可上网查)。这样你一辈子的职称就基本评定完了,所以有些幸运的人10年就可以当上“高级工 程师”。在我国,无论各行各业都会有职称评定,而且相信任何单位都希望有那些有职称的人来工作,而且,就算你工作的单位没有职称评定一说,那想你如果是高 级工程师,你拿的钱也绝对比别人多。而什么人能评定职称呢?有干部身份的人。所以从此看出,就算你不当官,你只挣钱,那干部身份对你来说还是有用的。《就 业协议》的签署是没有限制的,与任何公司或单位签都可以,不一定要国企或事业单位,否则每年那么多大学生就业,还不80%都要丢了干部身份。但要保证一 点,就算是三个人的小公司也能签,但不要在一年内倒闭,否则你就没有人给你签转正了,切记切记。又有人说了,我想考研,我明年要考,我就不签三方了(其它 情况也一样),随便找个活干干,挣点钱完了。那你就大错特错了。记住,不论任何时候,别放弃你的身份!如果你要考研,那么你属于在职考研一类,我们举例说 一下。假如你考上了:你6月大学毕业,7月到单位报到。第二年7月,你转正,初级职称评定。研究生9月入学。当你研究生入学时,哥们已经是有身份的人 了,3年研究生读完,哥们出来直接拿正常工资了(进私企),没有见习期一说了(研究生毕业也有3个月的见习期)。如果你进国企或事业单位,那么研究生3年 算工龄(我不知道私企是不是,但国企或事业单位绝对是),你出来就可以评中级职称了,哥们又赚了一大笔。所以你说你该不该保你的干部身份?假如你没考上: 没考上更简单,直接继续工作,回头等着评中级,没差什么。很多人总是怕麻烦,其实一切就是这么简单,如果你重视了,那么也许我的话会改变你的一生,如果你 没重视,那么就当给我捧场,也谢谢你。不过要记住一句话,别因2009年就业压力大,而错失本该属于高校毕业生的国家干部身份,谨记!
(六)户口 
就从户口说起吧,这方面都是比较根本的东西。户口是中国特有的一种户籍制度,如果在香港,户口一般指的是银行账户。中国政府依靠户口来统计中国的人口方 面的数据,中国人口信息网上面那两个人口时钟就是根据户口来统计出来的。所以说,在中国,户口就是你最本质的证明。没有户口,就是“黑户”,将面临着种种 麻烦,比如没法办理身份证(于是需要身份证的事情都没法做)没办法登记结婚,没办法领取社会补助,没办法读书上学,甚至面临着“偷渡”的嫌疑。其实“黑户 ”很常见,我工作一个月就见到了不下十个“黑户”,而且每一位都拥有至少是本科的文凭,可以说是知识分子。他们成为黑户的原因很简单,就是毕业以后“三不 管”,户籍档案关系“任逍遥”,等到用的时候发现,自己竟然莫名其妙变成“黑户”了。又得花钱找人托关系重新办理,费钱又费时间,麻烦至极。所以大家一定 要时常关注自己的户口,别丢了,受那冤枉罪。在中国,尤其是农村生源的孩子们,从小受的教育就是从出农村,向城市发展。打工是一条路,可惜打工何年何月才 是出头之日啊;上学可以说是一条捷径,虽然这路也不是那么一帆风顺,总比打工舒服的多了。一般考上大学,就兴冲冲的回家领了户口迁移证,从家里的户口簿里 拿走了自己的户口页,等到九月秋初,开学报到的时候将这些材料全部上交,就暂时性的成为了学校所在城市的一员(当然也有部分同学没有迁户口)。总之,大家 户口迁出来的过程基本就是这个样子了。 
其实毕业以后户口这东西也有一些道道。一般来讲,毕业生户口有五种去向:1、工作单位有户籍管理的条件(比如政府部门、高等学校);2、就业地的人才交流中心;3、代理托管挂靠;4、未曾办理,一年后学校给予打回原籍;5、任逍遥,不知所终。
工 作单位可以接管户口那最好,当然也要自己主动去办理这方面的手续,在现在这个冷漠的社会,除了父母兄弟朋友谁会管你的事情啊,所以别指望有人提醒你该怎么 做,重要的是自己主动去问,去做。当然,大多数人还是无法在这种单位就业的,因为这种单位不是政府部门,就是国有企业,再者就是比较大型的企业。工作单位 不能接管户口的时候,按照往常来说,大多数同学都会选择放到当地的人才交流中心,因为这是官方的说法。但是有个限制条件,人才交流中心的集体户口是属于临 时户口,有两年的限期,毕业超过两年就不能继续托管了。而且户口跟档案是一体的,不能单独提出来。还有就是放到代理托管挂靠户口。我不知道别的公司是怎么 样的,我们公司的收费是跟人才市场的一样的,这是物价局定的价格。但是放到我们公司有诸多好处。首先,我们公司的集体户口是青岛市或济南市常住户口,享受 与青岛或济南市民同等待遇,比如买限价房什么的;其次,这个户口没有限期,是永久性的;再次,我们可以户档分离,户口档案可以分开提取,方便使用;最后, 我们有计划生育办公司,可以进行户口夫妻投靠、子女投靠、父母投靠。你一个人拥有这个户口,全家人都可以投靠。有的人没有办理任何手续,户口打回原籍,如 果遇上不负责任的管理员,恐怕就成了“黑户”。
(七)档案 
很多人终生都见不到自己的档案,按照规定,个人是不能接触自己的档案 的,档案的发送必须使用国家“机要”文件发送方式,属于国家秘密。所以说,档案是一件很严肃的东西。它是一个人生平的写照,读书的情况,工作的情况,党组 织关系的一些情况都会在档案里以文件的形式保存,直到去世。 
档案原则上来讲分为三种:学籍档案、人事档案和工人档案。学籍档案记录一 个人的读书生涯,记载着他何年何月在哪里读书,受过何等处分何等表扬,一些测评表格、成绩单等归教育局管理。人事档案则是在学籍档案中加入了派遣证、履历 表、转正定级材料、婚姻变更材料、出国材料、劳动合同等,归人事局管理。工人档案则是指没有经过转正定级,没有获得干部身份的工人,归劳动局管理。 
目 前还在校读书,包括像我这样的正在实习,但还未毕业的学生的档案,全部是学籍档案(这期间档案在学校);毕业生毕业后,在其学籍档案中放入该毕业生的报道 证,然后由学校将档案转交毕业生就业单位的人事部门或委托的人才交流机构,这份档案才转成人事档案(这期间档案在工作单位或者人才交流中心或者挂靠在代理 托管机构);如果毕业生毕业后未办理相关手续,那么在一年派遣期后(211工程学校是两年),其学籍档案过期,将被打回原籍,进入劳动局,转变为工人档案 (这期间档案在劳动局)。 如果你的档案不行由人事局转为劳动局管理,那么很遗憾的告诉你,你失去了你这么多年读书得到的唯一社会凭证——干部身份。有人说我有毕业证,证明我受过高 等教育,可是你没有干部身份,你就是一个受过高等教育的工人,即使退休了,你的退休金也比有干部身份的人的要少很多很多。关于干部身份,我下面会详细得 讲。 
(八)干部身份 
在告诉大家干部身份是什么东西之前,我首先要阐明一下,干部身份如果失去了,无法补办,保质期一过,永久丢 失。在中国社会体系中,公民分三中身份:农民、工人、干部。农民归农业局管理,工人归劳动局管理,干部归人事局管理。通过向劳动部门申请办理招工(就业) 手续后具备工人身份,通过人事组织部门办理吸收、录用干部手续后具备干部身份,国家统一招收的全日制普通高校毕业生执行一年见习期考核合格办理转正定级手 续后也具备干部身份。(注:如果两年择业期内没有办理相关手续,指标自动作废)注:大中专毕业生必须办理将“学籍档案”转变成“人事档案”后才有资格办理 转正定级手续 国家规定,大中专毕业生毕业(以报到证人事部门签署日期为准)一年后,即可由所在单位人事部门或委托的人才交流机构批准转正定级;本科毕业生毕业工作一年 (以报到日期计)、大中专毕业生毕业工作满三年可申报初级职称,由所在单位人事部门或委托的人才交流机构办理。转正定级之后,就确定了干部身份。
(九)干部身份的作用: 
1、 国家机关录用公务员、进入事业单位的基本条件。公务员政审材料有一条明确规定要有干部身份(应届毕业生考公务员的除外)。 
2、 单位之间,城市之间人才流动的必备条件之一。比如北京现在的落户政策基本就是人才引进,必要条件之一就是要有干部身份。只有有干部身份,才能说是干部调动。 
3、 拥有干部身份才能够评职称。在我国,无论各行各业都会有职称评定,而且相信任何单位都希望有那些有职称的人来工作,就算你工作的单位没有职称评定一说,那 想你如果是高级工程师,你拿的钱也绝对比别人多,因为这是国家规定,国家规定拥有职称的人的基本工资,比如一个高级工程师的基本工资不得低于年薪5W(举 例,不代表国家规定)。 
4、 提干的基本材料。就是说如果你要被提升干部,就必须拥有干部身份。 
5、 计算干部工龄的起始点,工龄从拥有干部身份开始计算。(工龄关系着你的职称评定、社会保险等)
6、拥有干部身份养老保险拿的钱数多 (干部100%,工人60%-80%)。有人说,我不考公务员,不想进事业单位,我就挣钱行了吧。这又牵扯到职称问题了,一个拥有职称的人,哪怕是个低级职称,他的工资比同水平没有职称的人的工资水平就高一个级别; 有人说,我暂时想考研,等研究生毕业后再想工作的事。假如你今年7月份毕业,你在6月份跟一个代理公司(或者找关系,你爸的朋友的公司什么的)签订了三方 协议,档案被发到这家代理公司。等到九月份研究生入学的时候,需要档案,就去让这家公司发送你的档案到学校(你算作是在职考研,与应届生考研没什么区 别)。一年后,找签三方的那个公司给做转正定级,确定干部身份。三年后你毕业,实际已经拥有2年的工龄了。工龄这个东西很重要,首先必须拥有干部身份(工 作一年)才能评定初级职称,工龄4年(工作五年),可以评中级职称,工龄9年(工作10年),可以评高级职称。至于那些破例评定的,则需要 获得什么国家级的科研奖什么的,咱么一般人是没有办法的。今后无论工作如何变动,你的人事档案不能脱离人事厅(局)以及所属的人才中心等干部档案管理系 统。一旦转入劳动局或所属的劳动力市场以及职介等机构超过三个月不能及时转回的,将失去原有干部身份。
(十)党组织关系 
这一块的话 一般就不用说了,但每年都有大量的党员失去自己的党员身份。无非是几个理由:抛弃了党组织关系、不上缴党费、不参加党组生活等。这里面大多数人是因为没有 引起足够的重视,或者可以说是无知导致了这种行为。共产党员就是要为人民服务,我党宗旨就体现出了这一条。大多数脱离党组织的成员都是因为觉得付出没有回 报,思想境界达不到标准才脱离党组织的。而实际上,为人民服务,人民不是木头,人民知道党在做事,会给予回报。虽然作为一个共产党员说出这样的话不应该, 原则上来讲,我们应当不计回报,不计报酬的为人民服务。我讲出下面这些话,也许要受到党组织批评,可是我还是要说,因为这是事实,我不想让咱们应届的学生 们犯这个错,失去大好的机会。不计回报,不计报酬的为人民服务的人存在,而且很多,但绝大多数的党员,我想思想上还是有问题的,虽然每个季度都要写“量贩 式”的思想汇报。而这个社会的实际情况也是这样的。中国是共产党一党专政,虽然本质上是人民民主专政,共产党是人民代表,可实际上确实是共产党在执政,中 国不会出现国民党员当政府成员的情况。因此,如果你想在中国政治舞台上有所发展,你的党员身份将是你的最根本的条件。我说句老实话,就拿青岛这边来说,我 想全国各地都是一样的。你是一个党员,而且拥有青岛本地常住户口,你的户口在某某小区。那么每年,光选举期间,你就会有不少收益,因为党员的一票,远远比 群众的一票重得多。我说这些不是为了败坏我们党员的风气,不是说要让党员去为这个而努力,而是说这是一个客观存在的事实,每个地方都存在的现象。当然,还 是期望我们的党员同志们能够真正从心底上爱党爱民真正为人民服务。所以,记得按时交党费,时常写思想汇报,准时参加党组生活。
转正定级为 干部是国企和事业单位的称呼。办理转正定级手续后就具备了国家干部身份,如果变动工作调入国有单位,转正定级将作为享受有关待遇的主要依据。转正定级在档 案管理的意义上用处很大:不作转正定级,档案中就没有转正定级表,按档案不全处理。机关、事业单位和规范的大企业不收此档案,也就不能录用。大城市办理引 进人才解决当地户口时也不收此档案,也就无法办理。一句话,反需要审查档案的,你都过不去。这有利于规范用人单位的人事管理,有利于办理对象的职业发展, 同时也是确认办理对象的干部身份的必要手续。凡本科及以上(大专也算)学生毕业见习1年后需进行转正定级而成为干部。档案里面会装上转正定级表和干部登记 表。比如你今年2010年6月份毕业,到明年2011年6月.这个期间属于见习期,见习期满需要做转正定级.只有做完转正定级以后档案才可以在人才市场上 流动!否则以后你不管到哪个人才市场,理论上是不接收你的档案的!因为你的档案里缺少转正定级表!转正定级的期限是一年!所以在你毕业的时候就要赶紧找接 收单位,一年以后叫单位给你做定级!并且这一年期间档案不可以提!否则就得改派了!你的见习期又得一年! )——

2011-4-27号-无聊的技术贴-多级路由器设置局域网

下午看看多级路由器如何设置局域网互访,果然有办法,原来接二级路由器WLAN口的网线接到其LAN口上,然后在该路由器设置页面把LAN口的IP修改成上一级路由器网段内的任意一个静态IP,这样二级路由器下面连接的机器就和一级路由器下面机器在同一个网段和局域网中,而该二级路由器实际承担交换机的功能。

启动U盘制作备忘录

2011-10-5之Ubuntu11.04启动U盘制作

漫长的十一再次来到,闲的无聊,偶然想起以前曾经想制作U盘操作系统,正好手头有个小U的11.04版本iso,正好拿来,照着网上的方法,用Ultraiso刻录到4G的scandisk上,完毕之后,把syslinux目录下的syslinux.cfg用isolinux.cfg替换掉,用#号注释掉default vesamenu.c32语句,最后一行也注释掉,搞定!
重启电脑,修改启动项,从U盘启动,oh Yes,瞬间进入系统,比liveCD速度要快的多。以后这就是自己恢复系统保命的神器了!!!特此记之。

2012-4-27之大白菜超级启动U盘制作备忘录(WinPE+XP+Ubuntu12.04)

近日帮人装系统,深感有个超级启动+恢复救援U盘的必要性,于是有下面的折腾:
Part1:
Win7下面装XP,由于本子比较新,ACHI默认是开启状态,几个老旧XP光盘都无法安装,硬盘启动也一样在关键时刻蓝屏,其实只要在BIOS里头把ACHI关掉即可安装XP,没用用GHOST系统,算是花了点时间;装完之后需要装上ACHI的驱动,这样再打开ACHI模式就可以进入XP系统;
    至于Win7和XP双启动,由于是xp完全安装覆盖win7,所以又用win7安装盘重装一遍,覆盖XP启动,用EasyBCD在win7启动项菜单里头添加xp启动项即可;
    此外,旧win7的个人文件和设置可以按照如下链接(http://support.microsoft.com/kb/971760/zh-cn)中方法覆盖到新win7系统中。
Part2:
    超级启动U盘制作其实也简单,先用大白菜超级启动U盘制作工具(www.winbaicai.com)制作个winPE的启动U盘,然后将xp的ghost文件放到U盘里,以后从U盘启动进入winPE即可选择该ghost的ISO文件安装XP系统(当然win7的ghost也同样,只要你U盘有足够空间放那个3G多的文件)。
     Ubuntu稍微麻烦一点,不过也不难,在U盘里建立ubuntu目录,下载好的Ubuntu12.04 liveCD ISO文件放到里头(为方便,重命名为ubuntu.iso),然后将其中的两个文件(initrd.lz和 vmlinuz )用ultraISO提取出来,用大白菜隐藏分区修改工具(FbinstTool)打开U盘里隐藏分区,在其根目录下建立ubuntu文件夹,把提取出来的(initrd.lz和 vmlinuz )导入到该目录下;然后导出U盘隐藏分区根目录下的menu.list文件,在menu.list 中最后加入如下三行:
title Boot from  Ubuntu 12.04 LiveCD
kernel (ud)/ubuntu/vmlinuz boot=casper iso-scan/filename=/ubuntu/ubuntu.iso locale=zh_CN.UTF-8
initrd (ud)/ubuntu/initrd.lz
保存,将menu.list导入覆盖掉U盘隐藏分区中原来的menu.list文件,用U盘启动系统,就随你选择了。

2009-6-7-Ubuntu 9.04单机双核并行环境设置及CAM3性能测试报告

看似复杂的东西都由很简单的东西组成,图形界面也是由一个个简单的文本配置文件来控制的,电
脑软件说白了都是程序代码而已,懂了原理,一切都很简单。只按照别人说的一步步设置去做,却不去
想为什么要这样做,是否有更好更简单的方法,这样永远都不会体会到linux其中真味,永远只是初级玩
家。
一、Ubuntu 9.04系统安装及环境配置(预装XP系统前提下)
1.首先在windows磁盘管理器中清理出一个空白分区(至少5G),然后把该分区删除,重启从光盘安装
Ubuntu,出现安装菜单时选择安装语言为中文,然后直接按回车,进入系统后单击桌面上的install图标,
整个过程共7步,基本上全部选默认设置,注意gparted分区时选择利用剩余的空白空间,然后自动分区
即可。系统安装过程结束后重启即可。
*********************************************************************
2.修改你的源,并升级到最新的系统:
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
sudo gedit /etc/apt/sources.list
然后加入最新的源列表(根据系统版本从网上查找),或者不修改源列表,直接用默认的源也可,用更
新管理器更新系统。
*********************************************************************
3.本地源设置(系统重装时可节省下载大量软件包的时间)
在非系统分区或移动硬盘上新建一个文件夹(重装时系统分区要格式化),并把所有 deb 软件复制过去,
建立软件包列表信息之后就可以用这个源了。
代码:
sudo mkdir /mnt/win_d/soft_debs
sudo cp /var/cache/apt/archives/partial/*.deb /mnt/win_d/soft_debs/
cd /mnt/win_d (最好在这里,不然可能用问题)
sudo dpkg-scanpackages soft_debs /dev/null | gzip > soft_debs/Packages.gz
使用时只要在sources.list中加上代码:
deb file:/mnt/win_d soft_debs/
如果加了或删除了软件包,就再:
cd /mnt/win_d
sudo dpkg-scanpackages soft_debs /dev/null | gzip > soft_debs/Packages.gz
重装 ubuntu 后,也就可用这个源,而不用漫长的下载了。
*********************************************************************
4.其他软件包安装
用得到的软件包括:压缩解压缩软件(rar,unrar,bzip2,unzip,zip),杀毒软件(avast),英汉词
典(startdict),音乐播放器(audacious);基本编译工具(make,cmake,build-essential),rpm软
件包转换工具(alien,rpm),shell(csh,tcsh),GNU编译器(cc,gcc,g++,f77,gfortran),netcdf及
相关软件(netcdf,nco)(专业软件);这些软件包都可以直接在新立得软件包管理器中搜索安装。
Grads软件可以到官网下载最新的2.0版本bin版本,解压缩后在.bashrc中添加路径即可:
export GADDIR=$HOME/tools/grads/grads-2.0.a5
export PATH=$PATH:$HOME/tools/grads/grads-2.0.a5/bin/
而NCL软件也类似处理:
export NCARG_ROOT=$HOME/tools/ncl
export PATH=$PATH:$NCARG_ROOT/bin
ncview下载源码包编译即可,添加到.bashrc中的路径(根据自己路径修改)
export PATH=$PATH:$HOME/tools/ncview/bin/
export MANPATH=$MANPATH:$HOME/tools/ncview/man/
*********************************************************************
基础知识之源代码安装的基本过程:下载软件源码包,解压缩,进入解压缩后软件包目录,
sudo ./configure
sudo make
sudo make install
修改主目录下.bashrc文件中环境变量
**********************************************************************************************
5. Intel编译器(icc,ifort)与PGI编译器家族
PGI编译器直接照着安装说明书(readme或install文件)步骤安装到/opt/pgi/目录,并把网上生成的
license存入license.dat文件中放在/opt/pgi/目录下(license生成需要先到PGI官网注册,然后按照/opt/
pgi/目录下license.info文件中说明把hostid输入方可生成),该license只能免费用15天。
最后在.bashrc文件中修改环境变量:
export PGI=/opt/pgi
export MANPATH=$MANPATH:$PGI/linux86/8.0/man
export LM_LICENSE_FILE=$PGI/license.dat
export PATH=$PGI/linux86/8.0/bin:$PATH
******************************************************
但intel编译器在ubuntu 9.04中无法从源代码直接编译,需要先把源码包中的rpm包转为deb格式,然
后安装(以intel_fortran_compiler为例):
cd l_fc_p_10.1.023/data /*说明:进入解压缩后源码包的data目录下*/
sudo alien -cv intel-ifort101008-10.1.023-1.i386.rpm /*说明:将rpm包转为deb包*/
sudo dpkg -i intel-ifort101008_10.1.023-2_i386.deb /*说明:安装deb包到/opt/intel/目录下*/
sudo mkdir -p /opt/intel/licenses /*说明:创建licenses文件夹*/
sudo cp /your/license/path/NCOM_L_CMP_FOR_NDXX-WMM6JDJF.lic /opt/intel/licenses
之后在vim 下输入命令:
%s/<INSTALLDIR>/\/opt\/intel\/fc\/10.1.023
或者:
cd /opt/intel/fc/10.1.023/bin
sudo perl -pi -w -e 's/!\/bin\/sh/!\/bin\/bash/g;' *
sudo perl -pi -w -e 's/<INSTALLDIR>/\/opt\/intel\/fc\/10.1.023/g;' *
./iccvars.sh
目的在于把相关文件中所有的/bin/sh替换为/bin/bash;把<INSTALLDIR>替换为/opt\/intel\/fc\/10.1.023/
最后在.bashrc 中添加如下一行:
source /opt/intel/fc/10.0.023/bin/ifortvars.sh
对于icc则为source /opt/intel/cc/10.1.008/bin/iccvars.sh
卸载intel编译器方法:
sudo apt-get remove intel-ifort101008
**********************************************************************************************
6.运行GENIE模式
将genie.v7及subgenie.v7复制到/home/wangyue/下,编辑genie.v7/genie-cgoldstein/下的
makefile文件,编译器用ifort:
FC = ifort
参数项加-fpp进去,以调用预处理器:
FLAGS = -static-libcxa -r8 -fpconstant -O3 -ipo -fpe3 -fpp -tpp7 -xW #NOTE: IA-32 (optimized)
保存,然后用户根目录下用如下命令编译之:
cd genie.v7/genie-cgoldstein/
make c_goldstein
make cb_goldstein
make cbs_goldstein
OK后,用户根目录下如下命令运行:
subgenie.v7 cbs_goldstein wor000s
*********************************************************************
7.NCAR diagnostic(diag)软件包使用说明:
该软件包要求已安装 netcdf、 nco、ncl;解压缩该软件包至任意目录,复制/code/diag040819.csh 到任意目
录,修改之,首先:
第 442 行:修改 diag 软件包目录:setenv DIAG_HOME yourpath
第 82 行:修改工作目录(所有输出文件的目录):setenv WKDIR /media/cam2/
第 97 行:修改 test_path: set test_path = /media/cam/cam3_output/b30.104w/
第 104 行:修改 test 目录下输入文件名前缀:set conv_test = "b30.104w.cam2.h0."
第 114 行:修改 test case run 的开始时间:set test_begin = 410
第 115 行:修改 test case run 的运行时间:set test_nyrs = 30
第 121 行:修改 test case 的标识符: set test_prefix = b30.104w
第 134 行:修改 control case 的类型为自定义:set CNTL = USER
同样类似地修改第 151 行,158 行,168 行,169 行,175 行的 control case 情况;
第 218 行:set custom_names = 0 使用第 221 和 222 行的标签
第 221 行:set test_name = b30.104w
第 222 行:set cntl_name = climap
第 230 行:保存输出的 netcdf 文件:set save_ncdfs = 0
第 275 行:设置是否进行显著性检验:set significance = 0
第 278 行:设置显著性检验的置信区间:set sig_lvl = 0.05
第 285-288;295-298 均设置为 0,计算两个 case 的年平均、DJF、JJA、逐月平均值;然后保存到工作目录;
第 304-307 行设置为 1,不进行画图操作;
第 313 行设置为 0,13 个 set 全部计算。
修改完毕,保存执行,这次执行只计算均值,不画图,计算得到两个 case 的均值 netcdf 文件保存在工作目录
下(每个 case 建立单独文件夹),完毕之后,修改如下:
第 97 行:修改 test_path: set test_path = /media/cam2/b30.104w/
第 151 行:修改 control case path:set cntl_path = /media/cam2/climap/
第 285-288;295-298 均设置为 1,不再计算均值;
第 304-307 行设置为 0,进行差异显著检验,并进行画图操作;
修改完毕后,执行,读取工作目录下的均值文件,进行两个 case 差值的显著性检验,并画图,最后把画图结果
打包为一个*.tar 文件放于工作目录下。
***********************************************************
由于 diag 软件包所计算的变量有限,还需要另外计算其他变量则需要首先从原始结果中提取各个变量
逐月的数据 monthly.csh,然后用 ncl 脚本计算均值,ttest 等,输出为各个变量文件,最后用 grads 画
图。
8. 安装MPICH2与PBS资源调度软件
***************************
SSH环境配置:
(1)配置ssh环境
首先修改/etc/hosts文件,在127.0.0.1 localhost行下面加入:
192.*.*.* 结点名
/*说明:左边一串数字是你机子的本地ip,右边是你取的hostname,有几个核加就几行,IP一样,
不同结点名代表不同的核,这样四个核相当与四个节点,节点之间可以用hostname互访,可以通过ping
hostname 或ssh hostname测试设置是否成功*/
(2)实现无密码远程访问
打开一个终端
ssh-keygen -d
回车
回车
在~/.ssh下生成id_dsa (存放私人密匙)和id_dsa_pub(存放公用密匙)
cp id_dsa_pub authorized_keys
ssh hostname(无需输入密码)
(3)MPI可以从新立得软件包管理器中选择安装openMPI,也可以自己下载源代码包安装MPI的最新
版MPICH2,我选的是后者(默认支持SSH),按照基本流程编译安装即可。
(4)放权
sudo gedit /etc/hosts.equiv
加入前面设定的结点名
(5)检验 mpich
进入mpich安装目录的examples
make cpi
启动mpd(后台运行): mpd &
mpirun -np 4 cpi
可以检查mpich安装和设置是否成功
**************************************************************************
PBS是功能最为齐全,历史最悠久,支持最广泛的本地集群调度器之一。 PBS的目前包括
openPBS,PBS Pro和Torque三个主要分支。 其中OpenPBS是最早的PBS系统,目前已经没有太多
后续开发,PBS pro是PBS的商业版本,功能最为丰富。Torque是Clustering公司接过了
OpenPBS,并给与后续支持的一个开源版本。Ubuntu 9.04中torque也可从新立得软件包管理器中选
择安装。
对于单机多核环境,多个CPU共享同一个内存,与单个SMP结点服务器类似,内存共享的线程并
行机制(OpenMP)更有优势,相对而言,MPI属于消息传输并行机制,主要用在分布式内存的cluser
(集群)系统上。因此MPI 和PBS其实在单机上没什么用处。
事实上,尽管MPI测试显示设置正常,当采用CAM3进行MPI并行测试时,不管进程数取多少,一
直都只有一个CPU资源占用是100%,可能哪里还是没设置对。因此后面CAM3的并行测试主要针对
openMP进行。目前大部分编译器都支持 OpenMP,因此不需要单独安装,只需程序按照openMP标准
编写,编译时加如下编译选项即可开启openMP(具体线程数由环境变量控制):
Intel compiler: Compile with -Qopenmp on Windows, or just -openmp on Linux or Mac OSX
gcc4.3.2: Compile with -fopenmp
Sun micro: Compile with -xopenmp
PGI: Compile with -mp
********************************************************************************************
9. CAM3的openMP并行性能测试
NCAR的CAM3的开发测试都在IBM AIX系统上进行,然后才移植到其他系统平台上,在linux平台上也支持PGI编译器,本机环境为Intel Core(TM) Duo P7450双核,2.13GHZ主频,内存,32位Ubuntu 9.04系统,测试脚本如下:
*******************************************************************************************************
#! /bin/tcsh -f
#=======================================================================
unsetenv MP_PROCS
# must be set equal to (CPUs-per-node / tasks_per_node)
# set openMP thread number(1 or 2 or 4 or 8.....)
setenv OMP_NUM_THREADS 2
# # suggestion from Jim Edwards to reintroduce XLSMPOPTS on 11/13/03
setenv XLSMPOPTS "stack=256000000"
setenv AIXTHREAD_SCOPE S
setenv MALLOCMULTIHEAP true
setenv OMP_DYNAMIC false
## Do our best to get sufficient stack memory
limit stacksize unlimited
## netCDF stuff for Q32
# the version of netcdf is important, 3.6.2 and 3.5.1 are all ok but 4.0 will error
setenv INC_NETCDF /home/wy/cam3_0/netcdf3.6.2/include
setenv LIB_NETCDF /home/wy/cam3_0/netcdf3.6.2/lib
setenv MOD_NETCDF /home/wy/cam3_0/netcdf3.6.2/include
# # netCDF stuff for Q64
#setenv INC_NETCDF /dgpfs/fs1/zhaoping/tongji/netcdf_64/include
#setenv LIB_NETCDF /dgpfs/fs1/zhaoping/tongji/netcdf_64/lib
# # MPI stuff
#setenv INC_MPI /home/wy/tools/mpi/include
#setenv LIB_MPI /home/wy/tools/mpi/lib
#setenv mpirun /home/wy/tools/mpi/bin/mpirun
## ROOT OF CAM DISTRIBUTION - probably needs to be customized.
## Contains the source code for the CAM distribution.
## (the root directory contains the subdirectory "models")
set camroot = /home/wy/cam3_0
## ROOT OF CAM DATA DISTRIBUTION - needs to be customized unless running at NCAR.
## Contains the initial and boundary data for the CAM distribution.
## (the root directory contains the subdirectories "atm" and "lnd")
setenv CSMDATA /home/wy/cam3_0/inputdata
## Default namelist settings:
## $case is the case identifier for this run. It will be placed in the namelist.
## $runtype is the run type: initial, restart, or branch.
## $nelapse is the number of timesteps to integrate, or number of days if negative.
set case = camrun
set runtype = initial
set nelapse = -1
## $wrkdir is a working directory where the model will be built and run.
## $blddir is the directory where model will be compiled.
## $rundir is the directory where the model will be run.
## $cfgdir is the directory containing the CAM configuration scripts.
set wrkdir = /home/wy/cam3_0/run/
set blddir = $wrkdir/$case/bld
set rundir = $wrkdir/$case
set cfgdir = $camroot/models/atm/cam/bld
## Ensure that run and build directories exist
mkdir -p $rundir || echo "cannot create $rundir" && exit 1
mkdir -p $blddir || echo "cannot create $blddir" && exit 1
## If an executable doesn't exist, build one.
if ( ! -x $blddir/cam ) then
cd $blddir || echo "cd $blddir failed" && exit 1
$cfgdir/configure -smp || echo "configure failed" && exit 1
echo "building CAM in $blddir ..."
rm -f Depends
# make -j32 >&! MAKE.out || echo "CAM build failed: see $blddir/MAKE.out" && exit 1
make >&! MAKE.out || echo "CAM build failed: see $blddir/MAKE.out" && exit 1
endif
echo "build finished"
## Create the namelist
cd $blddir || echo "cd $blddir failed" && exit 1
cp /home/wy/cam3_0/namelist_in $blddir/
$cfgdir/build-namelist -case $case -runtype initial \
-namelist "&camexp nelapse=$nelapse, fincl1='CLDHGH','CLDLOW','CLDMED','CLDTOT', \
'CLOUD','CONCLD','CMFDQ','CMFDQR','CMFDT','DCQ','DTCOND','DTH','DTV','ETADOT',\
'FLN200','FLN200C','FLNS','FLNSC','FLNSOI','FLNT','FLNTC','FLUT','FLUTC','FSDS',\
'FSDSC','FSN200','FSN200C','FSNS','FSNSC','FSNSOI','FSNT','FSNTC','FSNTOA','FSNTOAC',\
'FU','FV','LANDFRAC','LHFLX','LHFLXOI','LPSTEN','NSTEP','OCNFRAC','OMEGA','OMEGA500',\
'OMEGA850','OMEGAT','OMEGAU','PBOT','PDELDRY','PHIS','PRECC','PRECCFRQ','PRECCINT',\
'PRECCav','PRECL','PRECLFRQ','PRECLINT','PRECLav','PRECSC','PRECSH','PRECSL','PRECT',\
'PRECTMX','PS','PSDRY','PSL','Q','Q200','Q850','QC','QFLX','QRL','QRS','RELHUM','SFCLDICE',\
'SFCLDLIQ','SFQ','SGH','SHFLX','SHFLXOI','SNOWHICE','SNOWHLND','SOLIN','SRFRAD','SST','T',\
'T300','T850','TAUGWX','TAUGWY','TAUTMSX','TAUTMSY','TAUX','TAUY','TBOT','TMQ','TREFHT',\
'TS','TSMN','TSMX','TTEND','U','U200','U850','UBOT','US','USTAR','UTEND','UU','V','V200',\
'V850','VBOT','VD01','VQ','VT','VU','VV','WSPEED','Z050','Z3','Z300','Z500','Z700','ZBOT' \
mss_irt=0 /" -infile $blddir/namelist_in -o $rundir/namelist\
|| echo "build-namelist failed" && exit 1
echo "build-namelist finished"
## Run CAM
cd $rundir || echo "cd $rundir failed" && exit 1
echo "running CAM in $rundir"
#mpirun -np 8 $blddir/cam < namelist >out.txt || echo "CAM run failed" && exit 1
$blddir/cam < namelist || echo "CAM run failed" && exit 1
exit 0
*************************************************************************
该脚本通过修改 OMP_NUM_THREADS线程个数进行测试,而MPI测试则通过mpirun -np 参数设置
结点个数,似乎结点个数对测试结果没什么影响(线程数一直为1),可能并未并行起来,即MPI并行
无法识别单机或单结点上共享内存的多个核,而只能识别分布内存的多个CPU:
MPI进程数=1时,总时间=381.435s
MPI进程数=2时,总时间=376.216s
MPI进程数=4时,总时间=380.493s
而openMP线程个数为2时(每个核一个线程)效率最高,CAM3模拟一天需要时间如下所示:
线程数=1时: 总时间=363.856s
线程数=2时: 总时间=209.085s
线程数=4时: 总时间=224.619s
线程数=8时: 总时间=291.311s