next up previous
Next: Configuring the TOYCLIM coupled Up: Compiling and running with Previous: Compiling and running with


Compiling OASIS3 and the TOYCLIM coupled model

OASIS3 and the TOYCLIM coupled model use the PRISM standard directory structure (see also (4)) and Standard Compiling Environment (see also (5)). To compile OASIS3 and toyatm, toyoce and toyche component models, one should go through the following steps:

  1. Go in the directory prism/util/compile/frames.

  2. Create the include files for your platform if they do not already exist in directory
    prism/util/compile/frames/include_<node> where <node> is the name of the platform.

  3. Generate a compile script for the libraries using the script Create_COMP_libs.frm:





    \begin{Frame}
\vspace*{1ex}
\Unixcmd{Create\_COMP\_libs.frm '''' '''' '''' ''''}
\end{Frame}



    The first parameter can be either "" or "-" to direct the standard output to a file or the screen.

    The second parameter an be either "", "-" or "+" to direct the standard error to a file, the screen or the standard output.

    If the compile scripts shall be created for another platform than the one where the
    Create_COMP_libs.frm script is launched, the third parameter has to contain the abbreviated node name ``node".

    The compile script for the libraries COMP_libs.$<$node$>$ should then be created in the directory prism/util.

  4. Generate a compile scrip for OASIS3 and for each of the component models using the script Create_COMP_models.frm:



    \begin{Frame}
\vspace*{1ex}
\Unixcmd{Create\_COMP\_models.frm oasis3 ''mp'' ''...
...ls.frm toyche ''mp'' '''' '''' '''' ''ID'' ''toyatm toyoce toyche''}
\end{Frame}



    The second parameter ``mp'' specifies the message passing used, which determines how the models are launched (see also section 4.1). If the default `MPI2' is chosen, the string has to be empty (specification of MPI2 results in an error); otherwise, MPI1 has to be given, or NONE for the interpolator only mode -see section 6.1. The OASIS3 executable will have the string MPI1 or MPI2 appended to its name. The 3 toy models can also be compiled with either the MPI1 option or the default MPI2 option (empty string).

    The third parameter can be either "" or "-" to direct the standard output to a file or the screen.

    The fourth parameter an be either "", "-" or "+" to direct the standard error to a file, the screen or the standard output.

    If the compile scripts shall be created for another platform than the one where the
    Create_COMP_models.frm script is launched, the fifth parameter has to contain the abbreviated node name ``node".

    The sixth parameter ``ID'' is version acronym for differentiation of executables (not relevant for OASIS3 and TOYCLIM toy models).

    Finally the last parameter gives the name of all the component models in the coupled constellation. This list is not relevant for OASIS3, but it has to be given for the toymodels. The specified partner models are checked against allowed partners and no default is set.

    The scripts to compile OASIS3 and the 3 toy coupled models, COMP_oasis3_<mp>.<node> COMP_toyatm_<ID>.<node>, COMP_toyoce_<ID>.<node>, COMP_toyche_<ID>.<node> should then be created, respectively in directories prism/src/mod/oasis3, /toyatm,
    /toyoce, /toyche.

  5. The compilation scripts created can now be used to compile OASIS3 and the 3 toy models. All four compile scripts have then to be launched explicitely by the user in their respective directory.



    \begin{Frame}
\vspace*{1ex}
\Unixcmd{COMP\_oasis3\_<mp>.<node>}\\
\Unixcmd{C...
...d{COMP\_toyoce\_<ID>.<node>}\\
\Unixcmd{COMP\_toyche\_<ID>.<node>}
\end{Frame}



    The scripts compile the models with the MPI library specified during their generation. The script that triggers the update of the libraries, COMP_libs.$<$node$>$, is automatically called by the model compilation scripts for the librairies they need. Libraries needed by OASIS3 are anaisg, anaism, scrip, fscint, and clim for MPI1 and MPI2 mode (clim is not compiled in NONE mode). The toy models need psmile and mpp_io.

  6. The result should be executables oasis3.<mp>.x, toyatm.<mp>.x, toyoce.<mp>.x, and toyche.<mp>.x in the $BLDROOT/bin directory defined by the compile scripts, where <mp> is either MPI1 or MPI2.


next up previous
Next: Configuring the TOYCLIM coupled Up: Compiling and running with Previous: Compiling and running with
Reinhard Budich 2004-12-22