/[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.26 - (show annotations) (download)
Thu Nov 4 13:22:09 2004 UTC (20 years, 8 months ago) by dimitri
Branch: MAIN
Changes since 1.25: +2 -2 lines
Modified ocean_inversion_project/*

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

  ViewVC Help
Powered by ViewVC 1.1.22