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

Diff of /MITgcm_contrib/ocean_inversion_project/README

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

revision 1.1 by dimitri, Wed Sep 17 21:45:51 2003 UTC revision 1.30 by dimitri, Wed Aug 24 20:59:54 2005 UTC
# Line 3  Ocean Inversion Project Line 3  Ocean Inversion Project
3    
4  Instructions for using pkg/ptracers to compute tracer  Instructions for using pkg/ptracers to compute tracer
5  Green's functions for Gruber's ocean inversion project  Green's functions for Gruber's ocean inversion project
6  (http://quercus.igpp.ucla.edu/OceanInversion/).  (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  To run a pkg/ptracers test case using salt initial and boundary conditions:  Instructions for CFC-11 computations are in
16    cvs co -r release1_50yr MITgcm
17    MITgcm/verification/global_with_CFC11/README
18    
   
   
  cd MITgcm/bin  
  cp ../verification/global_with_exf/code/* .  
  cp ../code/.genmakerc .  
  cp ../code/* .  
  cp ../code/ptracers_forcing.F.test ptracers_forcing.F  
  cp ../code/ptracers_init.F.test ptracers_init.F  
  cp ../code/ptracers_read_mask.F.test ptracers_read_mask.F  
  ../tools/genmake  
  make depend  
  make  
  cd ../exe  
  cp ../verification/global_with_exf/input/* .  
  cp ../input/* .  
  cp ../input/data.ptracers.test data.ptracers  
  mitgcmuv > output .txt  
   
 ===> check that PTRACER output is identical to salinity output  
19    
20   diff PTRACER30.0000000020.001.001.data PTRACER01.0000000020.001.001.data  Notes and problems:
21   diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data  ===================
22    
23  ===> examine interpolation output for 30-region mask  there is problem generating ECCO_MaskAreaBathy.nc on columbia
24    works OK on nireas
25    
26   matlab  variable global_mean_conc in 0D output from mk_output.F is
27   mask=zeros(94,44,30);  screwed up
28   load fort.10  
29   for i=1:length(fort)  
30    mask(fort(i,2)+2,fort(i,3)+2,fort(i,1))=fort(i,4);  
31   end  ===============================================
32   for i=1:30  First check that pkg/ptracers works OK by using
33    mypcolor(mask(3:92,3:42,i)');  salinity initial and boundary conditions
34    colorbar,title(i),pause  ===============================================
35   end  
36   mypcolor(sum(mask,3)'); colorbar  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  Global ocean experiment with ptracers   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    
 ===> set up and integrate 30-tracer computation  
79    
80   cd MITgcm/bin  ==========================================================
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/* .   cp ../verification/global_with_exf/code/* .
90   cp ../code/.genmakerc .   cp ../ocean_inversion_project/code/* .
91   cp ../code/* .   rm PTRACERS_OPTIONS.h
92   ../tools/genmake   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   make depend
97   make   make
98   cd ../exe   cd ../exe
99   cp ../verification/global_with_exf/input/* .   cp ../verification/global_with_exf/input/eedata .
100   cp ../input/* .   cp ../verification/global_with_exf/input/data.* .
101   mitgcmuv > output .txt   cp ../verification/global_with_exf/input/POLY3.COEFFS .
102     ln -sf ../verification/global_with_exf/input/*.bin .
103  ===> look at output   cp ../ocean_inversion_project/input/* .
104     ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
105   matlab   ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
106   for i=1:30   cp data.stationary.1 data
107    tr=readbin(['PTRACER' myint2str(i) ...   mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
108                '.0000000020.001.001.data'],[90 40 15],1);     (on orion: qsub job.orion)
109    mypcolor(tr(:,:,2)'), colorbar, pause(1)  
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   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))

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.30

  ViewVC Help
Powered by ViewVC 1.1.22