Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. lang/Perl/5.28.1-GCCcore-6.3.0
  2. data/netCDF-Fortran/4.4.5-intel-2018.5.274
  3. data/netCDF/4.6.2-intel-2018.5.274
  4. toolchain/intel/2018.5.274
  5. devel/CMake/3.12.1-intel-2018.5.274
  6. data/XML-LibXML/2.0206-GCCcore-6.3.0

Prerequisite steps


Info
titleAlternate setup for XML-LibXML

Install Required Perl Module 

These steps will create a interactive session and install the XML::LibXML package into a local directory for Perl 5.28.1.  One might notice we have two extra steps where we create a directory and create a symbolic link to where perl5 will typically place libraries.  The reason for this, is due to how the home file system on Mana acts and will work around these oddities.  All that we are doing is utilize a different mount that points to your home directory, but access your home space in a slightly different manner.

Code Block
languagebash
themeMidnight
collapsetrue
[user@login001 ~]$ srun -p sandbox --mem=6G -c 2 -t 60 --pty /bin/bash
[user@node-0005 ~]$ module load lang/Perl/5.28.1-GCCcore-6.3.0
[user@node-0005 ~]$ mkdir .perl5
[user@node-0005 ~]$ ln -s /mnt/home/noac/${USER}/.perl5 perl5  
[user@node-0005 ~]$ cpan install  XML::LibXML

Add Personal Perl Library Paths to .bash_profile

These steps above are needed once you have installed the XML::LibXML for perl 5.  As we are depending on a local library, the above steps will make it so that perl knows where to look for your local libraries.  We add it to the .bash_profile so these variables are added to your environment on connecting to Mana.  If you did not want to have this added to your environment every time, these variables could potentially be added to the job submission script itself, prior to utilize perl.

Code Block
languagebash
themeMidnight
collapsetrue
#!/bin/bash
echo -e "\nPATH=\"${HOME}/perl5/bin/"\${PATH:+:\${PATH}}"\"" >> ~/.bash_profile
echo -e "\nPERL5LIB=\"${HOME}/perl5/lib/perl5"\${PERL5LIB:+:\${PERL5LIB}}"\"" >> ~/.bash_profile
echo -e "\nPERL_LOCAL_LIB_ROOT=\"${HOME}/perl5"\${PERL_LOCAL_LIB_ROOT:+:\${PERL_LOCAL_LIB_ROOT}}"\"" >> ~/.bash_profile
echo -e "\nPERL_MB_OPT=\"--install_base \"${HOME}/perl5\"\"" >> ~/.bash_profile
echo -e "\nPERL_MM_OPT=\"INSTALL_BASE=${HOME}/perl5\"" >> ~/.bash_profile
echo -e "\n" >> ~/.bash_profile
echo -e '\nexport ${PATH}' >> ~/.bash_profile
echo -e '\nexport ${PERL5LIB}' >> ~/.bash_profile
echo -e '\nexport ${PERL_LOCAL_LIB_ROOT}' >> ~/.bash_profile
echo -e '\nexport ${PERL_MB_OPT}' >> ~/.bash_profile
echo -e '\nexport ${PERL_MM_OPT}' >> ~/.bash_profile


Setup a joined directory of a specific version of NetCDF

Older models, such as CESM 1.x, require that all parts of NetCDF be in a single directory.  Unfortunately, the modules on the cluster do not provide this, so we need to create our own joined directory on the version of NetCDF we want to use.  The script below will; create a  directory called netcdf4 in your home directory that will then be populated with symlinks to the NetCDF libraries.

...