Changes between Version 2 and Version 3 of Documentation/UserGuide/CompileMethods
- Timestamp:
- 2014-05-27T10:20:40+02:00 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Documentation/UserGuide/CompileMethods
v2 v3 52 52 === makeorchidee_fcm === 53 53 The 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. 54 While 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. 55 55 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]]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 [[BR]] 57 57 {{{ 58 ./makeorchidee_fcm [Options] 58 59 59 ./makeorchidee_fcm -h 60 [ -h ] : show this help 60 61 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. 65 64 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) 66 71 67 makeorchidee_fcm [Options] 72 [ -driver ] : compilation of ORCHIDEE offline driver (default compiling only the library) 68 73 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 74 Options related to cleaning 75 | -clean ] : delete all files produceed during previous compilation 76 | -full ] : activate full recompiling 77 78 Options for XIOS, only choose one of the following 79 [ -xios ] : linking with XIOS 80 [ -noxios ] : compilation without XIOS (default) 81 82 Options 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 87 Option to optimize the compilation time 88 [ -j x ] : activate parallel compiling on x task, default 1 task 89 90 Option to add extra source to compile 91 [ -ext_src path] : path to an additional directory with fortran routines to compile with the model 86 92 }}} 87 93 88 94 89 95 Using 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 96 Example 1 : compile at curie(TGCC) for MPI parallel run mode 92 97 {{{ 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 99 99 }}} 100 100 101 101 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)102 Example 2 : compile at ada(IDRIS) for MPI-OpenMP parallel run mode 103 103 {{{ 104 ./makeorchidee_fcm -parallel seq -arch gfortran-driver104 ./makeorchidee_fcm -parallel mpi_omp -arch X64_ADA -driver 105 105 }}} 106 106 107 107 108 Example 4 : clean files created during previous compilation108 Example 3 : compile at obelix(LSCE) 109 109 {{{ 110 ./makeorchidee_fcm -clean 110 ./makeorchidee_fcm -arch ifort_LSCE -driver 111 111 }}} 112 113 Example 4 : compile using gfortran compiler for sequential run mode 114 First make sure that the files arch/gfortran.fcm and arch/gfortran.path are suitable for 115 your environement especially the path to netcdf library. 116 {{{ 117 ./makeorchidee_fcm -parallel seq -arch gfortran -driver 118 }}} 119 120 121 Example 5 : clean files created during previous compilation 122 {{{ 123 ./makeorchidee_fcm -clean 124 }}} 125