/[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.30 - (hide 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 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 dimitri 1.30 Instructions for CFC-11 computations are in
16     cvs co -r release1_50yr MITgcm
17     MITgcm/verification/global_with_CFC11/README
18    
19 dimitri 1.1
20 dimitri 1.27 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 dimitri 1.2 ===============================================
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 dimitri 1.21 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 dimitri 1.2
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 dimitri 1.3 3 ===> compile and link
48 dimitri 1.2
49 dimitri 1.21 mkdir bin exe
50 dimitri 1.2 cd bin
51 dimitri 1.22 \cp ../verification/global_with_exf/code/* .
52     \cp ../ocean_inversion_project/code/* .
53     \rm ptracers_*.F PTRACERS_OPTIONS.h
54 dimitri 1.11 ../tools/genmake2
55 dimitri 1.22 (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi )
56     (on columbia: ../tools/genmake2 -of linux_ia64_efc+mpi_altix )
57 dimitri 1.2 make depend
58 dimitri 1.22 make -j 16
59 dimitri 1.2
60     4 ===> execute
61    
62     cd ../exe
63 dimitri 1.22 \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 dimitri 1.5 5 ===> check that PTRACER output and salinity output are identical.
73 dimitri 1.2
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 dimitri 1.14 diff PTRtave30.0000000020.001.001.data Stave.0000000020.001.001.data
77     diff PTRtave30.0000000020.001.001.data Stave.0000000020.001.001.data
78 dimitri 1.3
79 dimitri 1.1
80 dimitri 1.8 ==========================================================
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 dimitri 1.12 rm PTRACERS_OPTIONS.h
92 dimitri 1.8 cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
93     cp SIZE.h_mpi SIZE.h
94 dimitri 1.11 ../tools/genmake2
95     (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
96 dimitri 1.8 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 dimitri 1.17 cp data.stationary.1 data
107     mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
108 dimitri 1.19 (on orion: qsub job.orion)
109 dimitri 1.12
110 dimitri 1.22
111 dimitri 1.12 ==========================================================
112 dimitri 1.19 MPI instructions for carrying out time-dependent, 1765-2005,
113 dimitri 1.12 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 dimitri 1.19 cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
124     cp SIZE.h_mpi SIZE.h
125 dimitri 1.12 ../tools/genmake2
126     (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
127 dimitri 1.13 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 dimitri 1.19 mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
140     (on orion: qsub job.orion.td)
141 dimitri 1.13
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 dimitri 1.20 \rm mk_output.F
160 dimitri 1.13
161     ### need customized option file; example below is for nireas
162     ../tools/genmake2 -of linux_ia32_g77_netcdf
163    
164 dimitri 1.12 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 dimitri 1.18 cp data.1765-2005.1 data
173 dimitri 1.12 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 dimitri 1.19
178    
179 dimitri 1.22 ==========================================================
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 dimitri 1.28 in MITgcm/../iter69
187 dimitri 1.22 ==========================================================
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 dimitri 1.24 \cp SIZE.h.96 SIZE.h
197 dimitri 1.22 ../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 dimitri 1.23 ln -sf ../../iter69/* .
203 dimitri 1.22 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 dimitri 1.19
209     ==========================================================
210 dimitri 1.28 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 dimitri 1.25 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 dimitri 1.29 ifort -assume byterecl -W0 -WB mk_output.F write_nc_phys.F nc_util.F \
249 dimitri 1.25 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 dimitri 1.26 ./a.out
254 dimitri 1.25
255    
256     ==========================================================
257 dimitri 1.19 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 dimitri 1.26 ./a.out
271 dimitri 1.8
272    
273 dimitri 1.3 ======================================================
274 dimitri 1.1
275 dimitri 1.3 % 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 dimitri 1.4 salt=readbin('S.0000000020.001.001.data',[90 40 15],1);
288 dimitri 1.3 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 dimitri 1.4 mypcolor(
296    
297 dimitri 1.3
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 dimitri 1.7 mask=readbin('hFacC.001.001.data',[90 40 15],1);
303 dimitri 1.3 tracer=zeros(90,40,15,30); sumtracer=zeros(30,1);
304     for i=1:30, mydisp(i)
305 dimitri 1.7 fn=['PTRACER' myint2str(i) '.0000001800.001.001.data'];
306 dimitri 1.3 tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
307     for j=1:length(lat)
308     for k=1:length(thk)
309 dimitri 1.7 sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i).*mask(:,j,k)) * ...
310 dimitri 1.3 thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
311     end
312 dimitri 1.1 end
313 dimitri 1.3 end
314 dimitri 1.4 plot(1:30,0*sumtracer,1:30,sumtracer)
315 dimitri 1.21
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