G.Delautier 19/09/2017 : bug with CLOUD_ONLY
[MNH-git_open_source-lfs.git] / A-INSTALL
1 #
2 # Version of PACKAGE MESONH "Open distribution"
3 #              PACK-MNH-V5-2-2
4 #              DATE : 08/12/2016
5 #              VERSION : MESONH MASDEV5_2 + BUG-2
6 #
7 #  MAP
8 #
9 #        0) TWO WAYS OF DOWNLOADING MESONH
10 #      I-A) DOWNLOAD VIA THE WEB MESONH HOME PAGE
11 #      I-B) DOWNLOAD VIA GIT ANONYMOUS 
12 #       II) CONFIGURING THE MESONH PACKAGE
13 #      III) COMPILING/INSTALLING THE MESONH PACKAGE ON YOUR LINUX COMPUTER 
14 #       IV) RUN SOME "SMALL KTEST" EXAMPLES
15 #        V) RECOMPILING YOUR 'OWN' SOURCES ONLY 
16 #       VI) COMPILING/INSTALLING MESONH ON GENCI & ECMWF & METEO COMPUTERS
17 #      VII) "SCANDOLLAR" = SCRIPTING YOUR OWN PROCEDURES 
18 #
19 #     VIII) TROUBLE-SHOOTING
20 #           a) Segmentation violation -> problem of "stack size" limit
21 #           b) Compiler bug with "ifort 10.0.xxx" 
22 #
23 #       IX) OPTIONAL COMPILATION
24 #           a) MNH_FOREFIRE for forefire runs ( external package needed )
25 #           b) MNH_RTTOV for optional radiative computation
26 #           c) cleaning previous compiled version
27 #
28 #
29 ^L
30 #  0) TWO WAYS OF DOWNLOADING MESONH
31 #  =================================
32 #
33 #  MESONH sources and executables 
34 #  http://mesonh.aero.obs-mip.fr
35 #  are developed and maintained with the
36 #  Git tools ( https://git-scm.com/ )
37 #
38 #  There are two ways to download the package of
39 #  MESONH containing :
40 #    - sources 
41 #    - makefiles
42 #    - precompile exe 
43 #    - graphic tools
44 #    - basic examples
45 #
46 #  The first way is for VERY BASIC USER OF MESONH 
47 #  via a download of a "tar ball" in the WEB site of MESONH
48 #
49 #  The second way is for USER/DEVELOPER of MESONH
50 #  via the use of Git and an anonymous ssh connection to the Git repository of
51 #  the MESONH package 
52
53 #
54 # REM: It is now strongly recommended, but not mandatory, 
55 #      for all users to use the Git solution, because:
56 #
57 #      * It's far more easy for us ( support team ) to give you some assistance
58 #        in case of trouble... as Git permits us to know exactly
59 #         what you have changed in the original PACKAGE
60 #
61 #      * It's much more easy for you to update to the last version...  
62 #        or at least see the change made for BUGFIX directly on our
63 #        installation.
64 #
65 #
66 #  Following, are presented the two mutually exclusive ways to get the MesoNH
67 #  package:
68 #
69 #
70 ^L
71 # I-A) DOWNLOAD VIA THE WEB MESONH HOME PAGE
72 # ==========================================
73 #
74 # With your preferred web browser go to the MESONH WEB SITE
75
76 #  http://mesonh.aero.obs-mip.fr/mesonh
77 #     ---> Download
78 #
79 # or directly
80 #
81 # http://mesonh.aero.obs-mip.fr/mesonh/dir_open/dir_MESONH/MNH-V5-2-2.tar.gz
82 #
83 # Then untar the file "PACK-MNH-V5-2-2.tar.gz" where you want to.
84 # For example, in your home directory:
85 #
86  
87 cd ~
88 tar xvfz PACK-MNH-V5-2-2.tar.gz
89       
90 #
91 #  Process now to the chapter to configure the MesoNH package.
92 #
93 # => II) CONFIGURING THE MESONH PACKAGE
94 #
95 ^L
96 # I-B) DOWNLOAD VIA GIT ANONYMOUS
97 # ===============================
98 #
99 #    a) Prerequisites
100 #    ----------------
101 #
102 # In order to clone the Meso-NH git repository that contains sources, compiled
103 # libraries and binary tools, the git LFS extension is required to handle
104 # binary (or large) files. So before starting, be sure:
105 #
106 #  * to have git v1.8.2 or higher installed on your workstation. You can run
107 #    and check with:
108
109 git --version
110
111 #  * to install the git LFS extension (not included by default in the Git
112 #    package):
113 #    - get the linux git-lfs archive from the "Download v1.X.Y (Linux)" link on
114 #      the web page https://git-lfs.github.com/
115 #    - extract the archive and copy the git-lfs binary in your $HOME/bin (the
116 #      provided install.sh script doesn't need to be executed)
117 #    - from any directory, you can now execute:
118
119 git lfs install
120
121 #      that will set up some filters under the name "lfs" in the global Git
122 #      config file ($HOME/.gitconfig) 
123 #
124 #    b) Before cloning
125 #    -----------------
126 #
127 #  * Download the private key to access the anonymous Meso-NH Git server (read-
128 #    only access) by following the next link:
129 #
130
131 http://mesonh.aero.obs-mip.fr/mesonh52/GitSources?action=AttachFile&do=get&target=anongitmesonh.key
132
133 #
134 #    and save the file in your $HOME/.ssh/ directory.
135 #
136 #  * Change the access permissions of the key with:
137 #
138
139 chmod 600 $HOME/.ssh/anongitmesonh.key
140
141 #
142 #  * Copy/paste the following lines and add them in your $HOME/.ssh/config file
143 #    (create the file if it is missing):
144 #
145
146 Host anongit_mesonh
147   User anongit
148   IdentityFile ~/.ssh/anongitmesonh.key
149   Hostname 195.83.22.22
150   Port 22222
151
152 #
153 # Before cloning the repository, execute:
154 #
155
156 git config --global http.sslverify false
157
158 #
159 # This is necessary to disable the certificate checks because a self-signed
160 # certificate was used for the LFS server.
161 #
162 #    c) Cloning the Meso-NH Source repository on the developpement branch MNH-52X
163 #    ----------------------------------------------------------------------------
164 #
165 # Finally you can clone the Meso-NH Git repository with the following command:
166 #
167
168 git lfs clone anongit@anongit_mesonh:/gitrepos/MNH-git_open_source-lfs.git -b MNH-52X MNH-V5-2-2
169
170 #
171 # that will create the MNH-V5-2-2 directory containing a clone (copy) of the
172 # Meso-NH package on the remote developpement branch MNH-52X
173 #
174 #
175 #   d) Checking out a given version of MESONH
176 #   -----------------------------------------
177 #
178 # Once the repository is cloned, it's better for you to checkout your own branch
179 # (by default, you are on HEAD of the MNH-52X development branch  ).
180 #
181 # To create your local branch corresponding to the V5-2-2 version, type:
182 #
183
184 cd MNH-V5-2-2
185 git checkout -b MYB-MNH-V5-2-2 PACK-MNH-V5-2-2
186
187 #
188 # MYB-MNH-V5-2-2 is the name of the local branch you created
189 # and
190 # PACK-MNH-V5-2-2 is the remote/origin tag on which it is based.
191 #
192 # The advantage of this way of downloading the package is that in the future
193 # you could check/update quickly differences with the new version of the
194 # package without having to download entirely the full package.
195 #
196 #  Suppose that a new version, for example "PACK-MNH-V5-2-3", is announced.
197 #
198 #  To see the differences with your working copy, do:
199 #
200
201 git fetch
202 git diff HEAD PACK-MNH-V5-2-3
203
204 #
205 #  To go to the new version, you can, for example, create a new local branch:
206 #
207
208 git checkout -b MYB-MNH-V5-2-3 PACK-MNH-V5-2-3
209
210 #
211 # At any time, you can also check for "uptodate" changes in the Git branch
212 # dedicated to the MNH52 version before the official release of the "bugN+1"
213 # bugfix version.
214 #
215
216 git fetch
217 git diff HEAD MNH-52X
218   
219 #
220 # And, test this development (not yet official) version by going to this branch:
221 #
222
223 git checkout --track origin/MNH-52X
224 #
225 #    e) Cloning the Meso-NH Documentation repository
226 #
227 # In a similar fashion, you can clone the Meso-NH documentation Git repository
228 # with the following command:
229 #
230
231 git clone anongit@anongit_mesonh:/gitrepos/MNH-DOC.git
232
233 #
234 # that will create the MNH-DOC directory containing the latest LaTeX sources of
235 # the Meso-NH documentation.
236
237 #
238 #  Well, the use of git is not under the scope of this "INSTALL" document...
239 #
240 #   Now, go to the next chapter 
241 #
242 #   => II) CONFIGURING THE MESONH PACKAGE
243 #
244 #
245 ^L
246 #
247 # II) CONFIGURING THE MESONH PACKAGE
248 # ==================================
249 #
250 #    For the installation process, you could now
251 #    use the "./configure" script like this 
252 #
253
254 cd ~/MNH-V5-2-2/src
255 ./configure
256 . ../conf/profile_mesonh
257
258 #
259 #    this will create a configuration file "profile_mesonh" with
260 #    an extension reflecting the different "choices" made automatically
261 #    to match the computer on which you want to install MESONH
262 #   
263 #    WARNING :
264 #    =========
265 #    On GENCI & ECMWF & METEO/CNRM  computers, the './configure' is tuned to 
266 #    identify the computer on which the command is used
267 #    so the good compiler, MPI & netCDF libraries,... 
268 #    are automatically chosen
269
270 #    /!\ This is not the case in your "own" personal Linux computer ...
271 #    So is up to you to set the ARCH variable correctly
272 #    ARCH     = Fortran compiler to use,
273 #    VER_MPI  = version of MPI to use ,
274 #    OPTLEVEL = 
275 #    etc ...
276 #    and all the other environnement variables. 
277
278 #    Be default, for an unknown computer, you will have:
279 #
280 #   - the compiler choosen to be "gfortran" => ARCH=LXgfortran
281 #   - the MPI library to be the MPIVIDE  => VER_MPI=MPIVIDE
282 #     ( empty MPI library coming with MESONH package = no parallel run possible )
283 #   - the level of optimization for the compiler  => OPTLEVEL=DEBUG
284 #     (  for development purpose ,fast compilation & debugging )   
285 #       
286 #    SO IF NEEDED:
287 #    ============
288 #    you could change the default FLAG compiler/MPI/optlevel
289 #    like this, for example 
290
291 export ARCH=LXifort        # Use Intel "ifort" compiler on LX=linux Plateform 
292 export VER_MPI=MPIAUTO     # Use MPI with compiler wrapper 'mpif90', for computer having this wrapper installed 
293 export OPTLEVEL=O2         # Compile in O2, 4 times faster then DEBUG, but less error checks
294
295 ./configure
296
297 #    and then source/load the new generate file
298
299 . ../conf/profile_mesonh.LXifort.MNH-V5-2-2.MPIAUTO.O2
300
301 #
302 #  REM: 
303 #  ====
304 #
305 #  - Options specific to compiling/architecture, like 'OPTLEVEL' are defined inside the "Rules.${ARCH}.mk" .
306 #
307 #  - Options specific to library like "mpi"="VER_MPI" or "cdf"="VER_CDF" are defined inside "Makefile.MESONH.mk"
308 #
309 #  - If needed, for adaptation to your requirements, look inside the files and changes options for your needs.
310 #  
311 #  - On PC-Linux, if needed, look at the "MesonhTEAM Wiki" to know how to compile the OpenMPI library with MESONH:
312 #
313 #    http://mesonh.aero.obs-mip.fr/teamwiki/MesonhTEAMFAQ/PC_Linux
314 #      --> Compilation of OPEN-MPI
315
316 ^L
317 #   
318 # III) COMPILING/INSTALLING THE MESONH PACKAGE ON YOUR LINUX COMPUTER 
319 # ===================================================================
320 #
321 # go to the directory  "src"
322 #
323
324 cd  ~/MNH-V5-2-2/src
325
326 #
327 # if you have not already configured your MESONH environment
328 # either manually in your interactive session 
329 # or automatically through your .profile (or .bashrc), do:
330 #
331 # REM: use the configure file corresponding to your needs, cf. previous chapter 
332
333 . ../conf/profile_mesonh{use_the_good_version_here} 
334
335 #
336 # run the compilation by
337 #
338
339 (g)make
340
341 #
342 # The compilation will take about 20 minutes on modern PC-Linux ...
343
344 # If you have a multi-processor machine you can speedup
345 # the compilation, for example on four cores, with:
346
347 (g)make -j 4
348
349 #
350 #
351 # The  object files "*.o"  &  main executables of the "MESONH PACKAGE" :
352 #
353 #  MESONH , PREP_IDEAL_CASE , PREP_REAL_CASE , etc ...
354 #
355 #  are compiled in one step and created in the directory
356 #
357 #    dir_obj-$(ARCH).../MASTER
358 #
359 # ( REM: the lib...a is only created and removed at the link phase;
360 #          this allows a parallel compilation of the sources ... ) 
361 #
362 # The exact name of this "dir_obj..." depends on the different environnement
363 # variables set by the "profile_mesonh...." which you have loaded before the compilation.
364 #
365 # This allows by loading different "profile_mesonh.." files to compile in the same
366 # source/installation directory different versions of MESONH , with different
367 # compilers, different versions of MPI, different USER sources...
368 #
369 #
370 # To install the new compiled program in the "$SRC_MESONH/exe"
371 # directory, after compilation, just run
372 #
373
374 make installmaster
375
376 #
377 # The executables with their full name, including $ARCH, compiler,
378 # MPI and level of optimization, will be linked in the "../exe" directory
379
380 # REM: 
381 # ---
382 #      The "make installmaster" need to be done only one time by "version". 
383 #      If you only change/add source, you have to do "make" 
384
385 make
386  
387 #
388 #  IV) RUN SOME "SMALL KTEST" EXAMPLES
389 #  ===================================
390 #
391 #  After compilation & installation, you could run
392 #  some basic "KTEST" examples from the "src" directory 
393 #  by running:
394
395 make examples 
396
397 # or by giving one of the "KTEST" names in 
398 #
399 # the list "001_2Drelief 002_3Drelief 003_KW78 004_Reunion 007_16janvier"
400
401 make 004_Reunion
402
403 #
404 #  EXAMPLES USING NCL
405 #  ===================
406 #
407 #  WITH 2 OPTIONS TO CONVERT FROM LFI TO NETCDF FORMAT
408 #  1: with extractdia
409 #  2: with lfi2cdf
410 #  Only for 2 KTEST : 004_Reunion and 007_16janvier
411 #
412
413 make ncl1_examples  # if using extractdia
414
415 #or
416
417 make ncl2_examples  # if using lfi2cdf
418
419 #
420 # Or by giving the KTEST name followed by _ncl1 or _ncl2
421 #
422
423 make 004_Reunion_ncl1
424
425 #or
426
427 make 004_Reunion_ncl2
428
429 ^L
430 #
431 #  V) RECOMPILING YOUR OWN SOURCES ONLY 
432 #  ====================================
433 #
434 #  NOW YOU COULD GENERATE AND RECOMPILE YOUR OWN SOURCES ONLY
435 #  ( like BIBUSER in centralised MESONH version )
436 #
437 #  Suppose you want to create a "MY_MODIF" version ...
438 #
439 # Step-1 : prepare your source directory
440 # ---------------------------------------
441 #
442 # Put your own sources in a subdirectory of "${SRC_MESONH}/src" named 
443 #  
444    
445 ${SRC_MESONH}/src/MY_MODIF
446
447 #
448 #  All subdirectories in "MY_MODIF" will be scanned. So if you want,
449 #  you could make a subdirectory for each component of the MESONH
450 #  Package
451 #
452
453 cp .../mesonh.f90 MY_MODIF/MNH/.
454 cp .../isba.f90   MY_MODIF/SURFEX/.
455
456 #
457 #  /!\ WARNING :
458 #  -------------
459 #   - In this subdirectory, put only fortran source you want to compile !!!
460 #   Don't use it as a trash with old sources file like 'my_source.f90.old'
461 #   or 'tar' files 'mysource.tar' . 
462 #   - All 'spirituous' file will confuse the 'make' command.
463 #
464 #   
465 # Step-2 : configure/compiling with VER_USER=...
466 # ----------------------------------------------
467
468 # - Logout of the current session to be sure to unset all the 
469 #   environnement variables loaded with the your 'master 'profile_mesonh'
470 #
471 # - Login again and:
472 #
473 #   - set the variable "VER_USER" with the name of your "USER VERSION",  
474 #   - set also the optional ARCH, VER_MPI... you want to use.
475 #  
476 # and run again the "./configure" command
477
478 #export ARCH=...
479 #export VER_MPI=...
480 export VER_USER=MY_MODIF
481 ./configure
482
483 #
484 # this will regenerate the "profile-mesonh" file and a copy
485 # of this with the extent  "profile_mesonh...${VER_USER)..."
486 #
487 # as before load it & and compile with the command "make user"
488
489 . ../conf/profile_mesnh...${VER_USER}...
490
491 make user
492
493 # this will compile only your sources and the files depending on your sources
494 # and generate the new executables in your own directory
495 #
496 #   dir_obj-$(ARCH).../${VER_USER}
497 #
498 #
499 # WARNING : 
500 # ========
501 #  Before compiling your own sources be sure that these ones
502 #  are younger than the "*.o" files of the MASTER directory.
503 #  If any doubt, at any time use the command
504 #
505 #      touch *.f*
506 #
507 #     on your sources, and only on yours do that!!!
508 #
509 #
510 # Step-3 : running the examples 
511 # -----------------------------
512 #
513 #
514 # Now if the compilation is OK, you could test this new version with the "make examples".
515 #
516 # First, install the new binaries in the '${SRC_MESONH}/exe' with
517
518 make installuser
519
520 #   The "make installuser" needs to be done only one time by "version".
521
522 #
523 # And run the examples. Your version should appear in the name of the used executables.
524 #
525
526 make examples 
527
528 ^L
529 #
530 #   VI) COMPILING/INSTALLING ON GENCI & ECMWF & METEO COMPUTERS
531 #   ===========================================================
532 #
533 #   After downloading "exactly" like on "any standalone PC" 
534 #   run the "./configure" command :
535 #
536
537 ./configure
538
539 #
540 #  - If you do not have sufficient space in your "$HOME" directory,
541 #    install the whole package directly on the ${WORKDIR}
542 #
543 #   WARNING :
544 #   ======== 
545 #    - Think to do a backup of your installation 
546 #    - This space is no more "purged" but a "crash disk" could/will
547 #      probably occur !!!
548
549
550 cd $WORKDIR
551 cd MNH-V5-2-2/src
552
553 ./configure
554  
555 #   
556 #   Due to limitation in time & memory on interactive connection 
557 #   then compile the MESONH PACKAGE in batch mode with the different "job_make_mesonh*" files
558 #   
559 #   at IDRIS :
560 #   ---------
561 #
562
563 #   - On ADA ( IBM/x3750 ) with :
564
565 llsubmit job_make_mesonh_IBM_ada
566
567 #
568 #
569 #   - On TURING (IBM BG/Q ) : 
570
571 llsubmit job_make_mesonh_BGQ
572
573 #
574 #
575 #   BACKUP : /!\ backup your work on "ergon"
576 #
577 #   
578 #   at CINES on JADE( SGI/ICE ) , OCCIGEN not tested yet  :
579 #   -------------------------------------------------------
580
581 #   - install the PACKAGE in your "/store/${USER}" directory 
582 #   - you could compile in interactive mode
583 #
584 #    BACKUP : /!\ backup your work on "/data/${USER}"
585
586
587
588
589 #   at ECMWF on cca ( CRAY/XC30 ) :
590 #   ----------------------------
591 #
592 #   - to install MESONH go to your $PERM directory
593 #     if you need more disk space than allowed for 'standard' user 
594 #     Ask to Dominique Lucas, look this email :
595 #
596 #    http://mesonh.aero.obs-mip.fr/cgi-bin/mesonh_interne/mail2html.cgi?file=2009_09_24_15:31:54
597 #
598 #   - for the compilation use :
599
600 qsub job_make_mesonh_CRAY_cca
601
602 #
603 # REM : On CRAY computer cca , the default compiler is the CRAY one = crayftn .
604 #      I you have trouble with this one , you could compile with the Intel/ifort one .
605 #      Use the ifort one do :
606
607 export ARCH=LXifort
608 ./configure
609
610 ...
611
612 création du fichier -->  ../conf/profile_mesonh-LXifortI4-MNH-V5-2-2-MPICRAY-O2
613
614 # And for the compilation & example job , switch the ARCH variable to LXiort :
615
616 vi  job_make_mesonh_CRAY_cca(job_make_examples_CRAY_cca)
617
618 ARCH=LXifort
619 #ARCH=LXcray # this is the default one
620 . ../conf/profile_mesonh-${ARCH}I4-MNH-V5-2-2-MPICRAY-O2
621
622
623
624 #
625 #   EXAMPLES ON GENCI & ECMWF PLATFORMS
626 #   ====================================
627 #
628 #  - At IDRIS
629 #
630
631 # on ADA
632
633 llsubmit job_make_examples_IBM_ada
634
635 #on TURING
636
637 llsubmit job_make_examples_BGQ
638
639 #
640 #   - At CINES on JADE( SGI/ICE ) :
641 #
642 # load ".profile_mesonh..." & set the variables :
643  
644 export MONORUN="mpirun -np 1"
645 export MPIRUN="mpirun -np 4 " 
646   
647 # and run with 
648
649 make examples
650
651 #
652 #   - At ECMWF on cca
653 #
654
655 llsubmit  job_make_examples_CRAY_cca
656
657 #
658 # That's all for the basic INSTALLATION of the "MESONH PACKAGE"
659 #  
660
661 #
662 #  VII) "SCANDOLLAR" = SCRIPTING YOUR OWN PROCEDURES 
663 #  ====================================================
664
665 REM : not tested on 5-2-X version ...
666
667 # A small script 'scandollar' is in test in this version of MESONH.
668 # It will help you to build a complete chaining of an experiment. 
669 # The idea is to write some "template" scripts with '$VARIABLE' in the 
670 # Key point. Then 'scandollar' will parse this template files
671 # and generate the file with the variables evaluated ...
672 #
673 # First don't forget to load your "profile_mesonh..."
674 #
675 # So how it work  ...
676 #
677 #  Syntaxe 
678
679 export CONFEXP="YOUR_EXPERIMENT"
680 scandollar [list_directory]
681
682 # What is done :
683 #
684 #   for all (directory) in [liste directory]
685 #   go to this (directory)
686 #    - read the environnement variable in the user 'confdollar' file 
687 #    - read the default environnement variable for this 'machine' in ${CONF_DOLLAR}
688 #    - parse all the '*.ihm' file and put the transformed file 
689 #         (without extension in) in a new sub-directory '${CONFEXP}'
690 #
691 #  Without [list_directory] the current directory '.' is parsed . 
692 #
693 # As a demonstration the '16janvier Study Case' is build with this
694 # template script here :
695
696 $SRC_MESONH/MY_RUN/KTEST/007_16janvier_scandollar
697
698 #
699 # EXAMPLE :
700 # -------
701 #
702 # To parse only the first pgd step = directory '001_pgd1'
703
704 cd $SRC_MESONH/MY_RUN/KTEST/007_16janvier_scandollar/001_pgd1
705
706 export CONFEXP=512
707 scandollar
708
709 ## OUTPUT ::
710
711 >#  read default config file :: --->  CONF_DOLLAR=/home/escj/DEV64/PACK-MNH-V5-2-2/conf/post/confdollar_aeropc_default
712 >#
713 >#  read    user config file :: --->  CONFIG=confdollar
714 >#
715 >#  processes file *.ihm and put them in ./512/ ::
716 >#          ---> run_prep_pgd_xyz.ihm =>  ./512/run_prep_pgd_xyz
717
718
719 #
720 # And to run this step 
721 #
722
723 cd $SRC_MESONH/MY_RUN/KTEST/007_16janvier_scandollar/001_pgd1/512
724 (qsub) run_prep_pgd_xyz # qsub on brodie 
725
726 # To parse all these steps 
727
728 cd $SRC_MESONH/MY_RUN/KTEST/007_16janvier_scandollar/
729 scandollar 0*
730
731 ## OUTPUT ::
732 >#
733 >#  read default config file :: --->  CONF_DOLLAR=/home/escj/DEV64/PACK-MNH-V5-2-2/conf/post/confdollar_aeropc_default
734 >#
735 >#  read    user config file :: --->  CONFIG=confdollar
736 >#
737 >#  processes file *.ihm and put them in 001_pgd1/512/ ::
738 >#          ---> run_prep_pgd_xyz.ihm =>  001_pgd1/512/run_prep_pgd_xyz
739 ...
740 >#  read    user config file :: --->  CONFIG=confdollar
741 >#
742 >#  processes file *.ihm and put them in 008_run2/512/ ::
743 >#          ---> run_mesonh_xyz.ihm =>  008_run2/512/run_mesonh_xyz
744 >#
745 ...
746 >#  read    user config file :: --->  CONFIG=confdollar
747 >#
748 >#  processes file *.ihm and put them in 011_diaprog/512/ ::
749 >#          ---> run_diaprog.ihm =>  011_diaprog/512/run_diaprog
750
751
752 #
753 # The chaining of the differents steps is control by the "RMSHELL" variable .
754 # To inhibit put a "#" in it , eather in your current shell
755 # or in the 'confdollar' file .
756
757 export RMSHELL="#"
758
759 #
760 # Some 'predefine' variables are set in the '${CONF_DOLLAR}' default files
761 #   --> One file is defined by know-computer . 
762 #
763 #   Are included files for 'brodie' , 'vargas' , ( babel beta-test ) , 'c1a' , 'jade' & 'aeropc*' ( = default for unknown host )
764
765 export  CONF_DOLLAR=${SRC_MESONH}/conf/post/confdollar_aeropc_default
766
767 #
768 #   You could define your own default file and use it by setting
769 #   in your shell the  'CONF_DOLLAR' variable 
770 #   ( By default './configure' will set it for you in the profile_mesonh file ) 
771
772
773 #
774 #  ON GENCI PLATEFORM 
775 #  ------------------
776
777 #  You will find my "own" personal installation of MESONH 
778 #  in the next directory . If you need only to run MESONH
779 #  without recompiliong new sources for MESONH, you could :
780 #
781 #  - source/load my own "profile_mesonh" without modification
782
783 #  - and copy the scripts examples  with 
784
785 cp -R  007_16janvier_scandollar /.../your_directory
786   
787 #
788
789
790 # You could also copy only the differents "*/512"  sub-directory
791 # if you don't when ti use the "scandollar" script  .
792 #
793
794 #   You will the need to change only information corresponding 
795 #   the location to your own path directory for the input/ouput data .
796 #  
797 #   So
798 #
799 #  - At IDRIS :
800 #    ==========
801 #
802 #  On Brodie
803 #  ---------
804 #
805 # use this "profile_mesonh" :
806
807 .  /home/rech/mnh/rmnh007/DEV/MNH-V5-2-2/conf/profile_mesonh-SX8-MNH-V5-2-2-MPIAUTO-O4
808
809 # And the examples are here ( link to my $WORKDIR in actually )  
810
811 /home/rech/mnh/rmnh007/DEV/MNH-V5-2-2/MY_RUN/KTEST/007_16janvier_scandollar
812
813 #
814 #  On vargas
815 #  ---------
816 #  use this "profile_mesonh" :
817
818 . /workgpfs/rech/mnh/rmnh007/DEV/MNH-V5-2-2/conf/profile_mesonh-AIX64-MNH-V5-2-2-MPIAUTO-O2
819
820 # and examples here :
821
822 /workgpfs/rech/mnh/rmnh007/DEV/MNH-V5-2-2/MY_RUN/KTEST/007_16janvier_scandollar
823
824
825 #  - At CINES on JADE :
826 #    =================
827 #
828 # use 
829
830 . /work/escobar/DEV/MNH-V5-2-2/conf/profile_mesonh-LXifort-MNH-V5-2-2-MPIICE-O2
831
832 # and the exemples
833
834 /work/escobar/DEV/MNH-V5-2-2/MY_RUN/KTEST/007_16janvier_scandollar
835
836 #
837 #  - At ECMWF on cxa :
838 #    ===============
839 #
840 # use
841
842 . /c1a/ms_perm/au5/MNH-V5-2-2/conf/profile_mesonh-AIX64-MNH-V5-2-2-MPIAUTO-O2
843
844 # and the examples
845
846 /c1a/ms_perm/au5/MNH-V5-2-2/MY_RUN/KTEST/007_16janvier_scandollar
847
848
849 #
850 #  Good luck!!!
851 #
852
853 #
854 # VIII) TROUBLE-SHOOTING
855 # ======================
856 #
857 #
858 # a) "Segmentation violation" -> problem of "stack size" limit
859 # ------------------------------------------------------------
860 #
861 #  When running the examples coming with the MESONH package, if you obtain
862 #  a "segmentation violation" error it is probably a problem with
863 #  the "stack size" limit on your Linux computer ...
864 #
865 #  Check this limit with the command
866
867 ulimit -s
868
869 #  The limit is given in Kbytes and is often 8192 KB
870 #
871 #  ---> this mean only 8Mbytes for array in stack memory
872 #
873 #  It's a very low walue !!!
874 #
875 #  We recommend you to put it to "unlimited" in your
876 #  ".bashrc" or ".profile" like this
877
878 ulimit -s unlimited
879
880
881 #
882 # b) Compiler BUG with "ifort 10.0.xxx" 
883 # -------------------------------------
884 #
885 #   Some routines do not compile with
886 #   the version "10.0.XXX" of "ifort" ( at least until 10.0.023 )
887 #
888 #    Solution ---> Upgrade to ifort "10.1.015"
889 #
890 #   The ifort "10.1.008" has also some bug in the generation
891 #   of optimized 'vectorized SSE' code resulting in unpredictable
892 #   "Flaoting Point" error
893 #
894 #    Solution ---> compile the routine with problem with '-O1' option
895 #                  or upgrade to at least "10.1.015" version
896 #   
897 #
898 #
899 # IX) OPTIONAL COMPILATION
900 ===========================
901 # a) MNH_FOREFIRE for forefire runs ( external package needed )
902 # -------------------------------------------------------------
903 #
904 #  If you want to use coupled(inline) run with FOREFIRE and MESONH
905 #  you could compile the interfaced/coupling routine by activating
906 #  this variable before any compilation
907
908 export MNH_FOREFIRE=1.0
909
910 # and then the configure 
911
912 ./configure
913
914 #
915 # after this compile as usually
916 #
917
918 make
919 etc ...
920
921 #
922 # The FOREFIRE API package himself must be compiled independently from MesoNH
923 # The git repository is here https://github.com/forefireAPI/firefront/tree/2014.01
924 # it could be cloned by
925
926 git clone -b 2014.01 https://github.com/forefireAPI/firefront.git
927
928 # it depend on netcdf and scons for is compilation
929 # the "libForeFIre.so" generate must by referenced in the LD_LIBRARY_PATH
930 # or move/linked to the 'exe' directory of MesoNH
931 #    
932
933
934 # see c) for cleaning previously version if needed
935
936 # b) MNH_RTTOV for optional radiative computation
937 # --------------------------------------
938 #
939 # The RTTOV package was not included into the open source version of Meso-NH
940 # because it needs a licence agrement .
941 #
942 # For already(old) licencied MesoNH users (MNH-4-X version with research licence see here: http://mesonh.aero.obs-mip.fr/mesonh410/UserInformation)
943 #
944 # the package could be reloaded in this way  
945 #
946 # - With cvs access
947 #
948
949 cd MNH.../src/LIB
950 cvs up -rPACK-MNH-V4-10-3 -d -P RTTOV
951
952 #
953 # - With WEB access (with WEB login/pass as usually) the RTTOV package could also be retrieve in tarball with wget like this:
954 #
955
956 cd MNH.../src/LIB
957 wget --http-user=USER  --http-password=PASS 'http://mesonh.aero.obs-mip.fr/cgi-bin/mesonh_interne/viewcvs.cgi/MNH-VX-Y-Z/src/LIB/RTTOV/?view=tar&pathrev=PACK-MNH-V4-10-3' -O RTTOV.tar.gz
958 tar xvfz RTTOV.tar.gz
959
960 # /!\ don't forget the ''.  Otherwise, this will not work!
961
962 #
963 # And then for the compilation, run the 'configure' script preceded with the setting of the MNH_RTTOV variable:
964 #
965
966 cd MNH.../src/
967 export MNH_RTTOV=1
968 ./configure
969
970 etc ...
971
972 # c) cleaning previous compiled version
973 # --------------------------------------
974 #
975 # If you have already compiled exactly the same version of MesoNH on this computer ( same $XYZ value )
976 # you have first to 'clean' this versio with
977 #
978
979 make cleanmaster
980
981 #
982 # this will delete the dirobj_${XYZ} directory and all the preprocessed sources contained on it ..
983 #
984 # I you have also a VER_USER version do
985
986 make cleanuser