/[MITgcm]/MITgcm_contrib/ocean_inversion_project/README
ViewVC logotype

Annotation of /MITgcm_contrib/ocean_inversion_project/README

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (hide annotations) (download)
Tue Sep 23 04:34:23 2003 UTC (21 years, 9 months ago) by dimitri
Branch: MAIN
Changes since 1.2: +90 -64 lines
o Mods and bug fixes to pkg/cal and pkg/exf needed for computation
  of tracer Green's fucntions for ocean inversion project.

1 dimitri 1.1 Ocean Inversion Project
2     =======================
3    
4     Instructions for using pkg/ptracers to compute tracer
5     Green's functions for Gruber's ocean inversion project
6 dimitri 1.3 (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 dimitri 1.1
15    
16 dimitri 1.2 ===============================================
17     First check that pkg/ptracers works OK by using
18     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 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 dimitri 1.3 3 ===> compile and link
33 dimitri 1.2
34     cd bin
35     cp ../verification/global_with_exf/code/* .
36     cp ../ocean_inversion_project/code/.genmakerc .
37     cp ../ocean_inversion_project/code/* .
38 dimitri 1.3 cp ptracers_forcing.F.test ptracers_forcing.F
39     rm ptracers_init.F ptracers_forcing.F
40 dimitri 1.2 ../tools/genmake
41     make depend
42     make
43    
44     4 ===> execute
45    
46     cd ../exe
47 dimitri 1.3 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 dimitri 1.2 cp ../ocean_inversion_project/input/* .
52 dimitri 1.3 cp data.test data
53     cp data.ptracers.test data.ptracers
54 dimitri 1.2 mitgcmuv > output .txt
55    
56     5 ===> check that PTRACER output for tracer 1 and tracer 30
57     ===> is identical to salinity output
58    
59     diff PTRACER01.0000000020.001.001.data S.0000000020.001.001.data
60     diff PTRACER30.0000000020.001.001.data S.0000000020.001.001.data
61    
62    
63 dimitri 1.3 ==========================================================
64     Instructions for carrying out a 3000-year quasi-stationary
65     integration using the global_ocean.90x40x15 configuration.
66     ==========================================================
67    
68     1 ===> compile, link, and execute
69    
70     cd MITgcm/exe
71     rm *
72     cd ../bin
73     rm *
74 dimitri 1.1 cp ../verification/global_with_exf/code/* .
75 dimitri 1.3 cp ../ocean_inversion_project/code/.genmakerc .
76     cp ../ocean_inversion_project/code/* .
77 dimitri 1.1 ../tools/genmake
78     make depend
79     make
80     cd ../exe
81 dimitri 1.3 cp ../verification/global_with_exf/input/eedata .
82     cp ../verification/global_with_exf/input/data.* .
83     cp ../verification/global_with_exf/input/POLY3.COEFFS .
84     ln -sf ../verification/global_with_exf/input/*.bin .
85     cp ../ocean_inversion_project/input/* .
86     ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
87     ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
88     mitgcmuv > output .txt &
89    
90 dimitri 1.1
91 dimitri 1.3 ======================================================
92 dimitri 1.1
93 dimitri 1.3 % some matlab code for looking at fort.10 debug files
94     load fort.10
95     tak=zeros(90,40,12);
96     for n=1:length(fort)
97     m=fort(n,1); i=fort(n,2); j=fort(n,3);
98     if i>0&i<91&j>0&j<41, tak(i,j,m)=fort(n,4); end
99     end
100     lon=2:4:360; lat=-78:4:78;
101     clf, contourf(lon,lat,mean(tak(:,:,1),3)',-10:10)
102     caxis([-6 6]), colorbar, plotland
103    
104     % some matlab code for looking at PTRACER output files
105     tracer=zeros(90,40,15,30);
106     for i=1:30
107     fn=['PTRACER' myint2str(i) '.0000000020.001.001.data'];
108     tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
109     clf, mypcolor(tracer(:,:,1,i)'); pause(1)
110     end
111     tmp=sum(tracer,4); clf, mypcolor(tmp(:,:,1)')
112    
113     % some matlab code for checking that one year's worth of
114     % tracer uptake is approximately 1e18 mols.
115     lon=2:4:360; lat=-78:4:78;
116     thk=[50 70 100 140 190 240 290 340 390 440 490 540 590 640 690];
117     tracer=zeros(90,40,15,30); sumtracer1=zeros(30,1);
118     for i=1:30, mydisp(i)
119     fn=['PTRACER' myint2str(i) '.0000000180.001.001.data'];
120     tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
121     for x=1:length(lon)
122     for y=1:length(lat)
123     for z=1:length(thk)
124     sumtracer1(i) = sumtracer1(i) + tracer(x,y,z,i) * ...
125     thk(z) * (4*1.113195e+05)^2 * cos(pi*lat(y)/180);
126     end
127     end
128 dimitri 1.1 end
129 dimitri 1.3 end
130 dimitri 1.1
131 dimitri 1.3 % some matlab code for checking that one year's worth of
132     % tracer uptake is approximately 1e18 mols.
133     lon=2:4:360; lat=-78:4:78;
134     thk=[50 70 100 140 190 240 290 340 390 440 490 540 590 640 690];
135     tracer=zeros(90,40,15,30); sumtracer=zeros(30,1);
136     for i=1:30, mydisp(i)
137     fn=['PTRACER' myint2str(i) '.0000000180.001.001.data'];
138     tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
139     for j=1:length(lat)
140     for k=1:length(thk)
141     sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i)) * ...
142     thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
143     end
144 dimitri 1.1 end
145 dimitri 1.3 end

  ViewVC Help
Powered by ViewVC 1.1.22