| 1 | Instructions for setting up a cube-sphere integration | 
| 2 | with sea-ice on the cs32 grid.  Is meant to be used as | 
| 3 | a preliminary sanity check for the cs510 configuration. | 
| 4 |  | 
| 5 | ########################################################################## | 
| 6 | # getting the code from anonymous CVS server | 
| 7 |  | 
| 8 | cvs co -P MITgcm_contrib/high_res_cube/README.cs32 | 
| 9 | cvs co -P MITgcm_contrib/high_res_cube/code-mods | 
| 10 | cvs co -P MITgcm_contrib/high_res_cube/input | 
| 11 | cvs co -P MITgcm_contrib/high_res_cube/results | 
| 12 | cvs co -P MITgcm_code | 
| 13 | cvs co -P MITgcm/verification/global_ocean.cs32x15/input | 
| 14 | cvs co -P MITgcm/verification/tutorial_held_suarez_cs/input | 
| 15 |  | 
| 16 | ########################################################################## | 
| 17 | # 32*32*6*15, 1-cpu cube sphere | 
| 18 |  | 
| 19 | cd MITgcm | 
| 20 | mkdir build run | 
| 21 | cd build | 
| 22 | \rm * | 
| 23 | \cp ../../MITgcm_contrib/high_res_cube/code-mods/* . | 
| 24 | \rm CPP_EEOPTIONS.h | 
| 25 | ../tools/genmake2 | 
| 26 | make depend | 
| 27 | make -j 16 | 
| 28 | cd ../run | 
| 29 | \rm * | 
| 30 | \cp ../verification/tutorial_held_suarez_cs/input/grid* . | 
| 31 | \cp ../verification/global_ocean.cs32x15/input/lev_*_cs_15k.bin . | 
| 32 | \cp ../verification/global_ocean.cs32x15/input/bathy_Hmin50.bin . | 
| 33 | \cp ../../MITgcm_contrib/high_res_cube/input/* . | 
| 34 | \cp data.pkg_lr data.pkg | 
| 35 | \cp data.diagnostics_lr data.diagnostics | 
| 36 | ../build/mitgcmuv >& output.txt | 
| 37 |  | 
| 38 | emacs output.txt ../../MITgcm_contrib/high_res_cube/results/output.txt | 
| 39 |  | 
| 40 | to use matlab to look at the output: | 
| 41 | matlab | 
| 42 | for fld={'SIuice','SIvice','SIheff','SIarea','oceQsw', ... | 
| 43 | 'surForcT','oceTAUX','oceTAUY','surForcS'} | 
| 44 | tmp=permute(readbin([fld{1} '.0000000072.data'],[32,6,32]),[1 3 2]); | 
| 45 | cx=[min(tmp(:)) max(tmp(:))]; clf, plot_cube, title(fld{1}), pause | 
| 46 | end | 
| 47 |  | 
| 48 | heff=permute(readbin(['SIheff.0000000072.data'],[32,6,32]),[1 3 2]); | 
| 49 | mask=0*heff; mask(find(heff>.001))=1; | 
| 50 | uice=mask.*permute(readbin(['SIuice.0000000072.data'],[32,6,32]),[1 3 2]); | 
| 51 | vice=mask.*permute(readbin(['SIvice.0000000072.data'],[32,6,32]),[1 3 2]); | 
| 52 | clf | 
| 53 | subplot(221), mypcolor(uice(:,:,3)'); colorbar, title('uice, tile 3') | 
| 54 | subplot(222), mypcolor(uice(:,:,6)'); colorbar, title('uice, tile 6') | 
| 55 | subplot(223), mypcolor(vice(:,:,3)'); colorbar, title('vice, tile 3') | 
| 56 | subplot(224), mypcolor(vice(:,:,6)'); colorbar, title('vice, tile 6') | 
| 57 |  | 
| 58 |  | 
| 59 | ########################################################################## | 
| 60 | # 32*32*6*15, 176-tile, 1-cpu cube sphere experiment | 
| 61 | # example that has 16 blank tiles | 
| 62 |  | 
| 63 | cd ../build | 
| 64 | \rm * | 
| 65 | \cp ../../MITgcm_contrib/high_res_cube/code-mods/* . | 
| 66 | \cp ../utils/exch2/code-mods/s176t_8x4/SIZE.h . | 
| 67 | ex - SIZE.h >> /dev/null <<EOF | 
| 68 | /OLx = | 
| 69 | c | 
| 70 | &           OLx =   5, | 
| 71 | . | 
| 72 | /OLy = | 
| 73 | c | 
| 74 | &           OLy =   5, | 
| 75 | . | 
| 76 | w | 
| 77 | q | 
| 78 | EOF | 
| 79 | \rm CPP_EEOPTIONS.h | 
| 80 | ../tools/genmake2 | 
| 81 | make depend | 
| 82 | make -j | 
| 83 | cd .. | 
| 84 | mv run run_orig | 
| 85 | mkdir run | 
| 86 | cd run | 
| 87 | \cp ../verification/tutorial_held_suarez_cs/input/grid* . | 
| 88 | \cp ../verification/global_ocean.cs32x15/input/lev_*_cs_15k.bin . | 
| 89 | \cp ../verification/global_ocean.cs32x15/input/bathy_Hmin50.bin . | 
| 90 | \cp ../utils/exch2/code-mods/data.exch2.16_blk data.exch2 | 
| 91 | \cp ../../MITgcm_contrib/high_res_cube/input/* . | 
| 92 | ../build/mitgcmuv >& output.txt | 
| 93 |  | 
| 94 | to use matlab to compare to previous solution: | 
| 95 | matlab | 
| 96 | for f={'ETAN','oceTAUY','SIhsnow','surForcS','KPPhbl','PHIBOT', ... | 
| 97 | 'SIuice','surForcT','MXLDEPTH','SIarea','SIvice','UVEL_k1', ... | 
| 98 | 'oceQsw','SIheff','SSS','VVEL_k1','oceTAUX','SIhsalt','SST'} | 
| 99 | t1=readbin(['../run_orig/' f{1} '.0000000072.data'],[32*6 32]); | 
| 100 | t2=readbin([f{1} '.0000000072.data'],[32*6 32]); | 
| 101 | clf, subplot(311), mypcolor(t1'); thincolorbar, title(f{1}) | 
| 102 | subplot(312), mypcolor(t2'); thincolorbar | 
| 103 | subplot(313), mypcolor(t2'-t1'); thincolorbar, pause | 
| 104 | end | 
| 105 | for f={'YG','YC','XG','XC','RAZ','RAW','RAS','RAC','hFacW','hFacS', ... | 
| 106 | 'hFacC','Depth','DYG','DYC','DXG','DXC','AngleSN','AngleCS'} | 
| 107 | t1=readbin(['../run_orig/' f{1} '.data'],[32*6 32]); | 
| 108 | t2=readbin([f{1} '.data'],[32*6 32]); | 
| 109 | clf, subplot(311), mypcolor(t1'); thincolorbar, title(f{1}) | 
| 110 | subplot(312), mypcolor(t2'); thincolorbar | 
| 111 | subplot(313), mypcolor(t2'-t1'); thincolorbar, pause | 
| 112 | end | 
| 113 |  | 
| 114 |  | 
| 115 | ########################################################################## | 
| 116 | # 32*32*6*15, 2-cpu cube sphere on the NAS altices with ifort | 
| 117 |  | 
| 118 | cd MITgcm | 
| 119 | mkdir build run | 
| 120 | cd build | 
| 121 | \rm * | 
| 122 | \cp ../../MITgcm_contrib/high_res_cube/code-mods/* . | 
| 123 | \mv SIZE.h_mpi SIZE.h | 
| 124 | ../tools/genmake2 -of ../../MITgcm_contrib/high_res_cube/code-mods/linux_ia64_ifort+mpi_altix_nas | 
| 125 | make depend | 
| 126 | make -j 8 | 
| 127 | cd ../run | 
| 128 | \rm * | 
| 129 | \cp ../verification/tutorial_held_suarez_cs/input/grid* . | 
| 130 | \cp ../verification/global_ocean.cs32x15/input/lev_*_cs_15k.bin . | 
| 131 | \cp ../verification/global_ocean.cs32x15/input/bathy_Hmin50.bin . | 
| 132 | \cp ../../MITgcm_contrib/high_res_cube/input/* . | 
| 133 | mpirun -np 2 ../build/mitgcmuv | 
| 134 |  | 
| 135 |  | 
| 136 | ########################################################################## | 
| 137 | # 32*32*6*15, 2-cpu cube sphere on the JPL altices with ifort | 
| 138 |  | 
| 139 | cd MITgcm | 
| 140 | mkdir build run | 
| 141 | cd build | 
| 142 | \rm * | 
| 143 | \cp ../../MITgcm_contrib/high_res_cube/code-mods/* . | 
| 144 | \mv SIZE.h_mpi SIZE.h | 
| 145 | ../tools/genmake2 -of ../tools/build_options/linux_ia64_ifort+mpi_altix_jpl | 
| 146 | make depend | 
| 147 | make -j | 
| 148 | cd ../run | 
| 149 | \rm * | 
| 150 | \cp ../verification/tutorial_held_suarez_cs/input/grid* . | 
| 151 | \cp ../verification/global_ocean.cs32x15/input/lev_*_cs_15k.bin . | 
| 152 | \cp ../verification/global_ocean.cs32x15/input/bathy_Hmin50.bin . | 
| 153 | \cp ../../MITgcm_contrib/high_res_cube/input/* . | 
| 154 | mpirun -np 2 ../build/mitgcmuv |