/[MITgcm]/MITgcm_contrib/high_res_cube/README_ice
ViewVC logotype

Diff of /MITgcm_contrib/high_res_cube/README_ice

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.10 by dimitri, Sun Dec 14 02:59:06 2003 UTC revision 1.64 by dimitri, Tue Aug 8 13:45:43 2006 UTC
# Line 1  Line 1 
1  Instructions for setting up a cube-sphere integration with sea-ice.  Instructions for setting up a cube-sphere integration with sea-ice.
2  Date last tested: December 11, 2003.  Date last updated: August 8, 2006
3    216-CPU code and input used for integrating cube37
4    using "June 10, 2006" MITgcm code.
5    
6    
7  ##########################################################################  ##########################################################################
8  ##########################################################################  ##########################################################################
9  # 32*32*6*15, 1-cpu cube sphere  # getting the code from anonymous CVS server
10    
11    cvs co MITgcm_contrib/high_res_cube/README_ice
12    cvs co MITgcm_contrib/high_res_cube/code-mods
13    cvs co MITgcm_contrib/high_res_cube/input
14    cvs co MITgcm_contrib/high_res_cube/results
15    cvs co MITgcm_code
16    cvs co MITgcm/verification/global_ocean.cs32x15
17    
18    
19  setenv CVSROOT :pserver:cvsanon@mitgcm.org:/u/u0/gcmpack  ##########################################################################
20  cvs login ( CVS password: cvsanon )  ##########################################################################
21  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/README_ice  # 32*32*6*15, 1-cpu cube sphere
 cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/code-mods  
 cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/matlab-grid-converter  
 cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/input  
 cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/results  
 cvs co -r checkpoint52d_pre MITgcm_code  
 cvs co -r checkpoint52d_pre MITgcm/verification/global_ocean.cs32x15  
22    
23  cd MITgcm/verification/global_ocean.cs32x15/code  cd MITgcm/verification/global_ocean.cs32x15/code
24  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
25  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s12t_16x32/* .  \cp ../../../utils/exch2/code-mods/s12t_16x32/* .
26  \rm mdsio_readfield.F  cd ../build
27    \rm *
 cd ..  
 mkdir build  
 cd build  
28  ../../../tools/genmake2 -mods=../code  ../../../tools/genmake2 -mods=../code
29  make depend  make depend
30  make  make
   
31  cd ..  cd ..
32  mkdir run  mkdir run
33  cd run  cd run
34    \rm *
35  \cp ../input/* .  \cp ../input/* .
 \cp ../../../../MITgcm_contrib/high_res_cube/matlab-grid-converter/tile00* .  
36  \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
37  ../build/mitgcmuv >& output.txt  ../build/mitgcmuv >& output.txt
38    
# Line 41  comparison output is in: Line 41  comparison output is in:
41    
42  to use matlab to look at the output  to use matlab to look at the output
43  matlab  matlab
44  for fld={'Eta','VICE','UICE','HEFF','AREA','Qsw','Qnet','FV','FU','EmPmR'}  
45    for fld={'VICEtave','UICEtave','HEFFtave','AREAtave','QSWtave', ...
46             'QNETtave','FVtave','FUtave','EmPmRtave'}
47      tmp=permute(readbin([fld{1} '.0000000020.data'],[32,6,32]),[1 3 2]);      tmp=permute(readbin([fld{1} '.0000000020.data'],[32,6,32]),[1 3 2]);
48      cx=[min(tmp(:)) max(tmp(:))]; clf, plot_cube, title(fld{1}), pause      cx=[min(tmp(:)) max(tmp(:))]; clf, plot_cube, title(fld{1}), pause
49  end  end
50    
51    heff=permute(readbin(['HEFFtave.0000000020.data'],[32,6,32]),[1 3 2]);
52    mask=0*heff; mask(find(heff>.001))=1;
53    uice=mask.*permute(readbin(['UICEtave.0000000020.data'],[32,6,32]),[1 3 2]);
54    vice=mask.*permute(readbin(['VICEtave.0000000020.data'],[32,6,32]),[1 3 2]);
55    clf
56    subplot(221), mypcolor(uice(:,:,3)'); colorbar, title('uice, tile 3')
57    subplot(222), mypcolor(uice(:,:,6)'); colorbar, title('uice, tile 6')
58    subplot(223), mypcolor(vice(:,:,3)'); colorbar, title('vice, tile 3')
59    subplot(224), mypcolor(vice(:,:,6)'); colorbar, title('vice, tile 6')
60    
61    
62  ##########################################################################  ##########################################################################
63  ##########################################################################  ##########################################################################
64  # 32*32*6*15, 2-cpu cube sphere on the altices with efc  # 32*32*6*15, 17-tile, 1-cpu cube sphere experiment
65    
66    cd MITgcm/verification/global_ocean.cs32x15/code
67    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
68    \cp ../code_alt/code.176t_8x4/* .
69    cd ../build
70    \rm *
71    ../../../tools/genmake2 -mods=../code
72    make depend
73    make
74    cd ..
75    mkdir run
76    cd run
77    \rm *
78    \cp ../input/* .
79    \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
80    ../build/mitgcmuv >& output.txt
81    
82  setenv CVSROOT :pserver:cvsanon@mitgcm.org:/u/u0/gcmpack  
83  cvs login ( CVS password: cvsanon )  ##########################################################################
84  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/README_ice  ##########################################################################
85  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/code-mods  # 32*32*6*15, 2-cpu cube sphere on the altices with ifort
 cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/matlab-grid-converter  
 cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/input  
 cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/results  
 cvs co -r checkpoint52d_pre MITgcm_code  
 cvs co -r checkpoint52d_pre MITgcm/verification/global_ocean.cs32x15  
86    
87  cd MITgcm/verification/global_ocean.cs32x15/code  cd MITgcm/verification/global_ocean.cs32x15/code
88  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
89  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s12t_16x32/* .  \cp ../../../utils/exch2/code-mods/s12t_16x32/* .
90  \cp SIZE.h_mpi SIZE.h  \cp SIZE.h_mpi SIZE.h
 \cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h  
 \rm mdsio_readfield.F  
91    
92  cd ..  cd ../build
93  mkdir build  \rm *
94  cd build  ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi  
95  make depend  make depend
96  make  make -j
97    
98  cd ..  cd ..
99  mkdir run  mkdir run
100  cd run  cd run
101    \rm *
102  \cp ../input/* .  \cp ../input/* .
 \cp ../../../../MITgcm_contrib/high_res_cube/matlab-grid-converter/tile00* .  
103  \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
104  mpirun -np 2 ../build/mitgcmuv  mpirun -np 2 ../build/mitgcmuv
105    
106    
107  ##########################################################################  ##########################################################################
108  ##########################################################################  ##########################################################################
109  # 510*510*6*50, 54-cpu cube sphere on the altices with efc  # 510*510*6*50, 54-tile, 54-cpu cube sphere on the altices with efc
110    # starting with pickup file from end of 1992
111    # requires input files in sudirectories run_template and ncep_rgau
112    
113    cd MITgcm/verification/global_ocean.cs32x15/code
114    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
115    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s54t_170x170/* .
116    \cp packages.conf_hr packages.conf
117    
118    cd ../build
119    \rm *
120    ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi_altix
121    make depend
122    make -j
123    
124    cd ..
125    mkdir run
126    cd run
127    \rm *
128    \cp ../input/* .
129    \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
130    qsub job_altix92_54t
131    
132  setenv CVSROOT :pserver:cvsanon@mitgcm.org:/u/u0/gcmpack  
133  cvs login ( CVS password: cvsanon )  ##########################################################################
134  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/README_ice  ##########################################################################
135  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/code-mods  # 510*510*6*50, 216-cpu cube sphere on altix with ifort and pkg/diagnostics
136  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/matlab-grid-converter  # requires input files in sudirectories run_template and ncep_rgau
137  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/input  # these can be obained from lou:/u/menemenl/cube
 cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/results  
 cvs co -r checkpoint52d_pre MITgcm_code  
 cvs co -r checkpoint52d_pre MITgcm/verification/global_ocean.cs32x15  
138    
139  cd MITgcm/verification/global_ocean.cs32x15/code  cd MITgcm/verification/global_ocean.cs32x15/code
140  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
141  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* .  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* .
142  \cp SIZE.h_54 SIZE.h  \cp SIZE.h_216 SIZE.h
143  \cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h  \cp packages.conf_hr packages.conf
144  \rm mdsio_readfield.F  
145    cd ../build
146    \rm *
147    ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas
148    make depend
149    make -j
150    
151  cd ..  cd ..
152  mkdir build  mkdir run
153  cd build  cd run
154  ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi  \rm *
155    \cp ../input/* .
156    \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
157    ln -sf ../../../../run_template/* .
158    \rm pickup* data.pkg data.seaice data.exf_clim data.exf data
159    \rm *192_94* *cs32* *.m lev* tren* job_c* job_altix150 job_altix92_54t
160    ln -sf ../../../../run_template/pickup.0000000216.cube27 pickup.0000000216
161    ln -sf  ../../../../run_template/pickup_seaice.0000000216.cube27 pickup_seaice.0000000216
162    \cp ../build/mitgcmuv .
163    qsub job_altix
164    
165    
166    ##########################################################################
167    ##########################################################################
168    # 510*510*6*50, 1500-tile, 150-cpu, excludes land
169    # uses s1500t_17x51 configuration
170    
171    cd MITgcm/verification/global_ocean.cs32x15/code
172    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
173    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* .
174    \cp SIZE.h_150 SIZE.h
175    \cp packages.conf_hr packages.conf
176    
177    cd ../build
178    \rm *
179    ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas
180  make depend  make depend
181  make  make -j
182    
183  cd ..  cd ..
184  mkdir run  mkdir run
185  cd run  cd run
186    \rm *
187  \cp ../input/* .  \cp ../input/* .
188  \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
189  \cp data_hr data  ln -sf ../../../../run_template/* .
190  \ln -sf ../../../../run_template/tile00* .  \rm pickup*
191  \ln -sf ../../../../run_template/LEV* .  ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216
192  \ln -sf ../../../../run_template/BATHY_18360x85_filled.bin .  ln -sf  ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216
193  qsub job_orion  \cp ../build/mitgcmuv mitgcmuv150
194    qsub job_altix150
195    
196    
197    
198    
199  ##########################################################################  ##########################################################################
200  ##########################################################################  ##########################################################################
201  # 510*510*6*50, 216-cpu cube sphere on the altices with efc  # 510*510*6*50, 1500-tile, 375-cpu, excludes land
202    # uses s1500t_17x51 configuration
203    # example for running on c17-c20 using arrayd
204    
205  setenv CVSROOT :pserver:cvsanon@mitgcm.org:/u/u0/gcmpack  cd MITgcm/verification/global_ocean.cs32x15/code
206  cvs login ( CVS password: cvsanon )  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
207  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/README_ice  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* .
208  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/code-mods  \cp SIZE.h_375 SIZE.h
209  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/matlab-grid-converter  \cp packages.conf_hr packages.conf
210  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/input  
211  cvs co -r checkpoint52d_pre MITgcm_contrib/high_res_cube/results  cd ../build
212  cvs co -r checkpoint52d_pre MITgcm_code  \rm *
213  cvs co -r checkpoint52d_pre MITgcm/verification/global_ocean.cs32x15  ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas
214    make depend
215    make -j
216    
217    cd ..
218    mkdir run
219    cd run
220    \rm *
221    \cp ../input/* .
222    \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
223    ln -sf ../../../../run_template/* .
224    \rm pickup*
225    ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216
226    ln -sf  ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216
227    \cp ../build/mitgcmuv .
228    job_c20_375cpu < /dev/null >&! output.run &
229    
230    
231    
232    
233    
234    
235    
236    
237    
238    
239    
240    
241    ##########################################################################
242    ##########################################################################
243    # 510*510*6*50, 1500-tile, 375-cpu, excludes land
244    # uses s1500t_17x51 configuration
245    # example for running on c17-c20 using arrayd
246    
247    cd MITgcm/verification/global_ocean.cs32x15/code
248    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
249    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* .
250    \cp SIZE.h_375 SIZE.h
251    \cp packages.conf_hr packages.conf
252    
253    cd ../build
254    \rm *
255    ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas
256    make depend
257    make -j
258    
259    cd ..
260    mkdir run
261    cd run
262    \rm *
263    \cp ../input/* .
264    \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
265    ln -sf ../../../../run_template/* .
266    \rm pickup*
267    ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216
268    ln -sf  ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216
269    \cp ../build/mitgcmuv .
270    job_c20_375cpu < /dev/null >&! output.run &
271    
272    
273    ##########################################################################
274    ##########################################################################
275    # 510*510*6*50, 1500-tile, 500-cpu, excludes land
276    # uses s1500t_17x51 configuration
277    # example for running on c17-c20 using arrayd
278    
279    cd MITgcm/verification/global_ocean.cs32x15/code
280    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
281    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* .
282    \cp SIZE.h_500 SIZE.h
283    \cp packages.conf_hr packages.conf
284    
285    cd ../build
286    \rm *
287    ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas
288    make depend
289    make -j
290    
291    cd ..
292    mkdir run
293    cd run
294    \rm *
295    \cp ../input/* .
296    \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
297    ln -sf ../../../../run_template/* .
298    \rm pickup*
299    ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216
300    ln -sf  ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216
301    \cp ../build/mitgcmuv .
302    job_c19_500cpu < /dev/null >&! output.run &
303    
304    
305    
306    
307    
308    ##########################################################################
309    ##########################################################################
310    # 510*510*6*50, 216-cpu cube sphere on cosmos
311    
312  cd MITgcm/verification/global_ocean.cs32x15/code  cd MITgcm/verification/global_ocean.cs32x15/code
313  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
314  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* .  \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* .
315  \cp SIZE.h_216 SIZE.h  \cp SIZE.h_216 SIZE.h
316  \cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h  \cp packages.conf_hr packages.conf
317  \rm mdsio_readfield.F  
318    module unload latest_intel80
319    module unload mpich-gm-intel80
320    module load latest_intel81
321    module load mpich-gm-intel81
322    
323    cd ../build
324    \rm *
325    ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia32_ifort+mpi_cosmos
326    make depend
327    make -j
328    
329  cd ..  cd ..
330  mkdir build  mkdir run
331  cd build  cd run
332  ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi  \rm *
333    \cp ../input/* .
334    \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
335    ln -sf ../../../../run_template/* .
336    \rm pickup*
337    ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216
338    ln -sf  ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216
339    \cp ../build/mitgcmuv .
340    bsub < job_cosmos
341    
342    
343    
344    
345    
346    
347    
348    
349    
350    
351    
352    
353    
354    
355    
356    
357    
358    
359    
360    
361    ##########################################################################
362    ##########################################################################
363    # 510*510*6*50, 216-tile, 54-cpu cube sphere on the altices with efc
364    # requires input files in sudirectories run_template and ncep_rgau
365    # presently residing under orion:/tmp1/dmenem/cube
366    
367    cd MITgcm/verification/global_ocean.cs32x15/code
368    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
369    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* .
370    \cp SIZE.h_54 SIZE.h
371    \cp packages.conf_hr packages.conf
372    
373    cd ../build
374    \rm *
375    ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi_altix
376  make depend  make depend
377  make  make -j
378    
379    cd ..
380    mkdir run
381    cd run
382    \rm *
383    \cp ../input/* .
384    \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
385    qsub job_orion
386    
387    
388    ##########################################################################
389    ##########################################################################
390    # 510*510*6*50, 205-tile, 41-cpu cube sphere on the altices with efc
391    # requires input files in sudirectories run_template and ncep_rgau
392    # presently residing under orion:/tmp1/dmenem/cube
393    
394    cd MITgcm/verification/global_ocean.cs32x15/code
395    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
396    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s205t_85x85/* .
397    \cp SIZE.h_41 SIZE.h
398    \cp packages.conf_hr packages.conf
399    
400    cd ../build
401    \rm *
402    ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi_altix
403    make depend
404    make -j
405    
406    cd ..
407    mkdir run
408    cd run
409    \rm *
410    \cp ../input/* .
411    \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
412    qsub job_orion41
413    
414    
415    ##########################################################################
416    ##########################################################################
417    # 510*510*6*50, 1500-tile, 50-cpu cube sphere on the altices with efc
418    # requires input files in sudirectories run_template and ncep_rgau
419    # presently residing under orion:/tmp1/dmenem/cube
420    
421    cd MITgcm/verification/global_ocean.cs32x15/code
422    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .
423    \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* .
424    \cp SIZE.h_50 SIZE.h
425    \cp packages.conf_hr packages.conf
426    
427    cd ../build
428    \rm *
429    ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi_altix
430    make depend
431    make -j
432    
433  cd ..  cd ..
434  mkdir run  mkdir run
435  cd run  cd run
436    \rm *
437  \cp ../input/* .  \cp ../input/* .
438  \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  \cp ../../../../MITgcm_contrib/high_res_cube/input/* .
 \cp data_hr data  
 \cp data.pkg_hr data.pkg  
 \ln -sf ../../../../run_template/tile00* .  
 \ln -sf ../../../../run_template/LEV* .  
 \ln -sf ../../../../run_template/BATHY_18360x85_filled.bin .  
439  qsub job_orion  qsub job_orion

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.64

  ViewVC Help
Powered by ViewVC 1.1.22