uw-cmg / MAST

MAterials Simulation Toolkit for use with pymatgen
17 stars 8 forks source link

Wei's comments on MAST install docs #401

Closed cmgtam closed 10 years ago

cmgtam commented 10 years ago
  1. remove ACI/HPC/Bardeen specific information from the public MAST manual? outside users may find these information irrelevant and they also make the instruction longer.
  2. verify your python version: specifically state which version of python works for mast in the beginning. the sentence “If your version of python is not 2.7.3, try to locate an existing version of python 2.7.3” gives one the feeling that only 2.7.3 works. (My guess is that any 2.7.* version would works)

3 verify setup tools (easy_install) and pip. See suggestion 5 below

  1. verify or install numpy and scipy it is actually quite difficult to install a working numpy for a existing python . I suggest we make a note in step 2 “verify your python version” that we strongly suggest using a python distribution like EPD/Canopy and ActivePython even your system already has a python installed whose version is correct. Python is now included as part of the operating system for most unix and unix-like distributions (e.g., Fedora, OpenSUSE, RedHat, and Ubuntu), but installing numpy for the as-delivered python in them is non-trivial.
  2. verify or install pymatgen and custodian I suggest downloading pymatgen and custodian source code package from PyPI, untar them and install by calling “python setup.py install” in the downloaded source folder because: 1) I found installing using pip or easy_install usually give outdated version; 2) installing from source can avoid any issue with pip and/or setup tools (so step 3 verify setup tools ( easy_install) and pip can be neglected); 3) if we install pymatgen in this way, it is not necessary to install the “distribute” package, which is now deprecated and will often corrupt the system’s setup tools (easy_install).

Note: pymatgen needs PyCifRW, pyhull, and PyYAML. The three packages needs to be installed first before installing pymatgen. I also suggest we install them by first downloading the source tar ball from PyPI and installed from source in the same way described above for pymatgen (i.e., calling “python setup.py install” in the downloaded source folder).

  1. set up the pymatgen VASP_PSP_DIR: 6.1 first find potcar_setup.py. usually if pymatgen has been properly installed, you can find potcar_setup.py by simply calling: which porcar_setup.py. However, in the rare case that porcar_setup.py is not in your path, you can find it under the installation path of pymatgen. Here’s how to find where pymatgen was installed: 1) find the paths for your site packages:

    import site; site.getsitepackages() 2)check each of the site package path given above until finding the one containing a folder named pymatgen_.egg (e.g., pymatgen-2.10.2-py2.7-linux-x86_64.egg). 3). potcarsetup.py is in pymatgen.egg/EGG-INFO/scripts/

6.2 run potcar_setup.py. the “POT_GGA_PAW_PBE” directory address you give to potcar_setup.py is the directory that contains a few subdirectories, for example: potpaw_GGA potpaw_LDA.52 potpaw_PBE.52 potUSPP_LDA potpaw_LDA potpaw_PBE potUSPP_GGA. These subdirectory again contain many sub-subdirectory with element names like Ac, Ac_s, …, Zr_sv.

6.3 I found the following two sentences confusing: • Rename the PBE folder POT_GGA_PAW_PBE to correspond to mast_xc pbe • Rename the GGA folder POT_GGA_PAW_PW91 to correspond to mast_xc pw91 Now I got their meaning. I originally thought I need to rename “POT_GGA_PAW_PBE” to “mast_xc pbe”. So maybe we can add quotation marks and or change the font for “the PBE folder” and “POT_GGA_PAW_PBE”.

  1. install ASE. may just point to ase website and ask users to follow their installation instruction. also ask users to check if ase is installed and can be called by python:>>> import ase

Again, like pymatgen, I suggest user download ase source tar ball and install ase by calling “python setup.py install” in the downloaded ace source directory.

  1. Get mast 5.0 I suggest we change “Get MAST” to “Install MAST”

5.1 The same ATTENTION messages are given twice. need to remove one of them.

**************\* ATTENTION *********************
Add the following lines to your //home/user/.bashrc file
or a similar configuration file.
Then, log out and log back in.
See the MAST manual for more information.
===============================================
export MAST_RECIPE_PATH=/home/zsong39/MAST/recipe_templates
export MAST_SCRATCH=/home/zsong39/MAST/SCRATCH
export MAST_ARCHIVE=/home/zsong39/MAST/ARCHIVE
export MAST_CONTROL=/home/zsong39/MAST/CONTROL
export MAST_PLATFORM=<choose one of: aci|bardeen|dlx|korczak|no_queue_system|pbs_generic|sge_generic|slurm_generic|stampede|turnbull>
===============================================

5.2 some syntax errors in the mast source codes are reported. I don’t know if newer version has corrected them. These are for version 1.1.4. File "/home/zsong39/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/MAST/structopt/predator/mutation_dups_adapt_stem.py", line 53 STR+='Readjusting STEM Coeff = {0}'.format(Optimizer.stem_coeff)) ^ SyntaxError: invalid syntax

Sorry: IndentationError: unexpected indent (fss_bcc.py, line 83)

SyntaxError: duplicate argument 'atomlist' in function definition (read_Ltraj_file.py, line 5)
  1. modify submission details for your platform 6.1 note if we add a new platform folder (let’s call it “NEWPLATFORM”) under $MAST_ROOT/submit/platforms (note $MAST_ROOT is where MAST source is installed, usually it is in a python site package directory), we need to make sure in the NEWPLATFORM folder, there is a copy of “queue_commands.py¶” file. More on “queue_commands.py” in 6.3.

6.2 this sentence was confusing to me “Copy the new mastmon_submit.sh as $MAST_CONTROL/mastmon_submit.sh”. I now figured out it means copying “mastmon_submit.sh” file from $MAST_CONTROL/platforms/NEWPLATFORM into $MAST_CONTROL

6.3 “queue_commands.py” file in $MAST_ROOT/submit/platforms/NEWPLATFORM is different from the one in $MAST_ROOT/submit

Here’s my suggestion on how to create queue_commands.py for your platform:

First, queue_commands.py depends mainly on your batch system. We already provide working queue_commands.py for three batch systems: 1) Torque (under Bardeen), SGE (under Turnbull), and Slurm (under ACI/Stampede). If your cluster also uses one of the three systems, simply copy the queue_commands.py file from the corresponding folder under $MAST_ROOT/submit/platforms/.

Second, modify the corresponding python functions in $MAST_ROOT/submit/platforms/queue_commands.py so that it can parse job id (the extract_submitted_jobid function), a summary of your current submitted jobs, which we call “queue snapshot” (the queue_snap_command function), and decide the status of a specific job that you have submitted (the queue_status_from_text).

cmgtam commented 10 years ago

I'm going to split this issue up into several different issues.