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

Annotation of /MITgcm_contrib/ocean_inversion_project/README

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


Revision 1.28 - (hide annotations) (download)
Mon Nov 22 23:47:01 2004 UTC (20 years, 7 months ago) by dimitri
Branch: MAIN
Changes since 1.27: +31 -1 lines
Modified ocean_inversion_project/*

1 dimitri 1.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 dimitri 1.3 (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 dimitri 1.1
15    
16 dimitri 1.27 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 dimitri 1.2 ===============================================
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 dimitri 1.21 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 dimitri 1.2
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 dimitri 1.3 3 ===> compile and link
44 dimitri 1.2
45 dimitri 1.21 mkdir bin exe
46 dimitri 1.2 cd bin
47 dimitri 1.22 \cp ../verification/global_with_exf/code/* .
48     \cp ../ocean_inversion_project/code/* .
49     \rm ptracers_*.F PTRACERS_OPTIONS.h
50 dimitri 1.11 ../tools/genmake2
51 dimitri 1.22 (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi )
52     (on columbia: ../tools/genmake2 -of linux_ia64_efc+mpi_altix )
53 dimitri 1.2 make depend
54 dimitri 1.22 make -j 16
55 dimitri 1.2
56     4 ===> execute
57    
58     cd ../exe
59 dimitri 1.22 \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 dimitri 1.5 5 ===> check that PTRACER output and salinity output are identical.
69 dimitri 1.2
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 dimitri 1.14 diff PTRtave30.0000000020.001.001.data Stave.0000000020.001.001.data
73     diff PTRtave30.0000000020.001.001.data Stave.0000000020.001.001.data
74 dimitri 1.3
75 dimitri 1.1
76 dimitri 1.8 ==========================================================
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 dimitri 1.12 rm PTRACERS_OPTIONS.h
88 dimitri 1.8 cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
89     cp SIZE.h_mpi SIZE.h
90 dimitri 1.11 ../tools/genmake2
91     (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
92 dimitri 1.8 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 dimitri 1.17 cp data.stationary.1 data
103     mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
104 dimitri 1.19 (on orion: qsub job.orion)
105 dimitri 1.12
106 dimitri 1.22
107 dimitri 1.12 ==========================================================
108 dimitri 1.19 MPI instructions for carrying out time-dependent, 1765-2005,
109 dimitri 1.12 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 dimitri 1.19 cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
120     cp SIZE.h_mpi SIZE.h
121 dimitri 1.12 ../tools/genmake2
122     (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
123 dimitri 1.13 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 dimitri 1.19 mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
136     (on orion: qsub job.orion.td)
137 dimitri 1.13
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 dimitri 1.20 \rm mk_output.F
156 dimitri 1.13
157     ### need customized option file; example below is for nireas
158     ../tools/genmake2 -of linux_ia32_g77_netcdf
159    
160 dimitri 1.12 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 dimitri 1.18 cp data.1765-2005.1 data
169 dimitri 1.12 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 dimitri 1.19
174    
175 dimitri 1.22 ==========================================================
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 dimitri 1.28 in MITgcm/../iter69
183 dimitri 1.22 ==========================================================
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 dimitri 1.24 \cp SIZE.h.96 SIZE.h
193 dimitri 1.22 ../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 dimitri 1.23 ln -sf ../../iter69/* .
199 dimitri 1.22 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 dimitri 1.19
205     ==========================================================
206 dimitri 1.28 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 dimitri 1.25 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     efc -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 dimitri 1.26 ./a.out
250 dimitri 1.25
251    
252     ==========================================================
253 dimitri 1.19 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 dimitri 1.26 ./a.out
267 dimitri 1.8
268    
269 dimitri 1.3 ======================================================
270 dimitri 1.1
271 dimitri 1.3 % 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 dimitri 1.4 salt=readbin('S.0000000020.001.001.data',[90 40 15],1);
284 dimitri 1.3 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 dimitri 1.4 mypcolor(
292    
293 dimitri 1.3
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 dimitri 1.7 mask=readbin('hFacC.001.001.data',[90 40 15],1);
299 dimitri 1.3 tracer=zeros(90,40,15,30); sumtracer=zeros(30,1);
300     for i=1:30, mydisp(i)
301 dimitri 1.7 fn=['PTRACER' myint2str(i) '.0000001800.001.001.data'];
302 dimitri 1.3 tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
303     for j=1:length(lat)
304     for k=1:length(thk)
305 dimitri 1.7 sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i).*mask(:,j,k)) * ...
306 dimitri 1.3 thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
307     end
308 dimitri 1.1 end
309 dimitri 1.3 end
310 dimitri 1.4 plot(1:30,0*sumtracer,1:30,sumtracer)
311 dimitri 1.21
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