Parent Directory
|
Revision Log
|
Revision Graph
|
Patch
--- MITgcm_contrib/dfer/matlab_stuff/calcHeatTransDirect.m 2013/03/05 18:08:06 1.1
+++ MITgcm_contrib/dfer/matlab_stuff/calcHeatTransDirect.m 2018/03/07 22:01:18 1.2
@@ -1,25 +1,23 @@
function HT = calcHeatTransDirect(varargin)
-% HT = calcHeatTransDirect(d,g,time,flu,blkFile,[optional]);
-% HT = calcHeatTransDirect(d,g,time,flu,blkFile,'grav',9.81);
+% HT = calcHeatTransDirect(d,g,dE,GM,time,flu,blkFile,[mask,phi_ref]);
%
% Input arguements:
% The incoming field data (d) and grid data (g) must be in a structured
% array format (which is the format that comes from rdmnc):
-% d [Field data] hUtave,hVtave,uVeltave,vVeltave,Ttave,UTtave,
-% VTtave,(Stave,UStave,VStave for atm)
-% g [Grid data ] drF,dxG,dyG,dxC,dyC,HFacW,HFacS,rA
+% d [Structure] Various inputs depending on oceanic or
+% atmospheric computation, rstar or not,
+% and GM form/ouputs
+% g [Structure] drF,dxG,dyG,dxC,dyC,HFacW,HFacS,rA
+% dE [Structure] More field data
+% GM [Structure] Gent anf McWilliams data
% Other input parameters:
-% time (vec) Time levels to analyze ([] for all)
-% flu (str) 'O' or 'A' for ocean or atmosphere
-% blkFile (str) Broken line file (eg 'isoLat_cs32_59.mat')
+% time [vector] Time levels to analyze ([] for all)
+% flu [string] 'O' or 'A' for ocean or atmosphere
+% blkFile [string] Broken line file (eg 'isoLat_cs32_59.mat')
% Optional parameters:
-% 'grav' (num, default 9.81) Acceleration due to gravity
-% 'LhVap' (num, default 2501) Latent heat of vaporization
-% '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
+% mask [Structure] W and S mask
+% phi_ref [vector] Reference geopotential height
%
% Output:
% HT_Out is a structured array with the following fields:
@@ -79,9 +77,6 @@
nt= varargin{5};
flu = varargin{6};
blkFile = varargin{7};
-%for ii = 8:2:length(varargin)
-% temp = varargin{ii+1}; eval([varargin{ii},' = temp;']);
-%end
if length(varargin) >= 8 & ~isempty(varargin{8})
mask = varargin{8};
masking = 1;
@@ -530,64 +525,3 @@
HT.PotHT = reshape(PotHT,ydim+2,nt,nout);
end
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% 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);
| ViewVC Help | |
| Powered by ViewVC 1.1.22 |