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

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

  ViewVC Help
Powered by ViewVC 1.1.22