domaine_global_def; domaine; mask=squeeze(tmask3D(:,:,1)); recl=jpi*jpj*4; rep_out='./'; choice_plot=0; for choiceDataSet=1:2; %1->NCEP 2->ECMWF if choiceDataSet==1; data_cur='.ncep.'; ycur0=1992; ycurMax=2006; else choiceDataSet==2; data_cur='.ecmwf.'; ycur0=1992; ycurMax=2006; end;fprintf([data_cur ' flux \n']); fid_runoff=fopen('/net/ross/raid0/gforget/DATAbin/forcing/CORE/runoffannual1x1','r','b'); runoff=fread(fid_runoff,[jpi jpj],'float32').*mask; fclose(fid_runoff); %SST and ICE data: fid_sst=fopen('/net/ross/raid0/gforget/DATAbin/ICECONC/HADLEY/HadISST1_SST_9206_monthly','r','b'); field_sst=fread(fid_sst,jpi*jpj*12,'float32'); fclose(fid_sst); field_sst=reshape(field_sst,jpi,jpj,12); fid_ice=fopen('/net/ross/raid0/gforget/DATAbin/ICECONC/HADLEY/HadISST1_ICE_9206_monthly','r','b'); field_ice=fread(fid_ice,jpi*jpj*12,'float32'); fclose(fid_ice); field_ice=reshape(field_ice,jpi,jpj,12); %for interannual sst: rep_sst='/net/ross/raid2/king/data_1x1_92-03/obs/'; pref_sst='SST_monthly_r2_'; suff_sst=''; for ycur=ycur0:ycurMax suff_out=[data_cur 'flux.' num2str(ycur) '.daily.bin']; list_tcur=[1:365]; doInitFiles=1; doWriteMean=0; for tcur=list_tcur for ttcur=1:4 hcur=(tcur-1)*4+ttcur; %part a: load fields if choiceDataSet==1; [dataFlds]=ncep_load_fluxes(ycur,hcur); else; [dataFlds]=ecmwf_load_fluxes(ycur,hcur); end; %part b: time interpolate sst and ice fields from monthly atlas [mcur,mcurW]=coeff_MonthlyAtlasInterp(tcur); ice=(1-mcurW)*field_ice(:,:,mcur(1))+mcurW*field_ice(:,:,mcur(2)); ice=ice.*mask; dataFlds=setfield(dataFlds,'ice',ice); dataFlds=setfield(dataFlds,'runoff',runoff); %part 2: net fluxes qnet = (1-dataFlds.ice).*( dataFlds.turbflux + dataFlds.swflux ); empmr = (1-dataFlds.ice).*( dataFlds.emp ) - dataFlds.runoff; %part 3: time average %writeFlds=struct('ustress',dataFlds.ustress,'vstress',dataFlds.vstress,'qnet',qnet,'empmr',empmr); turbflux=(1-dataFlds.ice).*dataFlds.turbflux; swflux=(1-dataFlds.ice).*dataFlds.swflux; writeFlds=struct('ustress',dataFlds.ustress,'vstress',dataFlds.vstress,'qnet',qnet,'empmr',empmr,'turbflux',turbflux,'swflux',swflux); averagesFields(doInitFiles,doWriteMean,rep_out,suff_out,writeFlds); doInitFiles=0; %part 4: plot results if choice_plot==1; fig0=6+(choiceDataSet-1)*1; %sign conventions are not the same in exf and largyeager ... I use largeyeager %convention for plot, positive=into the ocean figure(fig0+1); subplot(2,2,1); pcolor(lon2D_t,lat2D_t,dataFlds.ustress); shading flat; caxis([-1 1]*0.2); colorbar; subplot(2,2,2); pcolor(lon2D_t,lat2D_t,dataFlds.vstress); shading flat; caxis([-1 1]*0.1); colorbar; subplot(2,2,3); pcolor(lon2D_t,lat2D_t,-qnet); shading flat; caxis([-1 1]*200); colorbar; subplot(2,2,4); pcolor(lon2D_t,lat2D_t,-empmr); shading flat; caxis([-1 1]*1e-4); colorbar; return; end%if choice_plot==1 end%for ttcur=1:4 doWriteMean=1; averagesFields(doInitFiles,doWriteMean,rep_out,suff_out,writeFlds); doWriteMean=0; end%for tcur=1:365 doInitFiles=-1; doWriteMean=0; averagesFields(doInitFiles,doWriteMean,rep_out,suff_out,writeFlds); end%for ycur=ycur0:ycurMax end%for choiceDataSet=1:2;