Version 1 (modified by 10 years ago) (diff) | ,
---|
Compilation instructions
1.- Extraction of the source code:
$ svn co http://svn.lmd.jussieu.fr/LMDZ_WRF LMDZ_WRF
1.- Copy (not int the repository folder...) folder 'WRFV3' to the desired spatial resolution (F77 legacy). As example one for 80x90x39
$ cp -R WRFV3 ${WORKDIR}/WRFV3_80x90x39
1.- Go to the ${WORKDIR} and compile there
$ cd ${WORKDIR}/WRFV3_80x90x39
1.- Define domain size for LMDZ editing file lmdz/dimensions.h (see documentation for more details)
$ cat lmdz/dimensions.h
INTEGER iim,jjm,llm,ndm,wiim,wjjm,wbdym
PARAMETER (iim= 1, jjm=7031, llm=38,ndm=1,wiim=79,wjjm=89,wbdym=5)
jjm = (dimx-1) * (dimy -1) llm = (dimz - 1) wiim = dimx - 1 wjjm = dimy - 1 wbdym = 5 (up to now, mandatory to run WRF with 5 grid points in the sponge zone)
- run script 'tools/prepare_compilation.bash' ('-h', for help. copy netCDF libraries and other staff not automatized) $ ./prepare_compilation.bash [WRF_LMDZsrc] [NETCDFhome] ${WORKDIR}/WRFV3_80x90x39
- prepare compilation (ready for 'lmd' machines in serial) if not, edit
- $ ./configure
- add pre-compiler flag' -DLMDZ after -DNETCDF (inside configure.wrf)
- modify 'lmdz/Makefile with that values from the 'configure.wrf'
- prepare compilation modifying Registry files (already done, have a look just in case):
- $ ls -lrta Registry/Registry?.EM Registry/Registry?.EM -> Registry.EM.LMDZ
- $ ls -lrta Registry/registry.dimspec -> registry.dimspec.lmdz
- Compile as usual $ compile em_real >& compile.log
- Compile manually a lmdz subroutine (not working, not knowing why). Example with gfortran serial in lmdz machines $ cd lmdz $ 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 $ cd ..
- run script for second time 'tools/prepare_compilation.bash' $ ./prepare_compilation.bash [WRF_LMDZsrc] [NETCDFhome] ${WORKDIR}/WRFV3_80x90x39
- Recompile as usual $ compile em_real >& compile.log
- Checking compilation (empty outputs) $ cat -n compile.log | grep Error $ cat -n compile.log | grep Erreur (just in case you are in a French speaking computer)
- Running simulation
- Run all the steps 'WPS' and 'real.exe' as usual
- folder 'WRFV3/run' is not completed (no binaries in repository!), thus get a copy of the right WRF version and use the original source
- 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'
- You're done, Have fun!
Attachments (2)
- WRFV3.3_run.tar.gz (21.9 MB) - added by 10 years ago.
-
documentation_LMDZ+WRFmeas.pdf (129.4 KB) - added by 10 years ago.
Document to run LMDZ+WRF with the WRFmeas modifications