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

Contents of /MITgcm_contrib/ocean_inversion_project/README

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


Revision 1.20 - (show annotations) (download)
Thu Dec 18 06:11:14 2003 UTC (21 years, 6 months ago) by dimitri
Branch: MAIN
Changes since 1.19: +1 -0 lines
bug fix to pkg/cal/cal_toseconds.F
and length-of-year change to ocean_inversion_project/*

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 (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 ===============================================
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 -r checkpoint51n_branch 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/* .
36 cp ../ocean_inversion_project/code/* .
37 rm ptracers_*.F PTRACERS_OPTIONS.h
38 ../tools/genmake2
39 (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
40 make depend
41 make
42
43 4 ===> execute
44
45 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 diff PTRtave30.0000000020.001.001.data Stave.0000000020.001.001.data
60 diff PTRtave30.0000000020.001.001.data Stave.0000000020.001.001.data
61
62
63 ==========================================================
64 MPI instructions for carrying out a 3000-year quasi-stationary
65 integration using the global_ocean.90x40x15 configuration.
66 ==========================================================
67
68 cd MITgcm/exe
69 rm *
70 cd ../bin
71 rm *
72 cp ../verification/global_with_exf/code/* .
73 cp ../ocean_inversion_project/code/* .
74 rm PTRACERS_OPTIONS.h
75 cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
76 cp SIZE.h_mpi SIZE.h
77 ../tools/genmake2
78 (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
79 make depend
80 make
81 cd ../exe
82 cp ../verification/global_with_exf/input/eedata .
83 cp ../verification/global_with_exf/input/data.* .
84 cp ../verification/global_with_exf/input/POLY3.COEFFS .
85 ln -sf ../verification/global_with_exf/input/*.bin .
86 cp ../ocean_inversion_project/input/* .
87 ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
88 ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
89 cp data.stationary.1 data
90 mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
91 (on orion: qsub job.orion)
92
93 ==========================================================
94 MPI instructions for carrying out time-dependent, 1765-2005,
95 anthropogenic carbon perturbation tracer experiments using
96 the global_ocean.90x40x15 configuration.
97 ==========================================================
98
99 cd MITgcm/exe
100 rm *
101 cd ../bin
102 rm *
103 cp ../verification/global_with_exf/code/* .
104 cp ../ocean_inversion_project/code/* .
105 cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
106 cp SIZE.h_mpi SIZE.h
107 ../tools/genmake2
108 (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
109 make depend
110 make
111 cd ../exe
112 cp ../verification/global_with_exf/input/eedata .
113 cp ../verification/global_with_exf/input/data.* .
114 cp ../verification/global_with_exf/input/POLY3.COEFFS .
115 ln -sf ../verification/global_with_exf/input/*.bin .
116 cp ../ocean_inversion_project/input/* .
117 cp data.1765-2005 data
118 ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
119 ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
120 ln -sf ../ocean_inversion_project/atm_co2/splco2_cis92a.dat .
121 mpirun -np 24 dplace -s1 mitgcmuv < /dev/null > & ! errlog &
122 (on orion: qsub job.orion.td)
123
124
125 ==========================================================
126 Instructions for carrying out time-dependent, 1765-2005,
127 anthropogenic carbon perturbation tracer experiments using
128 global_ocean.90x40x15 configuration and netcdf output.
129 This assumes that the appropriate libnetcdf.a exists
130 and that it be specified in the genmake2 option file.
131 ==========================================================
132
133 cd MITgcm/exe
134 rm *
135 cd ../bin
136 rm *
137 cp ../verification/global_with_exf/code/* .
138 cp ../ocean_inversion_project/code/* .
139 cp PTRACERS_OPTIONS.h.netcdf PTRACERS_OPTIONS.h
140 cp ../ocean_inversion_project/write_netCDF/* .
141 \rm mk_output.F
142
143 ### need customized option file; example below is for nireas
144 ../tools/genmake2 -of linux_ia32_g77_netcdf
145
146 make depend
147 make
148 cd ../exe
149 cp ../verification/global_with_exf/input/eedata .
150 cp ../verification/global_with_exf/input/data.* .
151 cp ../verification/global_with_exf/input/POLY3.COEFFS .
152 ln -sf ../verification/global_with_exf/input/*.bin .
153 cp ../ocean_inversion_project/input/* .
154 cp data.1765-2005.1 data
155 ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
156 ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
157 ln -sf ../ocean_inversion_project/atm_co2/splco2_cis92a.dat .
158 mitgcmuv > output .txt &
159
160
161 ======================================================
162
163 ==========================================================
164 Instructions for generating netcdf output files on orion
165 ==========================================================
166
167 cd ocean_inversion_project/write_netCDF
168 setenv F_UFMTENDIAN big
169
170 (check that defaults in mk_output.F are appropriate)
171
172 efc -W0 -WB mk_output.F write_nc_phys.F nc_util.F \
173 handle_errors.F write_nc_basisfnctns.F \
174 write_nc_diag_0D.F write_nc_diag_2D.F \
175 -I/u2/dmenem/software/netcdf-3.5.0/include \
176 -L/u2/dmenem/software/netcdf-3.5.0/lib -lnetcdf
177 a.out
178
179
180 ======================================================
181
182 % some matlab code for looking at fort.10 debug files
183 load fort.10
184 tak=zeros(90,40,12);
185 for n=1:length(fort)
186 m=fort(n,1); i=fort(n,2); j=fort(n,3);
187 if i>0&i<91&j>0&j<41, tak(i,j,m)=fort(n,4); end
188 end
189 lon=2:4:360; lat=-78:4:78;
190 clf, contourf(lon,lat,mean(tak(:,:,1),3)',-10:10)
191 caxis([-6 6]), colorbar, plotland
192
193 % some matlab code for looking at PTRACER output files
194 salt=readbin('S.0000000020.001.001.data',[90 40 15],1);
195 tracer=zeros(90,40,15,30);
196 for i=1:30
197 fn=['PTRACER' myint2str(i) '.0000000020.001.001.data'];
198 tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
199 clf, mypcolor(tracer(:,:,1,i)'); pause(1)
200 end
201 tmp=sum(tracer,4); clf, mypcolor(tmp(:,:,1)')
202 mypcolor(
203
204
205 % some matlab code for checking that one year's worth of
206 % tracer uptake is approximately 1e18 mols.
207 lon=2:4:360; lat=-78:4:78;
208 thk=[50 70 100 140 190 240 290 340 390 440 490 540 590 640 690];
209 mask=readbin('hFacC.001.001.data',[90 40 15],1);
210 tracer=zeros(90,40,15,30); sumtracer=zeros(30,1);
211 for i=1:30, mydisp(i)
212 fn=['PTRACER' myint2str(i) '.0000001800.001.001.data'];
213 tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
214 for j=1:length(lat)
215 for k=1:length(thk)
216 sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i).*mask(:,j,k)) * ...
217 thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
218 end
219 end
220 end
221 plot(1:30,0*sumtracer,1:30,sumtracer)

  ViewVC Help
Powered by ViewVC 1.1.22