Home > fvcom_prepro > add_sigma_forDT.m

add_sigma_forDT

PURPOSE ^

! this program adds sigma levels/layers and shifted layers to a netcdf file

SYNOPSIS ^

function add_siglay_forDT(fname)

DESCRIPTION ^

! this program adds sigma levels/layers and shifted layers to a netcdf file 
! so that Datatank can visualize the results.
!

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 %! this program adds sigma levels/layers and shifted layers to a netcdf file
0002 %! so that Datatank can visualize the results.
0003 %!
0004 
0005 function add_siglay_forDT(fname)
0006 
0007 if(~exist(fname))
0008   error(['file: ' fname ' does not exist'])
0009 end;
0010 fprintf('adding siglay DT stuff to %s\n',fname);
0011 nc = netcdf(fname,'w');
0012 
0013 siglay = nc{'siglay'}(:,:);
0014 siglev = nc{'siglev'}(:,:);
0015 [nlay,node] = size(siglay);
0016 [nlev,node] = size(siglev);
0017 fprintf('siglay dimension is %d\n',nlay);
0018 fprintf('siglev dimension is %d\n',nlev);
0019 
0020 siglayDT = zeros(nlay,1);
0021 siglay2DT = zeros(nlay,1);
0022 siglevDT = zeros(nlev,1);
0023 
0024 for i=1:nlev
0025   siglevDT(i) = double(i-1)/double(nlev-1);
0026 end;
0027 for i=1:nlay
0028   siglayDT(i) = 0.5*(siglevDT(i)+siglevDT(i+1));
0029   siglay2DT(i) = siglevDT(i); 
0030 end;
0031 
0032 nc{'siglay_DT'} = ncfloat('siglay') ;
0033 nc{'siglay_DT'}.long_name = 'siglay_DT'; 
0034 
0035 nc{'siglay_shift_DT'} = ncfloat('siglay') ;
0036 nc{'siglay_shift_DT'}.long_name = 'siglay_shift_DT'; 
0037 
0038 nc{'siglev_DT'} = ncfloat('siglev') ;
0039 nc{'siglev_DT'}.long_name = 'siglev_DT'; 
0040 
0041 nc{'siglay_DT'}(:) = siglayDT;
0042 nc{'siglay_shift_DT'}(:) = siglay2DT;
0043 nc{'siglev_DT'}(:) = siglevDT;
0044 
0045 nc = close(nc);
0046 
0047

Generated on Wed 20-Feb-2019 16:06:01 by m2html © 2005