technical:recipes:telemac

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
technical:recipes:telemac [2021-01-28 19:52] – [Build] anitatechnical:recipes:telemac [2021-04-11 10:29] (current) – [Compilation] anita
Line 1: Line 1:
 ====== Building and using TELEMAC-MASCARET with VALET integration ====== ====== Building and using TELEMAC-MASCARET with VALET integration ======
  
-"TELEMAC-MASCARET is an integrated suite of solvers for use in the field of free-surface flow. Having been used in the context of many studies throughout the world, it has become one of the major standards in its field."+<WRAP center round info box 100%> 
 +TELEMAC-MASCARET is an integrated suite of solvers for use in the field of free-surface flow. Having been used in the context of many studies throughout the world, it has become one of the major standards in its field. 
 +</WRAP>
  
 The text above appears at the top of the [[http://www.opentelemac.org|TELEMAC-MASCARET]] web site.  In all that time this product was becoming //one of the major standards in its field// they don't seem to have made it that easy to setup, build, or actually use.  The official installation documentation has some distinctly problematic errors in it with respect to deployment on HPC systems. The text above appears at the top of the [[http://www.opentelemac.org|TELEMAC-MASCARET]] web site.  In all that time this product was becoming //one of the major standards in its field// they don't seem to have made it that easy to setup, build, or actually use.  The official installation documentation has some distinctly problematic errors in it with respect to deployment on HPC systems.
Line 9: Line 11:
 ====== Build ====== ====== Build ======
  
-Before starting, make sure you are in your **[[abstract:caviness:app_dev:compute_env#using-workgroup-and-directories|workgroup]]** (e.g. ''workgroup -g <<//investing-entity//'') as these instructions depend on environment variables set when you use this command. Various versions of TELEMAC will coexist under a single parent directory.  Using the recommended approach to software management on our HPC systems, a ''telemac'' directory will be created in the standard workgroup software directory:+<WRAP center round important 80%> 
 +Before starting, make sure you are in your **[[abstract:caviness:app_dev:compute_env#using-workgroup-and-directories|workgroup]]** (e.g. ''workgroup -g <<//investing-entity//>>'') as these instructions depend on environment variables set when you use this command. 
 + 
 +Please note that the procedures herein will work perfectly well if **not** installing in your workgroup's storage.  The ''$WORKDIR'' base directory could just as easily be ''$HOME'' to install in the user's home directory. 
 +</WRAP> 
 + 
 + 
 +Various versions of TELEMAC will coexist under a single parent directory.  Using the recommended approach to software management on our HPC systems, a ''telemac'' directory will be created in the standard workgroup software directory:
  
 <code base> <code base>
Line 219: Line 228:
  
 The following command creates a new package definition file for this version of TELEMAC; if the ''telemac.vpkg_yaml'' file already exists and a new version is being added, edit the file to add the new version blocks rather than using the following command (it will overwrite the file). The following command creates a new package definition file for this version of TELEMAC; if the ''telemac.vpkg_yaml'' file already exists and a new version is being added, edit the file to add the new version blocks rather than using the following command (it will overwrite the file).
 +
 +<WRAP center round important 80%>
 +If the installation is not meant to be available to all workgroup users (e.g. installed to ''$HOME'' rather than ''$WORKDIR'') the VALET package definition should be in ''~/.valet/telemac.vpkg_yaml''.
 +</WRAP>
  
 <code bash> <code bash>
Line 312: Line 325:
 Think of the //interactive// build as a "light" copy of or an alias to the //batch// build. Think of the //interactive// build as a "light" copy of or an alias to the //batch// build.
  
-<WRAP center round important 60%>+<WRAP center round important 80%>
 Any recompilation of the TELEMAC libraries and executables should be done using the //batch// build. Any recompilation of the TELEMAC libraries and executables should be done using the //batch// build.
 </WRAP> </WRAP>
Line 336: Line 349:
     * Same MPI parameters as in step 1     * Same MPI parameters as in step 1
  
-We set up a test job directory called ''$WORKDIR/sw/telemac/example'' and our the steering file, input files, and source code in this directory.  The job will use a working directory //inside// our test job directory for all of the intermediate files during the run. Also the ''standard'' partition is specified as the queue for the batch steps (those that can run on compute nodes).  Remember jobs can be preempted when using the ''standard'' partition, so you may want to use your workgroup partition for longer running jobs.+We set up a test job directory called ''$WORKDIR/sw/telemac/example'' with our steering file, input files, and source code in this directory.  The job will use a working directory //inside// our test job directory for all of the intermediate files during the run. Also the ''standard'' partition is specified as the queue for the batch steps (those that can run on compute nodes).  Remember jobs can be preempted when using the ''standard'' partition, so you may want to use your workgroup partition for longer running jobs.
  
 ===== Partitioning ===== ===== Partitioning =====
Line 360: Line 373:
 ===== Compilation ===== ===== Compilation =====
  
-Once the problem is partitioned, the executable can be built.  This step should not be run on compute nodes since they lack a base development environment in the OS((This step could be run on a node in the **devel** partition on Caviness.  DARWIN nodes all have a full base development environment in the OS, so the jobs can be run in a single step -- see the "Single-step runs" section detailing that mode of operation.)).+Once the problem is partitioned, the executable can be built.  This step should not be run on compute nodes since they lack a base development environment in the OS((This step could be run on a node in the **devel** partition on Caviness.  DARWIN nodes all have a full base development environment in the OS, so the jobs can be run in a single step -- see the "[[technical:recipes:telemac#single-step-runs|Single-step runs]]" section detailing that mode of operation.)).
  
 <code bash> <code bash>
Line 396: Line 409:
 $ vpkg_require telemac/v8p2r0:batch $ vpkg_require telemac/v8p2r0:batch
 (/work/workgroup/sw/telemac/v8p2r0) $ runcode.py \ (/work/workgroup/sw/telemac/v8p2r0) $ runcode.py \
-    --use-link --run --workdirectory $(pwd)/test_run \+    --use-link --merge --workdirectory $(pwd)/test_run \
       --jobname telemac_test-merge \       --jobname telemac_test-merge \
       --ncsize 2 \       --ncsize 2 \
  • technical/recipes/telemac.1611881533.txt.gz
  • Last modified: 2021-01-28 19:52
  • by anita