MPH1 and MPH2: Multi-Component Multi-Executable and Multi-Component Single Execut able

MPH1: Multiple Components, Multiple Executables

This is a small utility of global handshaking among different component models. Each component will run on different number of nodes and processors. The global processor ids don't have to be continuous for each component. You could get the source code as a tar file here or access the individual files as follows:

MPH.outline: brief introduction
README: this file
mph.F: MPH_comm module

ccm.F: driver for atmosphere model
ccm1.F: stand-alone atmosphere model
pop.F: driver for ocean model
cpl.F: driver for coupler

Makefile: makefile. MPH is defined here as CPP.
components.in: input component model names

tasklist: model executable jobs list
tasklist.desp: more info on tasklist
script: loadleveler batch script

output: sample output from interactive run

Makefile.ncar: a makefile used to compile on NCAR IBM, SGI and Compaq.


   To compile and run on NERSC IBM SP:
   =================================

   1) Type "make", 3 executables will be created: ccm, pop, cpl

   2) to run interactive job:
       a) unset environment variable "MP_TASKS_PER_NODE"
       b) type in ONE LINE:
           poe -pgmmodel mpmd -cmdfile tasklist -nodes 6 -procs 9
           -stdoutmode ordered -infolevel 2 > & output &

   3) to run batch job:
       type "llsubmit script".
 

   To compile on other machines:
   =========================

   Note: Contributed by Vince Wayland of NCAR

    "Makefile.ncar" is a Makefile that detects the machine architecture
   and compiles appropriately for NCAR IBM, SGI and Compaq.

   One difference from this Makefile to that for NERSC IBM is that it
   defines "CFOPTS=" instead of the $TMPDIR stuff, which is special for
   NERSC IBM since it uses GPFS file system, and needs work around
   for F90 modules.

   You may need to type "make" or "gmake" to compile depends on
   your machine.

   To run on other machines:
   ======================

   Note: Contributed by Vince Wayland of NCAR

   1) to run on NCAR IBM SP: same as on NERSC IBM SP.

   2) to run on NCAR SGI interactively:
       % mpirun -p "[%g]" -np 6 pop : -np 2 ccm : -np 1 cpl > output.a

      It's pretty simple to build an NQE batch script around it;
      just hard to get it run through any of the queues here.
      The tasklist file is not needed (can't be used?) on the SGI.

   3) to run on NCAR Compaq with batch script:
       You need two shell scripts, run.dec and runscript.dec.
       (Thanks to Dan Anderson & Bill Celmaster in NCAR).
       As on the SGI O2K script, a concern is to get all of the
       processes into execution at the same time.

       run.dec:
       #! /bin/csh
       prun -n8 -t runscript.dec

       runscript.dec:
       #! /bin/csh
       #RMS_NODEID __ the node ID of the node this process is running on
       #RMS_NPROCS __ total number of prun processes spawned
       #RMS_RANK __ which prun process of the RMS_NPROCS processes

       echo "node= " $RMS_NODEID "  Process number= " $RMS_RANK " of "
       $RMS_NPROCS
       if ($RMS_RANK >= 0 && $RMS_RANK <= 4) pop & # 5 procs for pop
       if ($RMS_RANK >= 5 && $RMS_RANK <= 6) ccm & # 2 procs for ocn
       if ($RMS_RANK == 7) cpl &                   # 1 proc  for cpl
       exit

 Last modified on January 10, 2001.

Back to NERSC ACPI Homepage