/[MITgcm]/MITgcm_contrib/ocean_inversion_project/README
ViewVC logotype

Contents of /MITgcm_contrib/ocean_inversion_project/README

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


Revision 1.29 - (show annotations) (download)
Wed May 4 23:47:17 2005 UTC (20 years, 2 months ago) by dimitri
Branch: MAIN
Changes since 1.28: +1 -1 lines
changed instruction for compiling on columbia

1 Ocean Inversion Project
2 =======================
3
4 Instructions for using pkg/ptracers to compute tracer
5 Green's functions for Gruber's ocean inversion project
6 (see quercus.igpp.ucla.edu/OceanInversion/ for details).
7
8 Preprocessed OceanInversion input files are available
9 under directories region_mask, takahashi, and
10 atm_co2 in this package. All netcdf input files
11 have been converted to binary format in order to avoid
12 having to link netcdf library with MITgcm code. See
13 respective README files in each directory for details.
14
15
16 Notes and problems:
17 ===================
18
19 there is problem generating ECCO_MaskAreaBathy.nc on columbia
20 works OK on nireas
21
22 variable global_mean_conc in 0D output from mk_output.F is
23 screwed up
24
25
26
27 ===============================================
28 First check that pkg/ptracers works OK by using
29 salinity initial and boundary conditions
30 ===============================================
31
32 1 ===> get MITgcm code from cvs repository
33
34 cvs co -r checkpoint51n_branch MITgcm_code
35 cvs co -r checkpoint51n_branch MITgcm/verification/testreport
36 cvs co -r checkpoint51n_branch MITgcm/verification/global_with_exf
37
38 2 ===> put MITgcm_contrib/ocean_inversion_project in MITgcm directory
39
40 cd MITgcm
41 cvs co -d ocean_inversion_project MITgcm_contrib/ocean_inversion_project
42
43 3 ===> compile and link
44
45 mkdir bin exe
46 cd bin
47 \cp ../verification/global_with_exf/code/* .
48 \cp ../ocean_inversion_project/code/* .
49 \rm ptracers_*.F PTRACERS_OPTIONS.h
50 ../tools/genmake2
51 (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi )
52 (on columbia: ../tools/genmake2 -of linux_ia64_efc+mpi_altix )
53 make depend
54 make -j 16
55
56 4 ===> execute
57
58 cd ../exe
59 \cp ../verification/global_with_exf/input/eedata .
60 \cp ../verification/global_with_exf/input/data.* .
61 \cp ../verification/global_with_exf/input/POLY3.COEFFS .
62 \ln -sf ../verification/global_with_exf/input/*.bin .
63 \cp ../ocean_inversion_project/input/* .
64 \cp data.test data
65 \cp data.ptracers.test data.ptracers
66 ./mitgcmuv >! output.txt
67
68 5 ===> check that PTRACER output and salinity output are identical.
69
70 diff PTRACER01.0000000020.001.001.data S.0000000020.001.001.data
71 diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data
72 diff PTRtave30.0000000020.001.001.data Stave.0000000020.001.001.data
73 diff PTRtave30.0000000020.001.001.data Stave.0000000020.001.001.data
74
75
76 ==========================================================
77 MPI instructions for carrying out a 3000-year quasi-stationary
78 integration using the global_ocean.90x40x15 configuration.
79 ==========================================================
80
81 cd MITgcm/exe
82 rm *
83 cd ../bin
84 rm *
85 cp ../verification/global_with_exf/code/* .
86 cp ../ocean_inversion_project/code/* .
87 rm PTRACERS_OPTIONS.h
88 cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
89 cp SIZE.h_mpi SIZE.h
90 ../tools/genmake2
91 (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
92 make depend
93 make
94 cd ../exe
95 cp ../verification/global_with_exf/input/eedata .
96 cp ../verification/global_with_exf/input/data.* .
97 cp ../verification/global_with_exf/input/POLY3.COEFFS .
98 ln -sf ../verification/global_with_exf/input/*.bin .
99 cp ../ocean_inversion_project/input/* .
100 ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
101 ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
102 cp data.stationary.1 data
103 mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
104 (on orion: qsub job.orion)
105
106
107 ==========================================================
108 MPI instructions for carrying out time-dependent, 1765-2005,
109 anthropogenic carbon perturbation tracer experiments using
110 the global_ocean.90x40x15 configuration.
111 ==========================================================
112
113 cd MITgcm/exe
114 rm *
115 cd ../bin
116 rm *
117 cp ../verification/global_with_exf/code/* .
118 cp ../ocean_inversion_project/code/* .
119 cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
120 cp SIZE.h_mpi SIZE.h
121 ../tools/genmake2
122 (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
123 make depend
124 make
125 cd ../exe
126 cp ../verification/global_with_exf/input/eedata .
127 cp ../verification/global_with_exf/input/data.* .
128 cp ../verification/global_with_exf/input/POLY3.COEFFS .
129 ln -sf ../verification/global_with_exf/input/*.bin .
130 cp ../ocean_inversion_project/input/* .
131 cp data.1765-2005 data
132 ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
133 ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
134 ln -sf ../ocean_inversion_project/atm_co2/splco2_cis92a.dat .
135 mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
136 (on orion: qsub job.orion.td)
137
138
139 ==========================================================
140 Instructions for carrying out time-dependent, 1765-2005,
141 anthropogenic carbon perturbation tracer experiments using
142 global_ocean.90x40x15 configuration and netcdf output.
143 This assumes that the appropriate libnetcdf.a exists
144 and that it be specified in the genmake2 option file.
145 ==========================================================
146
147 cd MITgcm/exe
148 rm *
149 cd ../bin
150 rm *
151 cp ../verification/global_with_exf/code/* .
152 cp ../ocean_inversion_project/code/* .
153 cp PTRACERS_OPTIONS.h.netcdf PTRACERS_OPTIONS.h
154 cp ../ocean_inversion_project/write_netCDF/* .
155 \rm mk_output.F
156
157 ### need customized option file; example below is for nireas
158 ../tools/genmake2 -of linux_ia32_g77_netcdf
159
160 make depend
161 make
162 cd ../exe
163 cp ../verification/global_with_exf/input/eedata .
164 cp ../verification/global_with_exf/input/data.* .
165 cp ../verification/global_with_exf/input/POLY3.COEFFS .
166 ln -sf ../verification/global_with_exf/input/*.bin .
167 cp ../ocean_inversion_project/input/* .
168 cp data.1765-2005.1 data
169 ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
170 ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
171 ln -sf ../ocean_inversion_project/atm_co2/splco2_cis92a.dat .
172 mitgcmuv > output .txt &
173
174
175 ==========================================================
176 Instructions for carrying out time-dependent, 1765-2005,
177 anthropogenic carbon perturbation tracer experiments using
178 the ecco1x1 configuration and netcdf output on columbia.
179 This assumes that the appropriate libnetcdf.a exists
180 and that it be specified in the genmake2 option file.
181 It also assumes that surface forcing files are available
182 in MITgcm/../iter69
183 ==========================================================
184
185 cd MITgcm/exe
186 \rm *
187 cd ../bin
188 \rm *
189 \cp ../ocean_inversion_project/code_ecco1x1/* .
190 \cp ../ocean_inversion_project/write_netCDF/* .
191 \rm mk_output.F
192 \cp SIZE.h.96 SIZE.h
193 ../tools/genmake2 -of linux_ia64_efc+mpi_altix
194 make depend
195 make -j 16
196 cd ../exe
197 \cp ../ocean_inversion_project/input_ecco1x1/* .
198 ln -sf ../../iter69/* .
199 ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
200 ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
201 ln -sf ../ocean_inversion_project/atm_co2/splco2_cis92a.dat .
202 qsub job01
203
204
205 ==========================================================
206 Instructions for carrying out 3000-year quasi-stationary
207 integration using the ecco1x1 configuration and netcdf
208 output on columbia.
209 This assumes that the appropriate libnetcdf.a exists
210 and that it be specified in the genmake2 option file.
211 It also assumes that surface forcing files are available
212 in MITgcm/../iter69
213 ==========================================================
214
215 cd MITgcm/exe
216 \rm *
217 cd ../bin
218 \rm *
219 \cp ../ocean_inversion_project/code_ecco1x1/* .
220 \cp ../ocean_inversion_project/write_netCDF/* .
221 \rm mk_output.F
222 \cp SIZE.h.96 SIZE.h
223 \cp PTRACERS_OPTIONS.h.stationary PTRACERS_OPTIONS.h
224 ../tools/genmake2 -of linux_ia64_efc+mpi_altix
225 make depend
226 make -j 16
227 cd ../exe
228 \cp ../ocean_inversion_project/input_ecco1x1/* .
229 \ln -sf ../../iter69/* .
230 \ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
231 \ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
232 qsub job01s
233
234
235 ==========================================================
236 Instructions for generating netcdf output files on columbia
237 ==========================================================
238
239 cd ocean_inversion_project/write_netCDF
240 setenv F_UFMTENDIAN big
241
242 (check that defaults in mk_output.F are appropriate)
243
244 ifort -assume byterecl -W0 -WB mk_output.F write_nc_phys.F nc_util.F \
245 handle_errors.F write_nc_basisfnctns.F \
246 write_nc_diag_0D.F write_nc_diag_2D.F \
247 -I/u/menemenl/software/netcdf-3.5.0/include \
248 -L/u/menemenl/software/netcdf-3.5.0/lib -lnetcdf
249 ./a.out
250
251
252 ==========================================================
253 Instructions for generating netcdf output files on orion
254 ==========================================================
255
256 cd ocean_inversion_project/write_netCDF
257 setenv F_UFMTENDIAN big
258
259 (check that defaults in mk_output.F are appropriate)
260
261 efc -W0 -WB mk_output.F write_nc_phys.F nc_util.F \
262 handle_errors.F write_nc_basisfnctns.F \
263 write_nc_diag_0D.F write_nc_diag_2D.F \
264 -I/u2/dmenem/software/netcdf-3.5.0/include \
265 -L/u2/dmenem/software/netcdf-3.5.0/lib -lnetcdf
266 ./a.out
267
268
269 ======================================================
270
271 % some matlab code for looking at fort.10 debug files
272 load fort.10
273 tak=zeros(90,40,12);
274 for n=1:length(fort)
275 m=fort(n,1); i=fort(n,2); j=fort(n,3);
276 if i>0&i<91&j>0&j<41, tak(i,j,m)=fort(n,4); end
277 end
278 lon=2:4:360; lat=-78:4:78;
279 clf, contourf(lon,lat,mean(tak(:,:,1),3)',-10:10)
280 caxis([-6 6]), colorbar, plotland
281
282 % some matlab code for looking at PTRACER output files
283 salt=readbin('S.0000000020.001.001.data',[90 40 15],1);
284 tracer=zeros(90,40,15,30);
285 for i=1:30
286 fn=['PTRACER' myint2str(i) '.0000000020.001.001.data'];
287 tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
288 clf, mypcolor(tracer(:,:,1,i)'); pause(1)
289 end
290 tmp=sum(tracer,4); clf, mypcolor(tmp(:,:,1)')
291 mypcolor(
292
293
294 % some matlab code for checking that one year's worth of
295 % tracer uptake is approximately 1e18 mols.
296 lon=2:4:360; lat=-78:4:78;
297 thk=[50 70 100 140 190 240 290 340 390 440 490 540 590 640 690];
298 mask=readbin('hFacC.001.001.data',[90 40 15],1);
299 tracer=zeros(90,40,15,30); sumtracer=zeros(30,1);
300 for i=1:30, mydisp(i)
301 fn=['PTRACER' myint2str(i) '.0000001800.001.001.data'];
302 tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
303 for j=1:length(lat)
304 for k=1:length(thk)
305 sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i).*mask(:,j,k)) * ...
306 thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
307 end
308 end
309 end
310 plot(1:30,0*sumtracer,1:30,sumtracer)
311
312
313 % check that tracer flux is 1e18 mols / year
314 nb_seconds_per_year=31556880;
315 lon=2:4:360; lat=-78:4:78;
316 mask=readbin('hFacC.data',[90 40 15],1);
317 tracer=zeros(90,40,30); sumtracer=zeros(30,1);
318 for i=1:30, mydisp(i)
319 fn=['PtrFlux' myint2str(i) '.0000000180.data'];
320 tracer(:,:,i)=readbin(fn,[90 40],1);
321 for j=1:length(lat)
322 sumtracer(i) = sumtracer(i) + sum(tracer(:,j,i).*mask(:,j,1)) * ...
323 nb_seconds_per_year* (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
324 end
325 end
326 plot(1:30,0*sumtracer,1:30,sumtracer-mmean(sumtracer))

  ViewVC Help
Powered by ViewVC 1.1.22