/[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.30 - (show annotations) (download)
Wed Aug 24 20:59:54 2005 UTC (19 years, 10 months ago) by dimitri
Branch: MAIN
Changes since 1.29: +4 -0 lines
Modified ocean_inversion_project/README

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

  ViewVC Help
Powered by ViewVC 1.1.22