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