/[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.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    Instructions for CFC-11 computations are in
16    cvs co -r release1_50yr MITgcm
17    MITgcm/verification/global_with_CFC11/README
18    
19    
20    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  ===============================================  ===============================================
# Line 13  salinity initial and boundary conditions Line 35  salinity initial and boundary conditions
35    
36  1 ===> get MITgcm code from cvs repository  1 ===> get MITgcm code from cvs repository
37    
38   CVSROOT=:pserver:cvsanon@mitgcm.org:/u/u0/gcmpack   cvs co -r checkpoint51n_branch MITgcm_code
39   cvs login ( CVS password: cvsanon )   cvs co -r checkpoint51n_branch MITgcm/verification/testreport
40   cvs co MITgcm   cvs co -r checkpoint51n_branch MITgcm/verification/global_with_exf
41    
42  2 ===> put MITgcm_contrib/ocean_inversion_project in MITgcm directory  2 ===> put MITgcm_contrib/ocean_inversion_project in MITgcm directory
43    
44   cd MITgcm   cd MITgcm
45   cvs co -d ocean_inversion_project MITgcm_contrib/ocean_inversion_project   cvs co -d ocean_inversion_project MITgcm_contrib/ocean_inversion_project
46    
47  3 ===> compile  3 ===> compile and link
48    
49     mkdir bin exe
50   cd bin   cd bin
51   cp ../verification/global_with_exf/code/* .   \cp ../verification/global_with_exf/code/* .
52   cp ../ocean_inversion_project/code/.genmakerc .   \cp ../ocean_inversion_project/code/* .
53   cp ../ocean_inversion_project/code/* .   \rm ptracers_*.F PTRACERS_OPTIONS.h
54   cp ../ocean_inversion_project/code/ptracers_forcing.F.test ptracers_forcing.F   ../tools/genmake2
55   cp ../ocean_inversion_project/code/ptracers_init.F.test ptracers_init.F     (on orion:    ../tools/genmake2 -of linux_ia64_efc+mpi       )
56   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  
57   make depend   make depend
58   make   make -j 16
59    
60  4 ===> execute  4 ===> execute
61    
62   cd ../exe   cd ../exe
63   cp ../verification/global_with_exf/input/* .   \cp ../verification/global_with_exf/input/eedata .
64   cp ../ocean_inversion_project/input/* .   \cp ../verification/global_with_exf/input/data.* .
65   cp ../ocean_inversion_project/input/data.ptracers.test data.ptracers   \cp ../verification/global_with_exf/input/POLY3.COEFFS .
66   mitgcmuv > output .txt   \ln -sf ../verification/global_with_exf/input/*.bin .
67       \cp ../ocean_inversion_project/input/* .
68  5 ===> check that PTRACER output for tracer 1 and tracer 30   \cp data.test data
69    ===> is identical to salinity output   \cp data.ptracers.test data.ptracers
70     ./mitgcmuv >! output.txt
71    
72    5 ===> check that PTRACER output and salinity output are identical.
73    
74   diff PTRACER01.0000000020.001.001.data S.0000000020.001.001.data   diff PTRACER01.0000000020.001.001.data S.0000000020.001.001.data
75   diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data   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    
79    
80  ======================================================  ==========================================================
81  Second generate binary input files.  netcdf files are not OK  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     rm PTRACERS_OPTIONS.h
92     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
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     cp data.stationary.1 data
107     mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
108       (on orion: qsub job.orion)
109    
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    
  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  
164   make depend   make depend
165   make   make
166   cd ../exe   cd ../exe
167   cp ../verification/global_with_exf/input/* .   cp ../verification/global_with_exf/input/eedata .
168   cp ../input/* .   cp ../verification/global_with_exf/input/data.* .
169   cp ../input/data.ptracers.test data.ptracers   cp ../verification/global_with_exf/input/POLY3.COEFFS .
170   mitgcmuv > output .txt   ln -sf ../verification/global_with_exf/input/*.bin .
171     cp ../ocean_inversion_project/input/* .
172  ===> examine interpolation output for 30-region mask   cp data.1765-2005.1 data
173     ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
174   matlab   ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
175   mask=zeros(94,44,30);   ln -sf ../ocean_inversion_project/atm_co2/splco2_cis92a.dat .
176   load fort.10   mitgcmuv > output .txt &
177   for i=1:length(fort)  
178    mask(fort(i,2)+2,fort(i,3)+2,fort(i,1))=fort(i,4);  
179   end  ==========================================================
180   for i=1:30  Instructions for carrying out time-dependent, 1765-2005,
181    mypcolor(mask(3:92,3:42,i)');  anthropogenic carbon perturbation tracer experiments using
182    colorbar,title(i),pause  the ecco1x1 configuration and netcdf output on columbia.
183   end  This assumes that the appropriate libnetcdf.a exists
184   mypcolor(sum(mask,3)'); colorbar  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  Global ocean experiment with ptracers  cd ocean_inversion_project/write_netCDF
244  =====================================  setenv F_UFMTENDIAN big
245    
246  ===> set up and integrate 30-tracer computation  (check that defaults in  mk_output.F are appropriate)
247    
248   cd MITgcm/bin  ifort -assume byterecl -W0 -WB mk_output.F write_nc_phys.F nc_util.F \
249   cp ../verification/global_with_exf/code/* .       handle_errors.F write_nc_basisfnctns.F \
250   cp ../code/.genmakerc .       write_nc_diag_0D.F write_nc_diag_2D.F \
251   cp ../code/* .       -I/u/menemenl/software/netcdf-3.5.0/include \
252   ../tools/genmake       -L/u/menemenl/software/netcdf-3.5.0/lib -lnetcdf
253   make depend  ./a.out
254   make  
255   cd ../exe  
256   cp ../verification/global_with_exf/input/* .  ==========================================================
257   cp ../input/* .  Instructions for generating netcdf output files on orion
258   mitgcmuv > output .txt  ==========================================================
259    
260  ===> look at output  cd ocean_inversion_project/write_netCDF
261    setenv F_UFMTENDIAN big
262   matlab  
263   for i=1:30  (check that defaults in  mk_output.F are appropriate)
264    tr=readbin(['PTRACER' myint2str(i) ...  
265                '.0000000020.001.001.data'],[90 40 15],1);  efc -W0 -WB mk_output.F write_nc_phys.F nc_util.F \
266    mypcolor(tr(:,:,2)'), colorbar, pause(1)       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.2  
changed lines
  Added in v.1.30

  ViewVC Help
Powered by ViewVC 1.1.22