/[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.3 by dimitri, Tue Sep 23 04:34:23 2003 UTC revision 1.21 by dimitri, Thu Sep 30 23:45:07 2004 UTC
# Line 20  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    
# Line 31  salinity initial and boundary conditions Line 33  salinity initial and boundary conditions
33    
34  3 ===> compile and link  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 ptracers_forcing.F.test ptracers_forcing.F   rm ptracers_*.F PTRACERS_OPTIONS.h
41   rm ptracers_init.F ptracers_forcing.F   ../tools/genmake2
42   ../tools/genmake     (on orion: ../tools/genmake2 -of linux_ia64_efc+mpi)
43   make depend   make depend
44   make   make
45    
# Line 51  salinity initial and boundary conditions Line 53  salinity initial and boundary conditions
53   cp ../ocean_inversion_project/input/* .   cp ../ocean_inversion_project/input/* .
54   cp data.test data   cp data.test data
55   cp data.ptracers.test data.ptracers   cp data.ptracers.test data.ptracers
56   mitgcmuv > output .txt   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  Instructions for carrying out a 3000-year quasi-stationary  MPI instructions for carrying out a 3000-year quasi-stationary
68  integration using the global_ocean.90x40x15 configuration.  integration using the global_ocean.90x40x15 configuration.
69  ==========================================================  ==========================================================
70    
71  1 ===> compile, link, and execute   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   cd MITgcm/exe
103   rm *   rm *
104   cd ../bin   cd ../bin
105   rm *   rm *
106   cp ../verification/global_with_exf/code/* .   cp ../verification/global_with_exf/code/* .
  cp ../ocean_inversion_project/code/.genmakerc .  
107   cp ../ocean_inversion_project/code/* .   cp ../ocean_inversion_project/code/* .
108   ../tools/genmake   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   make depend
113   make   make
114   cd ../exe   cd ../exe
# Line 83  integration using the global_ocean.90x40 Line 117  integration using the global_ocean.90x40
117   cp ../verification/global_with_exf/input/POLY3.COEFFS .   cp ../verification/global_with_exf/input/POLY3.COEFFS .
118   ln -sf ../verification/global_with_exf/input/*.bin .   ln -sf ../verification/global_with_exf/input/*.bin .
119   cp ../ocean_inversion_project/input/* .   cp ../ocean_inversion_project/input/* .
120     cp data.1765-2005 data
121   ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .   ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
122   ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .   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    
149     make depend
150     make
151     cd ../exe
152     cp ../verification/global_with_exf/input/eedata .
153     cp ../verification/global_with_exf/input/data.* .
154     cp ../verification/global_with_exf/input/POLY3.COEFFS .
155     ln -sf ../verification/global_with_exf/input/*.bin .
156     cp ../ocean_inversion_project/input/* .
157     cp data.1765-2005.1 data
158     ln -sf ../ocean_inversion_project/region_mask/30reg_regionmask.bin .
159     ln -sf ../ocean_inversion_project/takahashi/taka02_montlhy.bin .
160     ln -sf ../ocean_inversion_project/atm_co2/splco2_cis92a.dat .
161   mitgcmuv > output .txt &   mitgcmuv > output .txt &
162    
163    
164  ======================================================  ======================================================
165    
166    ==========================================================
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    
182    
183    ======================================================
184    
185  % some matlab code for looking at fort.10 debug files  % some matlab code for looking at fort.10 debug files
186  load fort.10  load fort.10
187  tak=zeros(90,40,12);  tak=zeros(90,40,12);
# Line 102  clf, contourf(lon,lat,mean(tak(:,:,1),3) Line 194  clf, contourf(lon,lat,mean(tak(:,:,1),3)
194  caxis([-6 6]), colorbar, plotland  caxis([-6 6]), colorbar, plotland
195    
196  % some matlab code for looking at PTRACER output files  % some matlab code for looking at PTRACER output files
197    salt=readbin('S.0000000020.001.001.data',[90 40 15],1);
198  tracer=zeros(90,40,15,30);  tracer=zeros(90,40,15,30);
199  for i=1:30  for i=1:30
200   fn=['PTRACER' myint2str(i) '.0000000020.001.001.data'];   fn=['PTRACER' myint2str(i) '.0000000020.001.001.data'];
# Line 109  for i=1:30 Line 202  for i=1:30
202   clf, mypcolor(tracer(:,:,1,i)'); pause(1)   clf, mypcolor(tracer(:,:,1,i)'); pause(1)
203  end  end
204  tmp=sum(tracer,4); clf, mypcolor(tmp(:,:,1)')  tmp=sum(tracer,4); clf, mypcolor(tmp(:,:,1)')
205    mypcolor(
206    
207    
208  % some matlab code for checking that one year's worth of  % some matlab code for checking that one year's worth of
209  % tracer uptake is approximately 1e18 mols.  % tracer uptake is approximately 1e18 mols.
210  lon=2:4:360; lat=-78:4:78;  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];  thk=[50 70 100 140 190 240 290 340 390 440 490 540 590 640 690];
212  tracer=zeros(90,40,15,30); sumtracer1=zeros(30,1);  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)  for i=1:30, mydisp(i)
215   fn=['PTRACER' myint2str(i) '.0000000180.001.001.data'];   fn=['PTRACER' myint2str(i) '.0000001800.001.001.data'];
216   tracer(:,:,:,i)=readbin(fn,[90 40 15],1);   tracer(:,:,:,i)=readbin(fn,[90 40 15],1);
217   for x=1:length(lon)   for j=1:length(lat)
218    for y=1:length(lat)    for k=1:length(thk)
219     for z=1:length(thk)     sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i).*mask(:,j,k)) * ...
220      sumtracer1(i) = sumtracer1(i) + tracer(x,y,z,i) * ...                    thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
                     thk(z) * (4*1.113195e+05)^2 * cos(pi*lat(y)/180);  
    end  
221    end    end
222   end   end
223  end  end
224    plot(1:30,0*sumtracer,1:30,sumtracer)
225    
226  % some matlab code for checking that one year's worth of  
227  % tracer uptake is approximately 1e18 mols.  % check that tracer flux is 1e18 mols / year
228    nb_seconds_per_year=31556880;
229  lon=2:4:360; lat=-78:4:78;  lon=2:4:360; lat=-78:4:78;
230  thk=[50 70 100 140 190 240 290 340 390 440 490 540 590 640 690];  mask=readbin('hFacC.data',[90 40 15],1);
231  tracer=zeros(90,40,15,30); sumtracer=zeros(30,1);  tracer=zeros(90,40,30); sumtracer=zeros(30,1);
232  for i=1:30, mydisp(i)  for i=1:30, mydisp(i)
233   fn=['PTRACER' myint2str(i) '.0000000180.001.001.data'];   fn=['PtrFlux' myint2str(i) '.0000000180.data'];
234   tracer(:,:,:,i)=readbin(fn,[90 40 15],1);   tracer(:,:,i)=readbin(fn,[90 40],1);
235   for j=1:length(lat)   for j=1:length(lat)
236    for k=1:length(thk)      sumtracer(i) = sumtracer(i) + sum(tracer(:,j,i).*mask(:,j,1)) * ...
237     sumtracer(i) = sumtracer(i) + sum(tracer(:,j,k,i)) * ...          nb_seconds_per_year* (4*1.113195e+05)^2 * cos(pi*lat(j)/180);
                   thk(k) * (4*1.113195e+05)^2 * cos(pi*lat(j)/180);  
238    end    end
  end  
239  end  end
240    plot(1:30,0*sumtracer,1:30,sumtracer-mmean(sumtracer))

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

  ViewVC Help
Powered by ViewVC 1.1.22