Back to home page

darwin3

 
 

    


Warning, /verification/global_ocean.cs32x15/input.viscA4/mk_addMass.m is written in an unsupported language. File is not indexed.

view on githubraw file Latest commit 79b5d577 on 2025-04-18 19:55:23 UTC
79b5d5775c Jean*0001 
                0002 kwr=0;
                0003 rDir='../input/';
                0004 
                0005 inpSfx='.bin'; prec='real*8';
                0006 outSfx=inpSfx; precOut=prec;
                0007 %outSfx='.r4_bin'; precOut='real*4';
                0008 
                0009 gDir='grid/';
                0010 G=load_grid(gDir,0);
                0011 nx=G.dims(1); ny=G.dims(2); nr=G.dims(3);
                0012 
                0013 mskC=ceil(G.hFacC);
                0014 rAc=G.rAc.*mskC(:,:,1); areaG=sum(rAc(:));
                0015 
                0016 %for j=1:length(listInpF)
                0017 % namF=char(listInpF(j));
                0018   namF='shiEmPR_cs32'; n3d=1; j=1;
                0019   fprintf('-- processing file (#%i) %s ',j,namF);
                0020  %fprintf('(length= %i ) :',length(namF));
                0021   fprintf(': n3d= %i ',n3d);
                0022   var=rdda([rDir,namF,inpSfx],[nx ny n3d],1,prec,'b');
                0023   fprintf(' Make changes\n');
                0024   emp0=var;
                0025 
                0026   var=emp0; titv=namF;
                0027   var=var.*mskC(:,:,1); mnV=min(var(:)); MxV=max(var(:));
                0028   var=var.*rAc; Avr=sum(var(:))/areaG;
                0029   fprintf(' field %15s : min,max= %e, %e , Mean= %e\n',titv,mnV,MxV,Avr);
                0030 
                0031   %- Multiply by 10 and substract 1.e-7 (~ 1.cm/d , excess of Precip):
                0032   emp1=10*emp0-ones(nx,ny)*1.e-7;
                0033 
                0034   var=emp1; titv='- New-';
                0035   var=var.*mskC(:,:,1); mnV=min(var(:)); MxV=max(var(:));
                0036   var=var.*rAc; Avr=sum(var(:))/areaG;
                0037   fprintf(' field %15s : min,max= %e, %e , Mean= %e\n',titv,mnV,MxV,Avr);
                0038 
                0039   %-- convert to addMass:
                0040   rhoFresh=1000.;
                0041   addM=-rhoFresh*emp1; %- mass input in kg/m2/s
                0042   addM=addM.*rAc;      %- in kg/s
                0043 
                0044   var=addM; titv='addMass';
                0045   var=var.*mskC(:,:,1); mnV=min(var(:)); MxV=max(var(:));
                0046   var=var.*rAc; Avr=sum(var(:))/areaG;
                0047   fprintf(' field %15s : min,max= %e, %e , Mean= %e\n',titv,mnV,MxV,Avr);
                0048 
                0049   if kwr > 0,
                0050    fnam=[namF,outSfx];
                0051    fnam=['large_Precip',outSfx]; var=emp1;
                0052    fprintf('  writing file: %s ...',fnam);
                0053    fid=fopen(fnam,'w','b');
                0054    fwrite(fid,var,precOut); fclose(fid);
                0055    fprintf(' done\n');
                0056 
                0057    fnam=['addMass_k1',outSfx]; var=zeros(nx,ny,nr); var(:,:,1)=addM;
                0058    fprintf('  writing file: %s ...',fnam);
                0059    fid=fopen(fnam,'w','b');
                0060    fwrite(fid,var,precOut); fclose(fid);
                0061    fprintf(' done\n');
                0062   end
                0063 
                0064 %end
                0065 %return
                0066 
                0067 figure(1);clf; colormap('jet');
                0068  var=emp0; ccB=[-1 1]*5.e-8;
                0069 %var=emp1; ccB=[-1 1]*5.e-7;
                0070  imagesc([1:nx],[1:ny],var');
                0071  set(gca,'YDir','normal');colorbar;
                0072  caxis(ccB);
                0073 
                0074 return