source:
branches/2011/dev_r2802_UKMET3_rebuild/NEMOGCM/TOOLS/REBUILD_NEMO/rebuild_nemo
@
8057
Last change on this file since 8057 was 3025, checked in by edblockley, 13 years ago | |
---|---|
|
|
File size: 1.4 KB |
Rev | Line | |
---|---|---|
[2895] | 1 | #!/bin/ksh |
2 | # | |
3 | # Script to run the NEMO rebuild tool to rebuild NEMO | |
4 | # diagnostic or restart files. | |
5 | # | |
6 | # The scripts creates the nam_rebuild namelist based upon | |
7 | # the command line options you give it (see usage below) | |
8 | # | |
9 | # Ed Blockley, September 2011 | |
10 | # | |
11 | # | |
12 | ||
13 | #set -ax | |
14 | usage () | |
15 | { | |
16 | echo | |
17 | echo " NEMO Rebuild" | |
18 | echo " ************" | |
19 | echo | |
[3025] | 20 | echo " usage: ${0##*/} [-t -c] filebase ndomain [rebuild dimensions]" |
[2895] | 21 | echo |
22 | echo " flags: -t num use num threads" | |
[3025] | 23 | echo " -c num split 4D vars into time chuncks of size num" |
[2895] | 24 | echo |
25 | exit 1 | |
26 | } | |
27 | ||
[3025] | 28 | while getopts c:t: opt |
[2895] | 29 | do |
30 | case ${opt} in | |
31 | t) | |
32 | OMP_NUM_THREADS=${OPTARG} | |
33 | ;; | |
[3025] | 34 | c) |
35 | NCHUNKSIZE=${OPTARG} | |
36 | ;; | |
[2895] | 37 | esac |
38 | done | |
39 | shift $(expr ${OPTIND} - 1) | |
40 | ||
41 | if [[ $# < 2 ]] ; then | |
42 | usage | |
43 | fi | |
44 | ||
45 | script_dir=$(dirname $0) | |
46 | ||
47 | file=$1 | |
48 | ndomain=$2 | |
49 | DIM1=$3 | |
50 | DIM2=$4 | |
51 | export OMP_NUM_THREADS=${OMP_NUM_THREADS:-16} | |
52 | ||
53 | if [[ -n ${DIM1} && -n ${DIM2} ]] ; then | |
54 | dim_str=" dims '${DIM1}','${DIM2}'" | |
55 | dims="dims='${DIM1}','${DIM2}'" | |
56 | echo ${dim_str} >> nam_rebuild | |
57 | fi | |
58 | ||
59 | echo "file ${file}, num_domains ${ndomain}, num_threads ${OMP_NUM_THREADS}${dim_str}" | |
60 | ||
61 | cat > nam_rebuild << EOC | |
62 | &nam_rebuild | |
63 | filebase='${file}' | |
64 | ndomain=${ndomain} | |
65 | EOC | |
66 | if [[ -n ${dims} ]] ; then | |
67 | echo ${dims} >> nam_rebuild | |
68 | fi | |
[3025] | 69 | if [[ -n ${NCHUNKSIZE} ]] ; then |
70 | echo " nchunksize=${NCHUNKSIZE}" >> nam_rebuild | |
71 | fi | |
[2895] | 72 | echo "/" >> nam_rebuild |
73 | ||
74 | # run the rebuild code | |
75 | ${script_dir}/rebuild_nemo.exe |
Note: See TracBrowser
for help on using the repository browser.