/[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.11 by dimitri, Mon Oct 20 06:12:24 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   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  1 ===> get MITgcm code from cvs repository
  diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data  
22    
23  ===> examine interpolation output for 30-region mask   CVSROOT=:pserver:cvsanon@mitgcm.org:/u/u0/gcmpack
24     cvs login ( CVS password: cvsanon )
25     cvs co -P MITgcm
26    
27   matlab  2 ===> put MITgcm_contrib/ocean_inversion_project in MITgcm directory
  mask=zeros(94,44,30);  
  load fort.10  
  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  
28    
29  =====================================   cd MITgcm
30     cvs co -d ocean_inversion_project MITgcm_contrib/ocean_inversion_project
31    
32    3 ===> compile and link
33    
34  Global ocean experiment with ptracers   cd bin
35  =====================================   cp ../verification/global_with_exf/code/* .
36     cp ../ocean_inversion_project/code/* .
37     rm ptracers_*.F
38     ../tools/genmake2
39       (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
40     make depend
41     make
42    
43  ===> set up and integrate 30-tracer computation  4 ===> execute
44    
45   cd MITgcm/bin   cd ../exe
46     cp ../verification/global_with_exf/input/eedata .
47     cp ../verification/global_with_exf/input/data.* .
48     cp ../verification/global_with_exf/input/POLY3.COEFFS .
49     ln -sf ../verification/global_with_exf/input/*.bin .
50     cp ../ocean_inversion_project/input/* .
51     cp data.test data
52     cp data.ptracers.test data.ptracers
53     mitgcmuv > output.txt
54      
55    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    ==========================================================
62    Instructions for carrying out a 3000-year quasi-stationary
63    integration using the global_ocean.90x40x15 configuration.
64    ==========================================================
65    
66    1 ===> compile, link, and execute
67    
68     cd MITgcm/exe
69     rm *
70     cd ../bin
71     rm *
72   cp ../verification/global_with_exf/code/* .   cp ../verification/global_with_exf/code/* .
73   cp ../code/.genmakerc .   cp ../ocean_inversion_project/code/.genmakerc .
74   cp ../code/* .   cp ../ocean_inversion_project/code/* .
75   ../tools/genmake   ../tools/genmake2
76       (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
77   make depend   make depend
78   make   make
79   cd ../exe   cd ../exe
80   cp ../verification/global_with_exf/input/* .   cp ../verification/global_with_exf/input/eedata .
81   cp ../input/* .   cp ../verification/global_with_exf/input/data.* .
82   mitgcmuv > output .txt   cp ../verification/global_with_exf/input/POLY3.COEFFS .
83     ln -sf ../verification/global_with_exf/input/*.bin .
84  ===> look at output   cp ../ocean_inversion_project/input/* .
85     ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
86   matlab   ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
87   for i=1:30   mitgcmuv > output .txt &
88    tr=readbin(['PTRACER' myint2str(i) ...  
89                '.0000000020.001.001.data'],[90 40 15],1);  
90    mypcolor(tr(:,:,2)'), colorbar, pause(1)  ==========================================================
91    MPI instructions for carrying out a 3000-year quasi-stationary
92    integration using the global_ocean.90x40x15 configuration.
93    ==========================================================
94    
95    1 ===> compile, link, and execute
96    
97     cd MITgcm/exe
98     rm *
99     cd ../bin
100     rm *
101     cp ../verification/global_with_exf/code/* .
102     cp ../ocean_inversion_project/code/.genmakerc .
103     cp ../ocean_inversion_project/code/* .
104     cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
105     cp SIZE.h_mpi SIZE.h
106     ../tools/genmake2
107       (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
108     make depend
109     make
110     cd ../exe
111     cp ../verification/global_with_exf/input/eedata .
112     cp ../verification/global_with_exf/input/data.* .
113     cp ../verification/global_with_exf/input/POLY3.COEFFS .
114     ln -sf ../verification/global_with_exf/input/*.bin .
115     cp ../ocean_inversion_project/input/* .
116     ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
117     ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
118     mpirun -np 36 dplace -s1 -c3-38 mitgcmuv < /dev/null > & ! errlog &
119    
120    
121    ======================================================
122    
123    % some matlab code for looking at fort.10 debug files
124    load fort.10
125    tak=zeros(90,40,12);
126    for n=1:length(fort)
127     m=fort(n,1); i=fort(n,2); j=fort(n,3);
128     if i>0&i<91&j>0&j<41, tak(i,j,m)=fort(n,4); end
129    end
130    lon=2:4:360; lat=-78:4:78;
131    clf, contourf(lon,lat,mean(tak(:,:,1),3)',-10:10)
132    caxis([-6 6]), colorbar, plotland
133    
134    % some matlab code for looking at PTRACER output files
135    salt=readbin('S.0000000020.001.001.data',[90 40 15],1);
136    tracer=zeros(90,40,15,30);
137    for i=1:30
138     fn=['PTRACER' myint2str(i) '.0000000020.001.001.data'];
139     tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
140     clf, mypcolor(tracer(:,:,1,i)'); pause(1)
141    end
142    tmp=sum(tracer,4); clf, mypcolor(tmp(:,:,1)')
143    mypcolor(
144    
145    
146    % some matlab code for checking that one year's worth of
147    % tracer uptake is approximately 1e18 mols.
148    lon=2:4:360; lat=-78:4:78;
149    thk=[50 70 100 140 190 240 290 340 390 440 490 540 590 640 690];
150    mask=readbin('hFacC.001.001.data',[90 40 15],1);
151    tracer=zeros(90,40,15,30); sumtracer=zeros(30,1);
152    for i=1:30, mydisp(i)
153     fn=['PTRACER' myint2str(i) '.0000001800.001.001.data'];
154     tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
155     for j=1:length(lat)
156      for k=1:length(thk)
157       sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i).*mask(:,j,k)) * ...
158                      thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
159      end
160   end   end
161    end
162    plot(1:30,0*sumtracer,1:30,sumtracer)

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

  ViewVC Help
Powered by ViewVC 1.1.22