Changes between Version 2 and Version 3 of Documentation/UserGuide/CompileMethods


Ignore:
Timestamp:
05/27/14 10:20:40 (7 years ago)
Author:
jgipsl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/UserGuide/CompileMethods

    v2 v3  
    5252=== makeorchidee_fcm ===  
    5353The script [https://forge.ipsl.jussieu.fr/orchidee/browser/trunk/ORCHIDEE/makeorchidee_fcm makeorchidee_fcm] compiles ORCHIDEE using the FCM, a software developed by the Hadley Centre.  
    54 While using this script the dependencies between fortran modules do not need to be set in advance. Fcm determines the dependencies.  
     54While using this script the dependencies between fortran modules do not need to be set in advance. Fcm determines the dependencies. Fcm is stored in tools/ directory. 
    5555 
    56 Compile options for different target machines or compilers are defined in the directory ''arch/''. For each target machine two files must exist : archname.fcm and archname.path. Use ''./makeorchidee_fcm -h'' to get information about available arguments. See here the main arguments are [[BR]] 
     56Compile options for different target machines or compilers are defined in the directory ''arch/''. For each target machine two files must exist : archname.fcm and archname.path. Use ''./makeorchidee_fcm -h'' to get information about available arguments. See here the main arguments [[BR]] 
    5757{{{ 
     58./makeorchidee_fcm [Options]  
    5859 
    59 ./makeorchidee_fcm -h 
     60[ -h ]        : show this help 
    6061 
    61 ######################################################################## 
    62 # Manuel en ligne 
    63 ######################################################################## 
    64 more <<eod 
     62[ -arch XXX ] : name of the archicture file containg platform dependent compile options.  
     63                The files arch/arch-XXX.fcm and arch/arch-XXX.path must exist.  
    6564 
     65[ -parallel|-p PARALLEL_TYPE ] : choose parallelization mode for ORCHIDEE :  
     66    PARALLEL_TYPE = 
     67    ( mpi | MPI )              : only MPI (Message Passing Interface) 
     68    ( omp | OMP )              : only OpenMP 
     69    ( mpi_omp | MPI_OMP )      : hybrid MPI/OpenMP mode 
     70    ( none | NONE | seq )      : sequential mode (default) 
    6671 
    67 makeorchidee_fcm [Options]  
     72[ -driver ]      : compilation of ORCHIDEE offline driver (default compiling only the library) 
    6873 
    69 [ -parallel|-p PARALLEL_TYPE ] : activate parallelization with 3 options :  
    70     PARALLEL_TYPE = 
    71     ( mpi | MPI )  : use Message Passing Interface standard 
    72     ( omp | OMP )  : use OpenMP standard 
    73     ( mpi_omp | MPI_OMP ) : use both MPI and OpenMP 
    74     ( none | NONE | seq ) : sequential mode (default) 
    75 [ -driver ] : compilation of ORCHIDEE driver if equal TRUE 
    76 [ -arch ARCHitecture ] : if TRUE, change architecture for ARCHitecture 
    77 [ -xios ] : compilation with XIOS 
    78 [ -noxios ] : compilation without XIOS 
    79 [ -prod ] : compilation for production (all optimization) 
    80 [ -dev ] : compilation for development (low optimization and -g) 
    81 [ -d|-debug ] : compilation for debugging (no optmization and all debug options) 
    82 | -full ] : activate full recompiling  
    83 | -clean ] : delete all files produceed during previous compilation 
    84 [ -j x ] : activate parallel compiling on x task, default 1 task 
    85 [ -ext_src path] : path to an additional set of routines to compile with the model 
     74Options related to cleaning 
     75| -clean ]       : delete all files produceed during previous compilation 
     76| -full ]        : activate full recompiling  
     77 
     78Options for XIOS, only choose one of the following 
     79[ -xios ]        : linking with XIOS 
     80[ -noxios ]      : compilation without XIOS (default) 
     81 
     82Options for optimization, choose only one of the following 
     83[ -prod ]        : compilation for production (all optimization) 
     84[ -dev ]         : compilation for development (low optimization and -g) 
     85[ -debug ]       : compilation for debugging (no optmization and all debug options) 
     86 
     87Option to optimize the compilation time 
     88[ -j x ]         : activate parallel compiling on x task, default 1 task 
     89 
     90Option to add extra source to compile 
     91[ -ext_src path] : path to an additional directory with fortran routines to compile with the model 
    8692}}} 
    8793  
    8894 
    8995Using fcm, the dependencies between the modules are not predefined. fcm will determine the correct order to compile. makeorchidee_fcm do not compile IOIPSL. This must be done in advance. [[BR]] 
    90  
    91 Example 1 : compile at curie for MPI parallel run mode  
     96Example 1 : compile at curie(TGCC) for MPI parallel run mode 
    9297{{{ 
    93 ./makeorchidee_fcm -parallel mpi -arch X64_CURIE -driver 
    94 }}} 
    95  
    96 Example 2 : compile at ada for MPI-OpenMP parallel run mode  
    97 {{{ 
    98 ./makeorchidee_fcm -parallel mpi_omp -arch X64_CURIE -driver 
     98   ./makeorchidee_fcm -parallel mpi -arch X64_CURIE -driver 
    9999}}} 
    100100 
    101101 
    102 Example 3 : compile using gfortran compiler for sequential run mode (make sure that the files arch/gfortran.fcm and arch/gfortran.path are suitable for your environement especially the path to netcdf library) 
     102Example 2 : compile at ada(IDRIS) for MPI-OpenMP parallel run mode 
    103103{{{ 
    104 ./makeorchidee_fcm -parallel seq -arch gfortran -driver 
     104   ./makeorchidee_fcm -parallel mpi_omp -arch X64_ADA -driver 
    105105}}} 
    106106 
    107107 
    108 Example 4 : clean files created during previous compilation 
     108Example 3 : compile at obelix(LSCE) 
    109109{{{ 
    110 ./makeorchidee_fcm -clean 
     110   ./makeorchidee_fcm -arch ifort_LSCE -driver 
    111111}}} 
     112 
     113Example 4 : compile using gfortran compiler for sequential run mode  
     114First make sure that the files arch/gfortran.fcm and arch/gfortran.path are suitable for  
     115your environement especially the path to netcdf library.  
     116{{{ 
     117   ./makeorchidee_fcm -parallel seq -arch gfortran -driver 
     118}}} 
     119 
     120 
     121Example 5 : clean files created during previous compilation 
     122{{{ 
     123   ./makeorchidee_fcm -clean 
     124}}} 
     125