/[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.2 by dimitri, Thu Sep 18 02:33:38 2003 UTC revision 1.29 by dimitri, Wed May 4 23:47:17 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    
16    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  ===============================================  ===============================================
# Line 13  salinity initial and boundary conditions Line 31  salinity initial and boundary conditions
31    
32  1 ===> get MITgcm code from cvs repository  1 ===> get MITgcm code from cvs repository
33    
34   CVSROOT=:pserver:cvsanon@mitgcm.org:/u/u0/gcmpack   cvs co -r checkpoint51n_branch MITgcm_code
35   cvs login ( CVS password: cvsanon )   cvs co -r checkpoint51n_branch MITgcm/verification/testreport
36   cvs co MITgcm   cvs co -r checkpoint51n_branch MITgcm/verification/global_with_exf
37    
38  2 ===> put MITgcm_contrib/ocean_inversion_project in MITgcm directory  2 ===> put MITgcm_contrib/ocean_inversion_project in MITgcm directory
39    
40   cd MITgcm   cd MITgcm
41   cvs co -d ocean_inversion_project MITgcm_contrib/ocean_inversion_project   cvs co -d ocean_inversion_project MITgcm_contrib/ocean_inversion_project
42    
43  3 ===> compile  3 ===> compile and link
44    
45     mkdir bin exe
46   cd bin   cd bin
47   cp ../verification/global_with_exf/code/* .   \cp ../verification/global_with_exf/code/* .
48   cp ../ocean_inversion_project/code/.genmakerc .   \cp ../ocean_inversion_project/code/* .
49   cp ../ocean_inversion_project/code/* .   \rm ptracers_*.F PTRACERS_OPTIONS.h
50   cp ../ocean_inversion_project/code/ptracers_forcing.F.test ptracers_forcing.F   ../tools/genmake2
51   cp ../ocean_inversion_project/code/ptracers_init.F.test ptracers_init.F     (on orion:    ../tools/genmake2 -of linux_ia64_efc+mpi       )
52   cp ../ocean_inversion_project/code/ptracers_read_mask.F.test ptracers_read_mask.F     (on columbia: ../tools/genmake2 -of linux_ia64_efc+mpi_altix )
  ../tools/genmake  
53   make depend   make depend
54   make   make -j 16
55    
56  4 ===> execute  4 ===> execute
57    
58   cd ../exe   cd ../exe
59   cp ../verification/global_with_exf/input/* .   \cp ../verification/global_with_exf/input/eedata .
60   cp ../ocean_inversion_project/input/* .   \cp ../verification/global_with_exf/input/data.* .
61   cp ../ocean_inversion_project/input/data.ptracers.test data.ptracers   \cp ../verification/global_with_exf/input/POLY3.COEFFS .
62   mitgcmuv > output .txt   \ln -sf ../verification/global_with_exf/input/*.bin .
63       \cp ../ocean_inversion_project/input/* .
64  5 ===> check that PTRACER output for tracer 1 and tracer 30   \cp data.test data
65    ===> is identical to salinity output   \cp data.ptracers.test data.ptracers
66     ./mitgcmuv >! output.txt
67    
68    5 ===> check that PTRACER output and salinity output are identical.
69    
70   diff PTRACER01.0000000020.001.001.data S.0000000020.001.001.data   diff PTRACER01.0000000020.001.001.data S.0000000020.001.001.data
71   diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data   diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data
72     diff PTRtave30.0000000020.001.001.data Stave.0000000020.001.001.data
73     diff PTRtave30.0000000020.001.001.data Stave.0000000020.001.001.data
74    
75    
76  ======================================================  ==========================================================
77  Second generate binary input files.  netcdf files are not OK  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     rm PTRACERS_OPTIONS.h
88     cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
89     cp SIZE.h_mpi SIZE.h
90     ../tools/genmake2
91       (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
92     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     cp data.stationary.1 data
103     mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
104       (on orion: qsub job.orion)
105    
106    
107    ==========================================================
108    MPI instructions for carrying out time-dependent, 1765-2005,
109    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     cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
120     cp SIZE.h_mpi SIZE.h
121     ../tools/genmake2
122       (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
123     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     mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
136       (on orion: qsub job.orion.td)
137    
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     \rm mk_output.F
156    
157  ======================================================  ### need customized option file; example below is for nireas
158  ======================================================   ../tools/genmake2 -of linux_ia32_g77_netcdf
 ======================================================  
 ======================================================  
159    
  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  
160   make depend   make depend
161   make   make
162   cd ../exe   cd ../exe
163   cp ../verification/global_with_exf/input/* .   cp ../verification/global_with_exf/input/eedata .
164   cp ../input/* .   cp ../verification/global_with_exf/input/data.* .
165   cp ../input/data.ptracers.test data.ptracers   cp ../verification/global_with_exf/input/POLY3.COEFFS .
166   mitgcmuv > output .txt   ln -sf ../verification/global_with_exf/input/*.bin .
167     cp ../ocean_inversion_project/input/* .
168  ===> examine interpolation output for 30-region mask   cp data.1765-2005.1 data
169     ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
170   matlab   ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
171   mask=zeros(94,44,30);   ln -sf ../ocean_inversion_project/atm_co2/splco2_cis92a.dat .
172   load fort.10   mitgcmuv > output .txt &
173   for i=1:length(fort)  
174    mask(fort(i,2)+2,fort(i,3)+2,fort(i,1))=fort(i,4);  
175   end  ==========================================================
176   for i=1:30  Instructions for carrying out time-dependent, 1765-2005,
177    mypcolor(mask(3:92,3:42,i)');  anthropogenic carbon perturbation tracer experiments using
178    colorbar,title(i),pause  the ecco1x1 configuration and netcdf output on columbia.
179   end  This assumes that the appropriate libnetcdf.a exists
180   mypcolor(sum(mask,3)'); colorbar  and that it be specified in the genmake2 option file.
181    It also assumes that surface forcing files are available
182    in MITgcm/../iter69
183    ==========================================================
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     \cp SIZE.h.96 SIZE.h
193     ../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     ln -sf ../../iter69/* .
199     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    
205    ==========================================================
206    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    Instructions for generating netcdf output files on columbia
237    ==========================================================
238    
239  Global ocean experiment with ptracers  cd ocean_inversion_project/write_netCDF
240  =====================================  setenv F_UFMTENDIAN big
241    
242  ===> set up and integrate 30-tracer computation  (check that defaults in  mk_output.F are appropriate)
243    
244   cd MITgcm/bin  ifort -assume byterecl -W0 -WB mk_output.F write_nc_phys.F nc_util.F \
245   cp ../verification/global_with_exf/code/* .       handle_errors.F write_nc_basisfnctns.F \
246   cp ../code/.genmakerc .       write_nc_diag_0D.F write_nc_diag_2D.F \
247   cp ../code/* .       -I/u/menemenl/software/netcdf-3.5.0/include \
248   ../tools/genmake       -L/u/menemenl/software/netcdf-3.5.0/lib -lnetcdf
249   make depend  ./a.out
250   make  
251   cd ../exe  
252   cp ../verification/global_with_exf/input/* .  ==========================================================
253   cp ../input/* .  Instructions for generating netcdf output files on orion
254   mitgcmuv > output .txt  ==========================================================
255    
256  ===> look at output  cd ocean_inversion_project/write_netCDF
257    setenv F_UFMTENDIAN big
258   matlab  
259   for i=1:30  (check that defaults in  mk_output.F are appropriate)
260    tr=readbin(['PTRACER' myint2str(i) ...  
261                '.0000000020.001.001.data'],[90 40 15],1);  efc -W0 -WB mk_output.F write_nc_phys.F nc_util.F \
262    mypcolor(tr(:,:,2)'), colorbar, pause(1)       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    ./a.out
267    
268    
269    ======================================================
270    
271    % 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    salt=readbin('S.0000000020.001.001.data',[90 40 15],1);
284    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    mypcolor(
292    
293    
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    mask=readbin('hFacC.001.001.data',[90 40 15],1);
299    tracer=zeros(90,40,15,30); sumtracer=zeros(30,1);
300    for i=1:30, mydisp(i)
301     fn=['PTRACER' myint2str(i) '.0000001800.001.001.data'];
302     tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
303     for j=1:length(lat)
304      for k=1:length(thk)
305       sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i).*mask(:,j,k)) * ...
306                      thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
307      end
308   end   end
309    end
310    plot(1:30,0*sumtracer,1:30,sumtracer)
311    
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))

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.29

  ViewVC Help
Powered by ViewVC 1.1.22