source: lmdz_wrf/trunk/README @ 1776

Last change on this file since 1776 was 13, checked in by lfita, 10 years ago

Moving file to 'trunk/' folder

File size: 3.2 KB
Line 
1**** Coupling WRF and LMDZ
2* L.Fita, Laboratoire de Meteorologie Dynamique, CNRS, UPMC-Jussieu, Paris, FRANCE
3* July 2014
4
5* More information in:
6*   http://www.lmd.jussieu.fr/~lflmd/WRF_LMDZ/index.html
7*   http://web.lmd.jussieu.fr/trac-LMDZ_WRF
8
9*** Compilation instructions ***
10
111.- Extraction of the source code:
12  $ svn co http://svn.lmd.jussieu.fr/LMDZ_WRF LMDZ_WRF
13
142.- Copy (not int the repository folder...) folder 'WRFV3' to the desired spatial resolution (F77 legacy). As example one for 80x90x39
15  $ cp -R WRFV3 ${WORKDIR}/WRFV3_80x90x39
16
173.- Go to the ${WORKDIR} and compile there
18  $ cd ${WORKDIR}/WRFV3_80x90x39
19
204.- Define domain size for LMDZ editing file lmdz/dimensions.h (see documentation for more details)
21  $ cat lmdz/dimensions.h
22       INTEGER iim,jjm,llm,ndm,wiim,wjjm,wbdym
23
24       PARAMETER (iim= 1, jjm=7031, llm=38,ndm=1,wiim=79,wjjm=89,wbdym=5)
25
26    jjm = (dimx-1) * (dimy -1)
27    llm = (dimz - 1)
28    wiim = dimx - 1
29    wjjm = dimy - 1
30    wbdym = 5 (up to now, mandatory to run WRF with 5 grid points in the sponge zone)
31
325.- run script 'tools/prepare_compilation.bash' ('-h', for help. copy netCDF libraries and other staff not automatized)
33  $ ./prepare_compilation.bash [WRF_LMDZsrc] [NETCDFhome] ${WORKDIR}/WRFV3_80x90x39
34
356.1- prepare compilation (ready for 'lmd' machines in serial) if not, edit
36  6.1.a: $ ./configure
37  6.1.b: add pre-compiler flag' -DLMDZ after -DNETCDF (inside configure.wrf)
38  6.1.c: modify 'lmdz/Makefile with that values from the 'configure.wrf'
396.2- prepare compilation modifying Registry files (already done, have a look just in case):
40  6.2.a $ ls -lrta Registry/Registry.EM
41    Registry/Registry.EM -> Registry.EM.LMDZ
42  6.2.b $ ls -lrta Registry/registry.dimspec -> registry.dimspec.lmdz
43
447.- Compile as usual
45  $ compile em_real >& compile.log
46
478.- Compile manually a lmdz subroutine (not working, not  knowing why). Example with gfortran serial in lmdz machines
48  $ cd lmdz
49  $ 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
50  $ cd ..
51
529.- run script for second time 'tools/prepare_compilation.bash'
53  $ ./prepare_compilation.bash [WRF_LMDZsrc] [NETCDFhome] ${WORKDIR}/WRFV3_80x90x39
54
5510.- Recompile as usual
56  $ compile em_real >& compile.log
57
5811.- Checking compilation (empty outputs)
59  $ cat -n compile.log | grep Error
60  $ cat -n compile.log | grep Erreur (just in case you are in a French speaking computer)
61
6212.- Running simulation
63  11.a: Run all the steps 'WPS' and 'real.exe' as usual
64  11.b: folder 'WRFV3/run' is not completed (no binaries in repository!), thus get a copy of the right WRF version and use the original source
65  11.c: 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'
66
6712.- You're done, Have fun!
Note: See TracBrowser for help on using the repository browser.