1 | | |
2 | | == Get the code == |
3 | | |
4 | | {{{#!sh |
5 | | # my login |
6 | | me=smasson |
7 | | # svn path to NEMO trunk |
8 | | svnpath=svn+ssh://${me}@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk |
9 | | # get the revision number of the HEAD |
10 | | rev=$( svn info $svnpath | grep "Last Changed Rev" | sed -e "s/.*: *//" ) |
11 | | # directory name given to the local trunk |
12 | | dirnemo=trunk_test_perf_${rev} |
13 | | # checkout the trunk into $dirnemo |
14 | | svn co $svnpath |
15 | | svn+ssh://smasson@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk $dirnemo |
16 | | # |
17 | | cd $dirnemo |
18 | | # |
19 | | }}} |
20 | | |
21 | | == Change namelist_*ref == |
22 | | |
23 | | {{{#!sh |
24 | | # change cfgs/SHARED/namelist_ref (no IO without XIOS, remove run.stat, meshmask, add timing) |
25 | | sed -e "s/nn_stock *=.*/nn_stock = -1 /" \ |
26 | | -e "s/nn_write *=.*/nn_write = -1 /" \ |
27 | | -e "s/runstat *=.*/runstat = .false. /" \ |
28 | | -e "s/ln_meshmask *=.*/ln_meshmask = .false. /" \ |
29 | | -e "s/ln_timing *=.*/ln_timing = .true. /" \ |
30 | | cfgs/SHARED/namelist_ref > tmp$$ |
31 | | mv tmp$$ cfgs/SHARED/namelist_ref |
32 | | |
33 | | # change cfgs/SHARED/namelist_ice_ref (add an init file) |
34 | | sed -e "s/nn_iceini_file *=.*/nn_iceini_file = 1 /" \ |
35 | | cfgs/SHARED/namelist_ice_ref > tmp$$ |
36 | | mv tmp$$ cfgs/SHARED/namelist_ice_ref |
37 | | |
38 | | # change cfgs/SHARED/namelist_pisces_ref (as in sette) |
39 | | sed -e "s/ln_varpar *=.*/ln_varpar = .false. /" \ |
40 | | -e "s/ln_pisdmp *=.*/ln_pisdmp = .false. /" \ |
41 | | cfgs/SHARED/namelist_pisces_ref > tmp$$ |
42 | | mv tmp$$ cfgs/SHARED/namelist_pisces_ref |
43 | | }}} |
44 | | |
45 | | == Change ORCA2_ICE_PISCES namelist_*cfg and file_def_nemo-*.xml == |
46 | | |
47 | | {{{#!sh |
48 | | # change namelist_cfg (suppress icebergs!!) |
49 | | ff=cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg |
50 | | sed -e "s/ln_icebergs *=.*/ln_icebergs = .false. /" $ff > tmp$$ |
51 | | mv tmp$$ $ff |
52 | | |
53 | | # change namelist_top_cfg (as in sette) |
54 | | ff=cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_top_cfg |
55 | | sed -e "s/ln_trcdta *=.*/ln_trcdta = .false. /" $ff > tmp$$ |
56 | | mv tmp$$ $ff |
57 | | |
58 | | # change namelist_pisces_cfg (as in sette) |
59 | | ff=cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_pisces_cfg |
60 | | sed -e "s/ln_ironsed *=.*/ln_ironsed = .false. /" \ |
61 | | -e "s/ln_ironice *=.*/ln_ironice = .false. /" \ |
62 | | -e "s/ln_hydrofe *=.*/ln_hydrofe = .false. /" \ |
63 | | $ff > tmp$$ |
64 | | mv tmp$$ $ff |
65 | | |
66 | | # change file_def_nemo-oce.xml (suppress diag) |
67 | | ff=cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-oce.xml |
68 | | sed -e '/file_group id="1m"/,/<\/file_group>/d' $ff > tmp$$ |
69 | | mv tmp$$ $ff |
70 | | |
71 | | # change file_def_nemo-ice.xml (suppress diag) |
72 | | ff=cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-ice.xml |
73 | | sed -e '/name_suffix="_SBC_scalar"/,/<\/file>/d' $ff > tmp$$ |
74 | | mv tmp$$ $ff |
75 | | |
76 | | # change file_def_nemo-pisces.xml (suppress diag) |
77 | | ff=cfgs/ORCA2_ICE_PISCES/EXPREF/file_def_nemo-pisces.xml |
78 | | sed -e '/file_group id="1y"/,/<\/file_group>/d' $ff > tmp$$ |
79 | | mv tmp$$ $ff |
80 | | }}} |
81 | | |
82 | | == Compile the configurations code == |
83 | | |
84 | | I propose to start with ORCA2, ORCA2_ICE, ORCA2_ICE_PISCES. [[BR]] |
85 | | In each case, we do one run with XIOS attached (XIOSAT) an one run without XIOS (NOXIOS) |
86 | | |
87 | | {{{#!sh |
88 | | machine=... # for example X64_IRENE, X64_JEANZAY |
89 | | # ORCA2_ICE_PISCES |
90 | | ./makenemo -m $machine -n ORCA2_ICE_PISCES_XIOSAT -r ORCA2_ICE_PISCES -j 8 |
91 | | ./makenemo -m $machine -n ORCA2_ICE_PISCES_NOXIOS -r ORCA2_ICE_PISCES -j 8 del_key "key_iomput" |
92 | | # ORCA2_ICE |
93 | | ./makenemo -m $machine -n ORCA2_ICE_XIOSAT -r ORCA2_ICE_PISCES -j 8 del_key "key_top" |
94 | | ./makenemo -m $machine -n ORCA2_ICE_NOXIOS -r ORCA2_ICE_PISCES -j 8 del_key "key_top key_iomput" |
95 | | # ORCA2 |
96 | | ./makenemo -m $machine -n ORCA2_XIOSAT -r ORCA2_ICE_PISCES -j 8 del_key "key_top key_si3" |
97 | | ./makenemo -m $machine -n ORCA2_NOXIOS -r ORCA2_ICE_PISCES -j 8 del_key "key_top key_si3 key_iomput" |
98 | | }}} |
99 | | |
100 | | == Cleaning of 2 context_nemo.xml files == |
101 | | |
102 | | {{{#!sh |
103 | | ff=cfgs/ORCA2_ICE_XIOSAT/EXP00/context_nemo.xml |
104 | | sed -e '/pisces/d' $ff > tmp$$ |
105 | | mv tmp$$ $ff |
106 | | |
107 | | ff=cfgs/ORCA2_XIOSAT/EXP00/context_nemo.xml |
108 | | sed -e '/_pisces/d' -e '/_ice/d' $ff > tmp$$ |
109 | | mv tmp$$ $ff |
110 | | }}} |
111 | | |
112 | | == link the input files files == |
113 | | |
114 | | {{{#!sh |
115 | | # define path to ORCA2_ICE_v4.x directory. For example: |
116 | | #dirdata=/ccc/scratch/cont005/ra0542/massons/input_nemo_v4.0/ORCA2_ICE_v4.x |
117 | | #dirdata=/gpfsscratch/rech/fqx/reee217/input_nemo_v4.0/ORCA2_ICE_v4.x |
118 | | dirdata=... |
119 | | |
120 | | # add the new Ice_initialization file to this directory |
121 | | mv Ice_initialization.nc $dirdata |
122 | | |
123 | | # link the input files |
124 | | for dd in cfgs/ORCA2_*/EXP00 |
125 | | do |
126 | | cd $dd |
127 | | ln -sf $dirdata/* . |
128 | | cd - |
129 | | done |
130 | | }}} |
131 | | |
132 | | == Run! == |
133 | | |
134 | | {{{#!sh |
135 | | for dd in cfgs/ORCA2_*/EXP00 |
136 | | do |
137 | | cp jobaps.sh $dd/. # get jobaps.sh from the attached files |
138 | | cd $dd |
139 | | qs jobaps.sh # define as alias is not already done... |
140 | | cd - |
141 | | done |
142 | | }}} |
143 | | |
144 | | == Check the runs did 5840 time steps == |
145 | | |
146 | | {{{#!sh |
147 | | for ff in cfgs/ORCA2_*/EXP00/time.step |
148 | | do |
149 | | echo "$ff: $( cat $ff)" |
150 | | done |
151 | | }}} |
152 | | |
153 | | == Create aps reports == |
154 | | |
155 | | {{{#!sh |
156 | | for dd in cfgs/ORCA2_*/EXP00 |
157 | | do |
158 | | cd $dd |
159 | | aps-report aps_result_$( date +%Y%m%d ) |
160 | | cd - |
161 | | done |
162 | | }}} |
163 | | |
164 | | |
165 | | |
166 | | |
| 1 | * [./do_trunk_perfs How to do the tests] |