Changes between Initial Version and Version 1 of WikiCompilation


Ignore:
Timestamp:
Jul 9, 2014, 3:27:26 PM (10 years ago)
Author:
lfita
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiCompilation

    v1 v1  
     1== Compilation instructions ==
     2
     31.- Extraction of the source code:
     4  $ svn co http://svn.lmd.jussieu.fr/LMDZ_WRF LMDZ_WRF
     5
     61.- Copy (not int the repository folder...) folder 'WRFV3' to the desired spatial resolution (F77 legacy). As example one for 80x90x39
     7  $ cp -R WRFV3 ${WORKDIR}/WRFV3_80x90x39
     8
     91.- Go to the ${WORKDIR} and compile there
     10  $ cd ${WORKDIR}/WRFV3_80x90x39
     11
     121.- Define domain size for LMDZ editing file lmdz/dimensions.h (see documentation for more details)
     13  $ cat lmdz/dimensions.h
     14       INTEGER iim,jjm,llm,ndm,wiim,wjjm,wbdym
     15
     16       PARAMETER (iim= 1, jjm=7031, llm=38,ndm=1,wiim=79,wjjm=89,wbdym=5)
     17
     18    jjm = (dimx-1) * (dimy -1)
     19    llm = (dimz - 1)
     20    wiim = dimx - 1
     21    wjjm = dimy - 1
     22    wbdym = 5 (up to now, mandatory to run WRF with 5 grid points in the sponge zone)
     23
     241. run script 'tools/prepare_compilation.bash' ('-h', for help. copy netCDF libraries and other staff not automatized)
     25  $ ./prepare_compilation.bash [WRF_LMDZsrc] [NETCDFhome] ${WORKDIR}/WRFV3_80x90x39
     26
     271. prepare compilation (ready for 'lmd' machines in serial) if not, edit
     28  1. $ ./configure
     29  1. add pre-compiler flag' -DLMDZ after -DNETCDF (inside configure.wrf)
     30  1. modify 'lmdz/Makefile with that values from the 'configure.wrf'
     311. prepare compilation modifying Registry files (already done, have a look just in case):
     32  1. $ ls -lrta Registry/Registry.EM
     33    Registry/Registry.EM -> Registry.EM.LMDZ
     34  1. $ ls -lrta Registry/registry.dimspec -> registry.dimspec.lmdz
     35
     361. Compile as usual
     37  $ compile em_real >& compile.log
     38
     391. Compile manually a lmdz subroutine (not working, not  knowing why). Example with gfortran serial in lmdz machines
     40  $ cd lmdz
     41  $ gfortran -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4   -fconvert=big-endian -frecord-marker=4 -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops  -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4 -g -O0 -fbacktrace -Wall -fbounds-check -c -L/u/lflmd/bin/gcc_netcdf-4.3.0/lib  -lnetcdf -lnetcdff  -I/u/lflmd/bin/gcc_netcdf-4.3.0/include lmdz_wrf_variables_mod.f90
     42  $ cd ..
     43
     441. run script for second time 'tools/prepare_compilation.bash'
     45  $ ./prepare_compilation.bash [WRF_LMDZsrc] [NETCDFhome] ${WORKDIR}/WRFV3_80x90x39
     46
     471. Recompile as usual
     48  $ compile em_real >& compile.log
     49
     501. Checking compilation (empty outputs)
     51  $ cat -n compile.log | grep Error
     52  $ cat -n compile.log | grep Erreur (just in case you are in a French speaking computer)
     53
     541. Running simulation
     55  1. Run all the steps 'WPS' and 'real.exe' as usual
     56  1. folder 'WRFV3/run' is not completed (no binaries in repository!), thus get a copy of the right WRF version and use the original source
     57  1. Edit and modify 'namelist.input' and all the LMDZ *def files provided in 'run' folder: 'config.def', 'gcm.def', 'physiq.def', 'run.def', 'traceur.def'
     58
     591. You're done, Have fun!