/[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.5 by dimitri, Wed Sep 24 06:50:26 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    
15    
16  ===============================================  ===============================================
# Line 22  salinity initial and boundary conditions Line 29  salinity initial and boundary conditions
29   cd MITgcm   cd MITgcm
30   cvs co -d ocean_inversion_project MITgcm_contrib/ocean_inversion_project   cvs co -d ocean_inversion_project MITgcm_contrib/ocean_inversion_project
31    
32  3 ===> compile  3 ===> compile and link
33    
34   cd bin   cd bin
35   cp ../verification/global_with_exf/code/* .   cp ../verification/global_with_exf/code/* .
36   cp ../ocean_inversion_project/code/.genmakerc .   cp ../ocean_inversion_project/code/.genmakerc .
37   cp ../ocean_inversion_project/code/* .   cp ../ocean_inversion_project/code/* .
38   cp ../ocean_inversion_project/code/ptracers_forcing.F.test ptracers_forcing.F   rm ptracers_init.F ptracers_forcing_surf.F PTRACERS.h
39   cp ../ocean_inversion_project/code/ptracers_init.F.test ptracers_init.F   rm ptracers_read_mask.F ptracers_read_takahashi.F
  cp ../ocean_inversion_project/code/ptracers_read_mask.F.test ptracers_read_mask.F  
40   ../tools/genmake   ../tools/genmake
41   make depend   make depend
42   make   make
# Line 38  salinity initial and boundary conditions Line 44  salinity initial and boundary conditions
44  4 ===> execute  4 ===> execute
45    
46   cd ../exe   cd ../exe
47   cp ../verification/global_with_exf/input/* .   cp ../verification/global_with_exf/input/eedata .
48     cp ../verification/global_with_exf/input/data.* .
49     cp ../verification/global_with_exf/input/POLY3.COEFFS .
50     ln -sf ../verification/global_with_exf/input/*.bin .
51   cp ../ocean_inversion_project/input/* .   cp ../ocean_inversion_project/input/* .
52   cp ../ocean_inversion_project/input/data.ptracers.test data.ptracers   cp data.test data
53   mitgcmuv > output .txt   cp data.ptracers.test data.ptracers
54     mitgcmuv > output.txt
55        
56  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  
57    
58   diff PTRACER01.0000000020.001.001.data S.0000000020.001.001.data   diff PTRACER01.0000000020.001.001.data S.0000000020.001.001.data
59   diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data   diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data
60    
61    
62  ======================================================  ==========================================================
63  Second generate binary input files.  netcdf files are not OK  Instructions for carrying out a 3000-year quasi-stationary
64    integration using the global_ocean.90x40x15 configuration.
65  ======================================================  ==========================================================
66  ======================================================  
67  ======================================================  1 ===> compile, link, and execute
68  ======================================================  
69     cd MITgcm/exe
70   cd MITgcm/bin   rm *
71     cd ../bin
72     rm *
73   cp ../verification/global_with_exf/code/* .   cp ../verification/global_with_exf/code/* .
74   cp ../code/.genmakerc .   cp ../ocean_inversion_project/code/.genmakerc .
75   cp ../code/* .   cp ../ocean_inversion_project/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  
76   ../tools/genmake   ../tools/genmake
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   cp ../input/data.ptracers.test data.ptracers   cp ../verification/global_with_exf/input/POLY3.COEFFS .
83   mitgcmuv > output .txt   ln -sf ../verification/global_with_exf/input/*.bin .
84     cp ../ocean_inversion_project/input/* .
85  ===> examine interpolation output for 30-region mask   ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
86     ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
87   matlab   mitgcmuv > output .txt &
  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  
   
 =====================================  
   
88    
 Global ocean experiment with ptracers  
 =====================================  
89    
90  ===> set up and integrate 30-tracer computation  ======================================================
91    
92   cd MITgcm/bin  % some matlab code for looking at fort.10 debug files
93   cp ../verification/global_with_exf/code/* .  load fort.10
94   cp ../code/.genmakerc .  tak=zeros(90,40,12);
95   cp ../code/* .  for n=1:length(fort)
96   ../tools/genmake   m=fort(n,1); i=fort(n,2); j=fort(n,3);
97   make depend   if i>0&i<91&j>0&j<41, tak(i,j,m)=fort(n,4); end
98   make  end
99   cd ../exe  lon=2:4:360; lat=-78:4:78;
100   cp ../verification/global_with_exf/input/* .  clf, contourf(lon,lat,mean(tak(:,:,1),3)',-10:10)
101   cp ../input/* .  caxis([-6 6]), colorbar, plotland
102   mitgcmuv > output .txt  
103    % some matlab code for looking at PTRACER output files
104  ===> look at output  salt=readbin('S.0000000020.001.001.data',[90 40 15],1);
105    tracer=zeros(90,40,15,30);
106   matlab  for i=1:30
107   for i=1:30   fn=['PTRACER' myint2str(i) '.0000000020.001.001.data'];
108    tr=readbin(['PTRACER' myint2str(i) ...   tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
109                '.0000000020.001.001.data'],[90 40 15],1);   clf, mypcolor(tracer(:,:,1,i)'); pause(1)
110    mypcolor(tr(:,:,2)'), colorbar, pause(1)  end
111    tmp=sum(tracer,4); clf, mypcolor(tmp(:,:,1)')
112    mypcolor(
113    
114    
115    % some matlab code for checking that one year's worth of
116    % tracer uptake is approximately 1e18 mols.
117    lon=2:4:360; lat=-78:4:78;
118    thk=[50 70 100 140 190 240 290 340 390 440 490 540 590 640 690];
119    tracer=zeros(90,40,15,30); sumtracer1=zeros(30,1);
120    for i=1:30, mydisp(i)
121     fn=['PTRACER' myint2str(i) '.0000000180.001.001.data'];
122     tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
123     for x=1:length(lon)
124      for y=1:length(lat)
125       for z=1:length(thk)
126        sumtracer1(i) = sumtracer1(i) + tracer(x,y,z,i) * ...
127                        thk(z) * (4*1.113195e+05)^2 * cos(pi*lat(y)/180);
128       end
129      end
130   end   end
131    end
132    
133    % some matlab code for checking that one year's worth of
134    % tracer uptake is approximately 1e18 mols.
135    lon=2:4:360; lat=-78:4:78;
136    thk=[50 70 100 140 190 240 290 340 390 440 490 540 590 640 690];
137    tracer=zeros(90,40,15,30); sumtracer=zeros(30,1);
138    for i=1:30, mydisp(i)
139     fn=['PTRACER' myint2str(i) '.0000003600.001.001.data'];
140     tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
141     for j=1:length(lat)
142      for k=1:length(thk)
143       sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i)) * ...
144                      thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
145      end
146     end
147    end
148    plot(1:30,0*sumtracer,1:30,sumtracer)

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

  ViewVC Help
Powered by ViewVC 1.1.22