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