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

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

  ViewVC Help
Powered by ViewVC 1.1.22