/[MITgcm]/MITgcm_contrib/mitgcm_tools/nc_add.m
ViewVC logotype

Annotation of /MITgcm_contrib/mitgcm_tools/nc_add.m

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


Revision 1.3 - (hide annotations) (download)
Fri Jun 4 17:10:00 2004 UTC (19 years, 11 months ago) by adcroft
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +1 -1 lines
FILE REMOVED
Moved to MITgcm/utils/matlab

1 adcroft 1.1 function [] = nc_add(nc,shortName,longName,units,grid,var,varargin)
2     % nc_add(nc,shortName,longName,units,grid,var)
3     % nc_add(nc,shortName,longName,units,grid,var,record_number)
4     %
5     % e.g.
6     % >> nc=netcdf('test.nc','clobber');
7     %
8     % Add a dimension (use grid==shortName)
9     % >> nc_add(nc,'X','Longitude','Degrees East','X',xc)
10     % >> nc_add(nc,'Y','Latitude','Degrees North','Y',yc)
11     %
12     % Add a record dimension (use grid==shortName and no values)
13     % >> nc_add(nc,'T','Time','Years','T',[])
14     %
15     % Add a variable on a grid
16     % >> nc_add(nc,'H','Orography','m',{'Y' 'X'},H)
17     %
18     % Add a variable on a grid with recordable dimension
19     % >> nc_add(nc,'time','Time','Years','T',1978,1)
20     % >> nc_add(nc,'theta','Pot. Temp','Degrees K',{'T' 'Y' 'X'},theta,1)
21     % >> nc_add(nc,'time','Time','Years','T',1978,2)
22     % >> nc_add(nc,'theta','Pot. Temp','Degrees K',{'T' 'Y' 'X'},theta,2)
23     %
24     % >> close(nc);
25     %
26 adcroft 1.3 % $Header: /u/gcmpack/MITgcm_contrib/mitgcm_tools/nc_add.m,v 1.2 2004/06/02 19:45:46 jmc Exp $
27 adcroft 1.1
28 jmc 1.2 if strcmp(shortName,grid{1})
29 adcroft 1.1 nc(shortName) = length(var);
30     end
31    
32     nc{shortName} = grid;
33     %nc{shortName}.uniquename = longName;
34     nc{shortName}.long_name = longName;
35     nc{shortName}.units = units;
36     nc{shortName}.missing_value = ncdouble(NaN);
37    
38     nvargs=nargin-6;
39     rcn=0;
40     if nvargs==1
41     rcn=varargin{1};
42     end
43    
44     if ~isempty(var)
45     if prod(size(var))==1
46     nc{shortName}(rcn) = var;
47     else
48     if rcn ~= 0
49     nc{shortName}(rcn,:) = permute(var,ndims(var):-1:1);
50     else
51     nc{shortName}(:) = permute(var,ndims(var):-1:1);
52     end
53     end
54     end
55    

  ViewVC Help
Powered by ViewVC 1.1.22