/[MITgcm]/MITgcm_contrib/high_res_cube/input/mk_ncep_rgau_clim.m
ViewVC logotype

Contents of /MITgcm_contrib/high_res_cube/input/mk_ncep_rgau_clim.m

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


Revision 1.1 - (show annotations) (download)
Wed Dec 10 19:40:14 2003 UTC (21 years, 7 months ago) by dimitri
Branch: MAIN
CVS Tags: hrcube4, hrcube5, hrcube_1, hrcube_2, hrcube_3, HEAD
o changes to permit hi-res, cubed-sphere, configuration
  - added useSingleCpuIO capability to mdsio_readfield.F and exf_interp.F
  - added "#undef ALLOW_USE_MPI" support to eesupp/src/scatter_2d.F
  - added pkg/exf/exf_set_uv.F for on-the-fly interpolation and rotation
    of surface winds for the cube
  (A verification experiment, based on global_ocean.cs32x15, but with
   pkg/seaice turned on and with on-the-fly interpolation from the NCEP
   Gaussian grid is described in MITgcm_contrib/high_res_cube/README_ice,
   complete with example surface forcing files and matlab scripts to look
   at the output and compare it with that of global_ocean.cs32x15.)

1 % Generate NCEP Gaussian input fields for cube-sphere,
2 % bulk-formulae, sea-ice integration: a monthly mean
3 % climatology based on Charmaine's ncep_rgau.
4
5 clear all, close all
6 nx=192; ny=94; nt=1464;
7 pn='/host/nemo/data2/odap/ncep_rgau/';
8
9 % Surface (10-m) zonal wind velocity in m/s
10 fn='/RG_u10m'; fout='uwind_192_94_12.bin'; disp(fout)
11 fld=zeros(nx,ny,12); n=0;
12 for year=1978:2002, n=n+1;
13 yr=year-100*floor(year/100);
14 dc=10*floor(yr/10);
15 fin=[pn myint2str(dc) fn myint2str(yr)];
16 disp(fin)
17 tmp=readbin(fin,[nx ny nt]);
18 for mo=1:12
19 it=(1:122)+(mo-1)*122;
20 fld(:,:,mo)=fld(:,:,mo)+mean(tmp(:,:,it),3);
21 end
22 end
23 fld=fld/n; writebin(fout,fld);
24
25 % Surface (10-m) meridional wind velocity in m/s
26 fn='/RG_v10m'; fout='vwind_192_94_12.bin'; disp(fout)
27 fld=zeros(nx,ny,12); n=0;
28 for year=1978:2002, n=n+1;
29 yr=year-100*floor(year/100);
30 dc=10*floor(yr/10);
31 fin=[pn myint2str(dc) fn myint2str(yr)];
32 disp(fin)
33 tmp=readbin(fin,[nx ny nt]);
34 for mo=1:12
35 it=(1:122)+(mo-1)*122;
36 fld(:,:,mo)=fld(:,:,mo)+mean(tmp(:,:,it),3);
37 end
38 end
39 fld=fld/n; writebin(fout,fld);
40
41 % Surface (2-m) air temperature in deg K
42 fn='/RG_tmp2m'; fout='atemp_192_94_12.bin'; disp(fout)
43 fld=zeros(nx,ny,12); n=0;
44 for year=1978:2002, n=n+1;
45 yr=year-100*floor(year/100);
46 dc=10*floor(yr/10);
47 fin=[pn myint2str(dc) fn myint2str(yr)];
48 disp(fin)
49 tmp=readbin(fin,[nx ny nt]);
50 for mo=1:12
51 it=(1:122)+(mo-1)*122;
52 fld(:,:,mo)=fld(:,:,mo)+mean(tmp(:,:,it),3);
53 end
54 end
55 fld=fld/n; writebin(fout,fld);
56
57 % Surface (2m) specific humidity in kg/kg
58 fn='/RG_spfh2m'; fout='aqh_192_94_12.bin'; disp(fout)
59 fld=zeros(nx,ny,12); n=0;
60 for year=1978:2002, n=n+1;
61 yr=year-100*floor(year/100);
62 dc=10*floor(yr/10);
63 fin=[pn myint2str(dc) fn myint2str(yr)];
64 disp(fin)
65 tmp=readbin(fin,[nx ny nt]);
66 for mo=1:12
67 it=(1:122)+(mo-1)*122;
68 fld(:,:,mo)=fld(:,:,mo)+mean(tmp(:,:,it),3);
69 end
70 end
71 fld=fld/n; writebin(fout,fld);
72
73 % Precipitation in m/s
74 fn='/RG_rain'; fout='precip_192_94_12.bin'; disp(fout)
75 fld=zeros(nx,ny,12); n=0;
76 for year=1978:2002, n=n+1;
77 yr=year-100*floor(year/100);
78 dc=10*floor(yr/10);
79 fin=[pn myint2str(dc) fn myint2str(yr)];
80 disp(fin)
81 tmp=readbin(fin,[nx ny nt]);
82 for mo=1:12
83 it=(1:122)+(mo-1)*122;
84 fld(:,:,mo)=fld(:,:,mo)+mean(tmp(:,:,it),3);
85 end
86 end
87 fld=fld/n; writebin(fout,fld);
88
89 % Downward shortwave radiation in W/m^2
90 fn='/RG_dsw'; fout='swdown_192_94_12.bin'; disp(fout)
91 fld=zeros(nx,ny,12); n=0;
92 for year=1978:2002, n=n+1;
93 yr=year-100*floor(year/100);
94 dc=10*floor(yr/10);
95 fin=[pn myint2str(dc) fn myint2str(yr)];
96 disp(fin)
97 tmp=readbin(fin,[nx ny nt]);
98 for mo=1:12
99 it=(1:122)+(mo-1)*122;
100 fld(:,:,mo)=fld(:,:,mo)+mean(tmp(:,:,it),3);
101 end
102 end
103 fld=fld/n; writebin(fout,fld);
104
105 % Downward longwave radiation in W/m^2
106 fn='/RG_dlw'; fout='lwdown_192_94_12.bin'; disp(fout)
107 fld=zeros(nx,ny,12); n=0;
108 for year=1978:2002, n=n+1;
109 yr=year-100*floor(year/100);
110 dc=10*floor(yr/10);
111 fin=[pn myint2str(dc) fn myint2str(yr)];
112 disp(fin)
113 tmp=readbin(fin,[nx ny nt]);
114 for mo=1:12
115 it=(1:122)+(mo-1)*122;
116 fld(:,:,mo)=fld(:,:,mo)+mean(tmp(:,:,it),3);
117 end
118 end
119 fld=fld/n; writebin(fout,fld);

  ViewVC Help
Powered by ViewVC 1.1.22