/[MITgcm]/MITgcm_contrib/dfer/matlab_stuff/calcHeatTransDirect.m
ViewVC logotype

Diff of /MITgcm_contrib/dfer/matlab_stuff/calcHeatTransDirect.m

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

revision 1.1 by dfer, Tue Mar 5 18:08:06 2013 UTC revision 1.2 by dfer, Wed Mar 7 22:01:18 2018 UTC
# Line 1  Line 1 
1  function HT = calcHeatTransDirect(varargin)  function HT = calcHeatTransDirect(varargin)
2    
3  % HT = calcHeatTransDirect(d,g,time,flu,blkFile,[optional]);  % HT = calcHeatTransDirect(d,g,dE,GM,time,flu,blkFile,[mask,phi_ref]);
 % HT = calcHeatTransDirect(d,g,time,flu,blkFile,'grav',9.81);  
4  %  %
5  % Input arguements:    % Input arguements:  
6  %   The incoming field data (d) and grid data (g) must be in a structured  %   The incoming field data (d) and grid data (g) must be in a structured
7  %   array format (which is the format that comes from rdmnc):  %   array format (which is the format that comes from rdmnc):
8  %       d  [Field data]  hUtave,hVtave,uVeltave,vVeltave,Ttave,UTtave,  %       d  [Structure]    Various inputs depending on oceanic or
9  %                        VTtave,(Stave,UStave,VStave for atm)  %                         atmospheric computation, rstar or not,
10  %       g  [Grid data ]  drF,dxG,dyG,dxC,dyC,HFacW,HFacS,rA  %                         and GM form/ouputs
11    %       g  [Structure]    drF,dxG,dyG,dxC,dyC,HFacW,HFacS,rA
12    %       dE [Structure]    More field data
13    %       GM [Structure]    Gent anf McWilliams data
14  %   Other input parameters:  %   Other input parameters:
15  %       time     (vec)  Time levels to analyze ([] for all)  %       time [vector]     Time levels to analyze ([] for all)
16  %       flu      (str)  'O' or 'A' for ocean or atmosphere  %       flu  [string]     'O' or 'A' for ocean or atmosphere
17  %       blkFile  (str)  Broken line file (eg 'isoLat_cs32_59.mat')  %       blkFile [string]  Broken line file (eg 'isoLat_cs32_59.mat')
18  %   Optional parameters:  %   Optional parameters:
19  %       'grav'   (num, default 9.81)  Acceleration due to gravity  %       mask [Structure]  W and S mask          
20  %       'LhVap'  (num, default 2501)  Latent heat of vaporization  %       phi_ref [vector]  Reference geopotential height
 %       'CpO'    (num, default 3994)  Specific heat capacity of water  
 %       'RhoO'   (num, default 1030)  Density of sea water  
 %       'CpA'    (num, default 1004)  Specific heat capacity of water  
 %       %'DiffKh' (num, default 800)   Horizontal diffusivity  
21  %  %
22  % Output:  % Output:
23  %   HT_Out is a structured array with the following fields:  %   HT_Out is a structured array with the following fields:
# Line 79  GM= varargin{4}; Line 77  GM= varargin{4};
77  nt= varargin{5};  nt= varargin{5};
78  flu = varargin{6};  flu = varargin{6};
79  blkFile = varargin{7};  blkFile = varargin{7};
 %for ii = 8:2:length(varargin)  
 %    temp = varargin{ii+1}; eval([varargin{ii},' = temp;']);  
 %end  
80  if length(varargin) >= 8 & ~isempty(varargin{8})  if length(varargin) >= 8 & ~isempty(varargin{8})
81     mask = varargin{8};     mask = varargin{8};
82     masking = 1;     masking = 1;
# Line 530  if isequal(flu,'A') Line 525  if isequal(flu,'A')
525      HT.PotHT = reshape(PotHT,ydim+2,nt,nout);      HT.PotHT = reshape(PotHT,ydim+2,nt,nout);
526  end  end
527    
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
 %       Stuff that might need to be added back in later (for basins)      %  
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
   
 % Block for constructing mskG for different basins:  
 % if nBas > 0,  
 %     mskBc=rdda([Rac,'maskC_bas.bin'],[6*nc*nc 3],1,'real*4','b');  
 %     mskBw=rdda([Rac,'maskW_bas.bin'],[6*nc*nc 3],1,'real*4','b');  
 %     mskBs=rdda([Rac,'maskS_bas.bin'],[6*nc*nc 3],1,'real*4','b');  
 %     if nBas==2,  
 %         mskBc(:,2)=mskBc(:,2)+mskBc(:,3);  
 %         mskBw(:,2)=mskBw(:,2)+mskBw(:,3);  
 %         mskBs(:,2)=mskBs(:,2)+mskBs(:,3);  
 %         mskBc=min(1,mskBc); mskBw=min(1,mskBw); mskBs=min(1,mskBs);  
 %     end  
 %     %- load: np_Sep, ij_Sep, tp_Sep:  
 %     sep_lineF=[Rac,'sepBas_cs32_60'];  
 %     load(sep_lineF);  
 %     fprintf([' + bassin mask & Sep.line:',sep_lineF,' \n']);  
 %     %- compute mask for each bassin: -----------  
 %     kMsep=1;  
 %     if kMsep,  
 %         mskW=1+min(1,ceil(hw(:,1)));  
 %         mskS=1+min(1,ceil(hs(:,1)));  
 %         for b=1:nBas,  
 %             bs=b; b1=1+bs; b2=2+rem(bs,nBas);  
 %             if nBas == 2, bs=b+b-1; b1=2; b2=3 ; end  
 %             for j=1:ydim+1,  
 %                 for i=1:np_Sep(bs,j),  
 %                     ij=ij_Sep(bs,j,i); typ=abs(tp_Sep(bs,j,i));  
 %                     if typ == 1,  
 %                         mskG(j,b1)=mskG(j,b1)*mskW(ij);  
 %                         mskG(j,b2)=mskG(j,b2)*mskW(ij);  
 %                     elseif typ == 2,  
 %                         mskG(j,b1)=mskG(j,b1)*mskS(ij);  
 %                         mskG(j,b2)=mskG(j,b2)*mskS(ij);  
 %                     end  
 %                 end  
 %             end  
 %         end  
 %         mskG=2-min(2,mskG);  
 %     end  
 % end  
   
 % % Masking for different basin.  
 % mskZ = ones(ydim+2,1+nBas);  
 % mskZ([2:ydim+1],:) = mskG([1:ydim],:) + mskG([2:ydim+1],:);  
 % mskZ = reshape(min(mskZ,1),(ydim+2)*(1+nBas),1);  
 % I = find(mskZ == 0);  
 % mskZ = reshape(mskZ,(ydim+2),1+nBas);  
 % for n=1:min(6,nout)  
 %     var=SenHT(:,:,n);  
 %     var=reshape(var,(ydim+2)*(1+nBas),1);  var(I) = NaN;  
 %     var=reshape(var,(ydim+2),1+nBas);  SenHT(:,:,n) = var;  
 % end  
   
 % Makes sure that there are no zeros in area AreaZon:  
 % - set AreaZon to 1 if = zero  
 % AreaZon=reshape(AreaZon,(ydim+1)*(1+nBas),1);  
 % [I]=find(AreaZon==0); AreaZon(I)=1;  
 % AreaZon=reshape(AreaZon,ydim+1,1+nBas);  

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22