## Workstation in CUHK # AC: [USERNAME]; PW: [PASSWORD] $ ssh [USERNAME]@137.189.40.204 $ [PASSWORD] ldappasswd -x -S xu4y34jxu3 -W -D 'cn=ling-wei.luo,cn=lvk,dc=cuhk-gw,dc=org' ## One has to install the following packages. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% libframe metato xml2 fftw3 gsl hdf5 (zlib, sztp) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ## Add new command into .bashrc file $ vim .bashrc =============================================================== #-------------------- New command --------------------# LOCAL_SRC=${HOME}/src # Location to store source codes locally. Change if necessary. LOCAL_PREFIX=${HOME} # Location to install libraries locally. Change if necessary. export LD_LIBRARY_PATH="${LOCAL_PREFIX}/lib:${LD_LIBRARY_PATH}" export C_INCLUDE_PATH="${LOCAL_PREFIX}/include:${C_INCLUDE_PATH}" export CPLUS_INCLUDE_PATH="${LOCAL_PREFIX}/include:${CPLUS_INCLUDE_PATH}" export LIBRARY_PATH="${LOCAL_PREFIX}/lib:${LIBRARY_PATH}" export PKG_CONFIG_PATH="${LOCAL_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}" export PATH="${LOCAL_PREFIX}/bin:${PATH}" =============================================================== # Reload the .bashrc file. $ source .bashrc $ mkdir $LOCAL_SRC $ ll $ cd src $ src ---------- ## Install fftw3 $ mkdir fftw3 $ cd fftw3 $ wget http://www.fftw.org/fftw-3.3.8.tar.gz $ tar -xzvf fftw-3.3.8.tar.gz $ rm -r fftw-3.3.8.tar.gz $ cd fftw-3.3.8/ $ ./configure --prefix=${LOCAL_PREFIX} --enable-shared --enable-static --enable-threads $ make $ make install $ make clean $ ./configure --prefix=${LOCAL_PREFIX} --enable-float --enable-shared --enable-static --enable-threads $ make $ make install $ make clean ---------- ## Install gsl $ cd $LOCAL_SRC $ mkdir gsl $ cd gsl $ wget http://ftp.yzu.edu.tw/gnu/gsl/gsl-2.5.tar.gz $ tar -xzvf gsl-2.5.tar.gz $ rm -r gsl-2.5.tar.gz $ cd gsl-2.5 $ ./configure --prefix=${LOCAL_PREFIX} $ make $ make install $ make clean ---------- ## Install zlib $ cd $LOCAL_SRC $ mkdir zlib $ cd zlib $ wget https://zlib.net/zlib-1.2.11.tar.gz $ tar -xzvf zlib-1.2.11.tar.gz $ rm -r zlib-1.2.11.tar.gz $ cd zlib-1.2.11 $ ./configure --prefix=${LOCAL_PREFIX} $ make $ make install $ make clean ---------- ## Install szip $ cd ${LOCAL_SRC} $ mkdir szip $ cd szip $ wget https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz $ tar -xzvf szip-2.1.1.tar.gz $ rm -r szip-2.1.1.tar.gz $ cd szip-2.1.1 $ ./configure --prefix=${LOCAL_PREFIX} $ make $ make install $ make clean ---------- ## Install hdf5 $ cd $LOCAL_SRC $ mkdir hdf5 $ cd hdf5 $ wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.4/src/hdf5-1.10.4.tar.gz $ tar -xzvf hdf5-1.10.4.tar.gz $ rm -r hdf5-1.10.4.tar.gz $ cd hdf5-1.10.4 # 1) If zlib is ignore to install. $ ./configure --prefix=${LOCAL_PREFIX} --enable-shared --enable-static --enable-hl # 2) If zlib is installed. $ ./configure --prefix=${LOCAL_PREFIX} --with-zlib=${LOCAL_PREFIX} --with-szlib=${LOCAL_PREFIX} --enable-shared --enable-static --enable-hl $ make $ make install $ make clean ---------- ## Install libframe # Because one needs the autoconf package without root, remember to login LIGO-VM first $ ssh LIGO-VM $ [PASSWORD] $ cd $LOCAL_SRC $ mkdir libframe $ cd libframe $ wget http://lappweb.in2p3.fr/virgo/FrameL/libframe-8.33.tar.gz $ tar -xzvf libframe-8.33.tar.gz $ ls $ rm -r libframe-8.33.tar.gz $ cd v8r33 # Go to the diretory again $ cd src/libframe/v8r33/ $ autoreconf $ ./configure --prefix=${LOCAL_PREFIX} $ make $ make install $ make clean ---------- ## Install metaio $ cd ${LOCAL_SRC} $ git clone https://git.ligo.org/lscsoft/metaio.git $ cd metaio $ git checkout branch-8.4.x $ ./00boot $ ./configure --prefix=${LOCAL_PREFIX} --without-matlab $ make $ make install $ make clean ---------- ## Create a directory for the python packages because of no permission $ mkdir -p $LOCAL_PREFIX/lib/python2.7/site-packages ---------- ## Install xml2 ---> It is necessary if one need to use pycbc. $ cd $LOCAL_SRC $ mkdir xml2 $ cd xml2 $ wget ftp://xmlsoft.org/libxml2/libxml2-2.9.9-rc2.tar.gz $ tar -xzvf libxml2-2.9.9-rc2.tar.gz $ rm -r libxml2-2.9.9-rc2.tar.gz $ cd libxml2-2.9.9 $ ./configure --prefix=${LOCAL_PREFIX} $ make $ make install $ make clean ---------- ## Install lalsuite $ cd $LOCAL_SRC $ git clone https://github.com/lscsoft/lalsuite.git $ cd lalsuite $ git checkout lalinference_o2 $ git checkout $ ./00boot $ ./configure --prefix=${LOCAL_PREFIX} $ make $ make install $ make clean ---------- ## Check generated files lalapps-user-env.csh lalmetaio-user-env.sh lalapps-user-env.sh lalpulsar-user-env.csh lalburst-user-env.csh lalpulsar-user-env.sh lalburst-user-env.sh lalsimulation-user-env.csh laldetchar-user-env.csh lalsimulation-user-env.sh laldetchar-user-env.sh lalstochastic-user-env.csh lalframe-user-env.csh lalstochastic-user-env.sh lalframe-user-env.sh lalsuiterc lalinference-user-env.csh lal-user-env.csh lalinference-user-env.sh lal-user-env.sh lalinspiral-user-env.csh lalxml-user-env.csh lalinspiral-user-env.sh lalxml-user-env.sh lalmetaio-user-env.csh # ``lalsuiterc'' is the top-level LALSuite runtime. ---------- ## Options of bash file ## Option 1 ## Follow the instruciton, add the following lines to ~/.profile for Bourne shells (e.g. bash): $ vim ~/.profile =============================================================== . ${LOCAL_PREFIX}/etc/lalsuiterc =============================================================== $ source ~/.profile ## Option 2 ## , or to ~/.login for C shells (e.g. tcsh): $ vim ~/.login =============================================================== source ${LOCAL_PREFIX}/etc/lalsuiterc =============================================================== $ source ~/.login ## Option 3 $ vim ~/.bashrc ## Add the following line to .bashrc =============================================================== source ${LOCAL_PREFIX}/etc/lalsuiterc =============================================================== $ source ~/.bashrc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ## source lalsuite $ cd /home/ling-wei.luo/etc $ . lalsimulation-user-env.sh $ . lalinference-user-env.sh $ . lalinspiral-user-env.sh $ mkdir /home/ling-wei.luo/2019_NTHU_visit/example1 $ cd /home/ling-wei.luo/2019_NTHU_visit/example1 ## Simulation # Be aware that the first blank is `tab' rather than `space'. $ vim makefile =============================================================== all: IMRPhenomPv2.hdf5 IMR_injection.xml: lalapps_inspinj --output IMR_injection.xml --seed 0 --f-lower 40 --gps-start-time 966384015 --gps-end-time 966470415 --t-distr uniform --time-step 3600 --time-interval 20 --i-distr uniform --l-distr random --d-distr uniform --min-distance 200000 --max-distance 200000 --m-distr fixMasses --fixed-mass1 15.0 --fixed-mass2 15.0 --disable-spin --amp-order -1 --waveform IMRPhenomPv2threePointFivePN --taper-injection start IMRPhenomPv2.hdf5:IMR_injection.xml lalinference_nest --progress --L1-timeslide 0 --L1-flow 40 --approx IMRPhenomPv2threePointfivePN --nlive 16 --srate 8192 --seglen 4 --L1-channel L1:DCS-CALIB_STRAIN_C02 --H1-channel H1:DCS-CALIB_STRAIN_C02 --fix-distance 200 --trigtime 966387623 --dt 0.1 --maxmcmc 16 --deltalogl 5 --L1-cache LALSimAdLIGO --ifo L1 --H1-cache LALSimAdLIGO --ifo H1 --randomseed 108107666 --amporder 0 --psdstart 966384026 --psdlength 128 --outfile IMRPhenomPv2.hdf5 --disable-spin --dataseed 8000 --inj $^ --event 1 --pinparams [mass1,mass2,time,distance,declination,rightascension,polarisation,phase,costheta_jn] =============================================================== # injection -> simulation # lalapps_inspinj -> to load an injection table # " "lalapps_inspinj -> TAB+lalapps_inspinj # --amp-order -1 -> post-Newtonian (PN) approx. for all stage of the injection # -1 -> the most accurate choice # 1 PN order -> 1/2 = 0.5th PN order # ... # 8 PN order -> 8/2 = 4th PN order (However we do not have 4th PN order now!) # detail can be found in the file /lalsuite/lalsimulation/src/LALSimInspiralTaylorEt.c # ## For test GR $ mkdir /home/ling-wei.luo/2019_NTHU_visit/testgr $ cd /home/ling-wei.luo/2019_NTHU_visit/testgr $ vim makefile =============================================================== all: IMRPhenomPv2.hdf5 IMR_injection.xml: lalapps_inspinj --output IMR_injection.xml --seed 0 --f-lower 40 --gps-start-time 966384015 --gps-end-time 966470415 --t-distr uniform --time-step 3600 --time-interval 20 --i-distr uniform --l-distr random --d-distr uniform --min-distance 200000 --max-distance 200000 --m-distr fixMasses --fixed-mass1 15.0 --fixed-mass2 15.0 --disable-spin --amp-order -1 --waveform IMRPhenomPv2threePointFivePN --taper-injection start IMRPhenomPv2.hdf5:IMR_injection.xml lalinference_nest --progress --L1-timeslide 0 --L1-flow 40 --approx IMRPhenomPv2threePointfivePN --nlive 16 --srate 8192 --seglen 4 --L1-channel L1:DCS-CALIB_STRAIN_C02 --H1-channel H1:DCS-CALIB_STRAIN_C02 --fix-distance 200 --trigtime 966387623 --dt 0.1 --maxmcmc 16 --deltalogl 5 --L1-cache LALSimAdLIGO --ifo L1 --H1-cache LALSimAdLIGO --ifo H1 --randomseed 108107666 --amporder 0 --psdstart 966384026 --psdlength 128 --outfile IMRPhenomPv2.hdf5 --disable-spin --dataseed 8000 --inj $^ --event 1 --pinparams [mass1,mass2,time,distance,declination,rightascension,polarisation,phase,costheta_jn] --grtest-parameters dchi2 =============================================================== # details of dchi2 can be found in the file /lalsuite/lalinference/src/LALInferenceInitCBC.c # Remember to put --Resume when you work on the cluster!!! # Zratio -> log(Zratio) -> it should not be too low!