function [] = nc_add(nc,shortName,longName,units,grid,var,varargin) % nc_add(nc,shortName,longName,units,grid,var) % nc_add(nc,shortName,longName,units,grid,var,record_number) % % e.g. % >> nc=netcdf('test.nc','clobber'); % % Add a dimension (use grid==shortName) % >> nc_add(nc,'X','Longitude','Degrees East','X',xc) % >> nc_add(nc,'Y','Latitude','Degrees North','Y',yc) % % Add a record dimension (use grid==shortName and no values) % >> nc_add(nc,'T','Time','Years','T',[]) % % Add a variable on a grid % >> nc_add(nc,'H','Orography','m',{'Y' 'X'},H) % % Add a variable on a grid with recordable dimension % >> nc_add(nc,'time','Time','Years','T',1978,1) % >> nc_add(nc,'theta','Pot. Temp','Degrees K',{'T' 'Y' 'X'},theta,1) % >> nc_add(nc,'time','Time','Years','T',1978,2) % >> nc_add(nc,'theta','Pot. Temp','Degrees K',{'T' 'Y' 'X'},theta,2) % % >> close(nc); % % $Header: /home/ubuntu/mnt/e9_copy/MITgcm_contrib/mitgcm_tools/Attic/nc_add.m,v 1.3 2004/06/04 17:10:00 adcroft dead $ if strcmp(shortName,grid{1}) nc(shortName) = length(var); end nc{shortName} = grid; %nc{shortName}.uniquename = longName; nc{shortName}.long_name = longName; nc{shortName}.units = units; nc{shortName}.missing_value = ncdouble(NaN); nvargs=nargin-6; rcn=0; if nvargs==1 rcn=varargin{1}; end if ~isempty(var) if prod(size(var))==1 nc{shortName}(rcn) = var; else if rcn ~= 0 nc{shortName}(rcn,:) = permute(var,ndims(var):-1:1); else nc{shortName}(:) = permute(var,ndims(var):-1:1); end end end