Changes between Version 4 and Version 5 of WikiCompilation
- Timestamp:
- Jul 9, 2014, 3:38:04 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WikiCompilation
v4 v5 7 7 8 8 1.- Copy (not int the repository folder...) folder `WRFV3` to the desired spatial resolution (F77 legacy). As example one for 80x90x39 9 10 11 9 {{{ 10 $ cp -R WRFV3 ${WORKDIR}/WRFV3_80x90x39 11 }}} 12 12 13 13 1.- Go to the `${WORKDIR}` and compile there 14 {{{$ cd ${WORKDIR}/WRFV3_80x90x39}}} 14 {{{ 15 $ cd ${WORKDIR}/WRFV3_80x90x39 16 }}} 15 17 16 18 1.- Define domain size for LMDZ editing file `lmdz/dimensions.h` (see documentation for more details) 17 {{{$ cat lmdz/dimensions.h 18 INTEGER iim,jjm,llm,ndm,wiim,wjjm,wbdym 19 {{{ 20 $ cat lmdz/dimensions.h 21 INTEGER iim,jjm,llm,ndm,wiim,wjjm,wbdym 19 22 20 PARAMETER (iim= 1, jjm=7031, llm=38,ndm=1,wiim=79,wjjm=89,wbdym=5)}}} 23 PARAMETER (iim= 1, jjm=7031, llm=38,ndm=1,wiim=79,wjjm=89,wbdym=5) 24 }}} 21 25 22 26 jjm = (dimx-1) * (dimy -1) [[br]] … … 27 31 28 32 1. run script `tools/prepare_compilation.bash` ('-h', for help. copy netCDF libraries and other staff not automatized) 29 {{{$ ./prepare_compilation.bash [WRF_LMDZsrc] [NETCDFhome] ${WORKDIR}/WRFV3_80x90x39}}} 33 {{{ 34 $ ./prepare_compilation.bash [WRF_LMDZsrc] [NETCDFhome] ${WORKDIR}/WRFV3_80x90x39 35 }}} 30 36 31 37 1. prepare compilation (ready for 'lmd' machines in serial) if not, edit … … 36 42 1. prepare compilation modifying Registry files (already done, have a look just in case): 37 43 1. `$ ls -lrta Registry/Registry.EM` 38 {{{Registry/Registry.EM -> Registry.EM.LMDZ}}} 44 {{{ 45 Registry/Registry.EM -> Registry.EM.LMDZ 46 }}} 39 47 1. $ `ls -lrta Registry/registry.dimspec` 40 {{{Registry/registry.dimspec -> registry.dimspec.lmdz}}} 48 {{{ 49 Registry/registry.dimspec -> registry.dimspec.lmdz 50 }}} 41 51 42 52 1. Compile as usual 43 {{{$ compile em_real >& compile.log}}} 53 {{{ 54 $ compile em_real >& compile.log 55 }}} 44 56 45 57 1. Compile manually a lmdz subroutine (not working, not knowing why). Example with gfortran serial in lmdz machines 46 {{{$ cd lmdz 58 {{{ 59 $ cd lmdz 47 60 $ 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 48 $ cd ..}}} 61 $ cd .. 62 }}} 49 63 50 64 1. run script for second time `tools/prepare_compilation.bash` 51 {{{$ ./prepare_compilation.bash [WRF_LMDZsrc] [NETCDFhome] ${WORKDIR}/WRFV3_80x90x39}}} 65 {{{ 66 $ ./prepare_compilation.bash [WRF_LMDZsrc] [NETCDFhome] ${WORKDIR}/WRFV3_80x90x39 67 }}} 52 68 53 69 1. Recompile as usual 54 {{{$ compile em_real >& compile.log}}} 70 {{{ 71 $ compile em_real >& compile.log 72 }}} 55 73 56 74 1. Checking compilation (empty outputs) 57 75 * `$ cat -n compile.log | grep Error` 58 $ `cat -n compile.log | grep Erreur` (just in case you are in a French speaking computer)76 * `$ cat -n compile.log | grep Erreur` (just in case you are in a French speaking computer) 59 77 60 78 1. Running simulation