/[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.13 by dimitri, Tue Oct 21 06:21:51 2003 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    
 To run a pkg/ptracers test case using salt initial and boundary conditions:  
15    
16    ===============================================
17    First check that pkg/ptracers works OK by using
18   cd MITgcm/bin  salinity initial and boundary conditions
19    ===============================================
20    
21    1 ===> get MITgcm code from cvs repository
22    
23     CVSROOT=:pserver:cvsanon@mitgcm.org:/u/u0/gcmpack
24     cvs login ( CVS password: cvsanon )
25     cvs co -P MITgcm
26    
27    2 ===> put MITgcm_contrib/ocean_inversion_project in MITgcm directory
28    
29     cd MITgcm
30     cvs co -d ocean_inversion_project MITgcm_contrib/ocean_inversion_project
31    
32    3 ===> compile and link
33    
34     cd bin
35   cp ../verification/global_with_exf/code/* .   cp ../verification/global_with_exf/code/* .
36   cp ../code/.genmakerc .   cp ../ocean_inversion_project/code/* .
37   cp ../code/* .   rm ptracers_*.F PTRACERS_OPTIONS.h
38   cp ../code/ptracers_forcing.F.test ptracers_forcing.F   ../tools/genmake2
39   cp ../code/ptracers_init.F.test ptracers_init.F     (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
  cp ../code/ptracers_read_mask.F.test ptracers_read_mask.F  
  ../tools/genmake  
40   make depend   make depend
41   make   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  
42    
43   diff PTRACER30.0000000020.001.001.data PTRACER01.0000000020.001.001.data  4 ===> execute
  diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data  
   
 ===> examine interpolation output for 30-region mask  
44    
45   matlab   cd ../exe
46   mask=zeros(94,44,30);   cp ../verification/global_with_exf/input/eedata .
47   load fort.10   cp ../verification/global_with_exf/input/data.* .
48   for i=1:length(fort)   cp ../verification/global_with_exf/input/POLY3.COEFFS .
49    mask(fort(i,2)+2,fort(i,3)+2,fort(i,1))=fort(i,4);   ln -sf ../verification/global_with_exf/input/*.bin .
50   end   cp ../ocean_inversion_project/input/* .
51   for i=1:30   cp data.test data
52    mypcolor(mask(3:92,3:42,i)');   cp data.ptracers.test data.ptracers
53    colorbar,title(i),pause   mitgcmuv > output.txt
54   end    
55   mypcolor(sum(mask,3)'); colorbar  5 ===> check that PTRACER output and salinity output are identical.
56    
57  =====================================   diff PTRACER01.0000000020.001.001.data S.0000000020.001.001.data
58     diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data
59    
60    
61  Global ocean experiment with ptracers  ==========================================================
62  =====================================  Instructions for carrying out a 3000-year quasi-stationary
63    integration using the global_ocean.90x40x15 configuration.
64    ==========================================================
65    
66     cd MITgcm/exe
67     rm *
68     cd ../bin
69     rm *
70     cp ../verification/global_with_exf/code/* .
71     cp ../ocean_inversion_project/code/* .
72     rm PTRACERS_OPTIONS.h
73     ../tools/genmake2
74       (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
75     make depend
76     make
77     cd ../exe
78     cp ../verification/global_with_exf/input/eedata .
79     cp ../verification/global_with_exf/input/data.* .
80     cp ../verification/global_with_exf/input/POLY3.COEFFS .
81     ln -sf ../verification/global_with_exf/input/*.bin .
82     cp ../ocean_inversion_project/input/* .
83     ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
84     ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
85     mitgcmuv > output .txt &
86    
87    
88    ==========================================================
89    MPI instructions for carrying out a 3000-year quasi-stationary
90    integration using the global_ocean.90x40x15 configuration.
91    ==========================================================
92    
93     cd MITgcm/exe
94     rm *
95     cd ../bin
96     rm *
97     cp ../verification/global_with_exf/code/* .
98     cp ../ocean_inversion_project/code/* .
99     rm PTRACERS_OPTIONS.h
100     cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
101     cp SIZE.h_mpi SIZE.h
102     ../tools/genmake2
103       (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
104     make depend
105     make
106     cd ../exe
107     cp ../verification/global_with_exf/input/eedata .
108     cp ../verification/global_with_exf/input/data.* .
109     cp ../verification/global_with_exf/input/POLY3.COEFFS .
110     ln -sf ../verification/global_with_exf/input/*.bin .
111     cp ../ocean_inversion_project/input/* .
112     ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
113     ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
114     mpirun -np 36 dplace -s1 -c3-38 mitgcmuv < /dev/null > & ! errlog &
115    
116    
117    ==========================================================
118    Instructions for carrying out time-dependent, 1765-2005,
119    anthropogenic carbon perturbation tracer experiments using
120    the global_ocean.90x40x15 configuration.
121    ==========================================================
122    
123     cd MITgcm/exe
124     rm *
125     cd ../bin
126     rm *
127     cp ../verification/global_with_exf/code/* .
128     cp ../ocean_inversion_project/code/* .
129     ../tools/genmake2
130       (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
131     make depend
132     make
133     cd ../exe
134     cp ../verification/global_with_exf/input/eedata .
135     cp ../verification/global_with_exf/input/data.* .
136     cp ../verification/global_with_exf/input/POLY3.COEFFS .
137     ln -sf ../verification/global_with_exf/input/*.bin .
138     cp ../ocean_inversion_project/input/* .
139     cp data.1765-2005 data
140     ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
141     ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
142     ln -sf ../ocean_inversion_project/atm_co2/splco2_cis92a.dat .
143     mitgcmuv > output .txt &
144    
145    
146    ==========================================================
147    Instructions for carrying out time-dependent, 1765-2005,
148    anthropogenic carbon perturbation tracer experiments using
149    global_ocean.90x40x15 configuration and netcdf output.
150    This assumes that the appropriate libnetcdf.a exists
151    and that it be specified in the genmake2 option file.
152    ==========================================================
153    
154     cd MITgcm/exe
155     rm *
156     cd ../bin
157     rm *
158     cp ../verification/global_with_exf/code/* .
159     cp ../ocean_inversion_project/code/* .
160     cp PTRACERS_OPTIONS.h.netcdf PTRACERS_OPTIONS.h
161     cp ../ocean_inversion_project/write_netCDF/*  .
162    
163  ===> set up and integrate 30-tracer computation  ### need customized option file; example below is for nireas
164     ../tools/genmake2 -of linux_ia32_g77_netcdf
165    
  cd MITgcm/bin  
  cp ../verification/global_with_exf/code/* .  
  cp ../code/.genmakerc .  
  cp ../code/* .  
  ../tools/genmake  
166   make depend   make depend
167   make   make
168   cd ../exe   cd ../exe
169   cp ../verification/global_with_exf/input/* .   cp ../verification/global_with_exf/input/eedata .
170   cp ../input/* .   cp ../verification/global_with_exf/input/data.* .
171   mitgcmuv > output .txt   cp ../verification/global_with_exf/input/POLY3.COEFFS .
172     ln -sf ../verification/global_with_exf/input/*.bin .
173  ===> look at output   cp ../ocean_inversion_project/input/* .
174     cp data.1765-2005 data
175   matlab   ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
176   for i=1:30   ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
177    tr=readbin(['PTRACER' myint2str(i) ...   ln -sf ../ocean_inversion_project/atm_co2/splco2_cis92a.dat .
178                '.0000000020.001.001.data'],[90 40 15],1);   mitgcmuv > output .txt &
179    mypcolor(tr(:,:,2)'), colorbar, pause(1)  
180    
181    ======================================================
182    
183    % some matlab code for looking at fort.10 debug files
184    load fort.10
185    tak=zeros(90,40,12);
186    for n=1:length(fort)
187     m=fort(n,1); i=fort(n,2); j=fort(n,3);
188     if i>0&i<91&j>0&j<41, tak(i,j,m)=fort(n,4); end
189    end
190    lon=2:4:360; lat=-78:4:78;
191    clf, contourf(lon,lat,mean(tak(:,:,1),3)',-10:10)
192    caxis([-6 6]), colorbar, plotland
193    
194    % some matlab code for looking at PTRACER output files
195    salt=readbin('S.0000000020.001.001.data',[90 40 15],1);
196    tracer=zeros(90,40,15,30);
197    for i=1:30
198     fn=['PTRACER' myint2str(i) '.0000000020.001.001.data'];
199     tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
200     clf, mypcolor(tracer(:,:,1,i)'); pause(1)
201    end
202    tmp=sum(tracer,4); clf, mypcolor(tmp(:,:,1)')
203    mypcolor(
204    
205    
206    % some matlab code for checking that one year's worth of
207    % tracer uptake is approximately 1e18 mols.
208    lon=2:4:360; lat=-78:4:78;
209    thk=[50 70 100 140 190 240 290 340 390 440 490 540 590 640 690];
210    mask=readbin('hFacC.001.001.data',[90 40 15],1);
211    tracer=zeros(90,40,15,30); sumtracer=zeros(30,1);
212    for i=1:30, mydisp(i)
213     fn=['PTRACER' myint2str(i) '.0000001800.001.001.data'];
214     tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
215     for j=1:length(lat)
216      for k=1:length(thk)
217       sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i).*mask(:,j,k)) * ...
218                      thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
219      end
220   end   end
221    end
222    plot(1:30,0*sumtracer,1:30,sumtracer)

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

  ViewVC Help
Powered by ViewVC 1.1.22