24小时热门版块排行榜    

查看: 862  |  回复: 6
当前主题已经存档。

liuzf406

木虫 (著名写手)

[交流] 【求助】如何用matlab建立NetCDF文件

如何用matlab建立NetCDF文件, 我有三维的同位素数据d18O(time,lat,lon)如txt文件,如何建立NetCDF文件.

data.txt
site               lat               lon            Date                    d18O
Chicago        41.78        -87.75        1962-01-15        -18.7
Chicago        41.78        -87.75        1962-02-15        -11.6
Chicago        41.78        -87.75        1962-03-15        -11.4
Chicago        41.78        -87.75        1962-04-15        -6.6
Chicago        41.78        -87.75        1962-05-15        -1.8
Chicago        41.78        -87.75        1962-06-15        -2.7
Chicago        41.78        -87.75        1962-07-15        -5.5
Chicago        41.78        -87.75        1962-08-15        -3.8
Chicago        41.78        -87.75        1962-09-15        -2
Chicago        41.78        -87.75        1962-10-15        -5.7
Chicago        41.78        -87.75        1962-11-15        -10.7
Chicago        41.78        -87.75        1962-12-15        -15.1
Chicago        41.78        -87.75        1963-01-15        -11
Chicago        41.78        -87.75        1963-02-15        -16.7
Chicago        41.78        -87.75        1963-03-15        -5.9
Chicago        41.78        -87.75        1963-04-15        -6.2
Chicago        41.78        -87.75        1963-05-15        -1.8
Chicago        41.78        -87.75        1963-06-15        0.9
Chicago        41.78        -87.75        1963-07-15        -4.3
Chicago        41.78        -87.75        1963-08-15        -1.8
Chicago        41.78        -87.75        1963-09-15        -2.2
Chicago        41.78        -87.75        1963-10-15        -1.2
Chicago        41.78        -87.75        1963-11-15        -15.6
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

所里的

木虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
xinmeng8803(金币+2):感谢回复i! 2010-03-11 09:17
我没有做过这样的工作,我是经常读netcdf文件,在matlab里面

你可以看看netcdf帮助,其实很详细的

%An example to generate an nc  file

% ---------------------------- DEFINE THE FILE --------------------------- %

ncquiet                                              % No NetCDF warnings.

nc = netcdf('ncexample.nc', 'clobber');              % Create NetCDF file,输入文件名.

nc.description = 'NetCDF Example';                   % Global attributes,基本信息.
nc.author = 'Dr. Charles R. Denham';
nc.date = 'June 9, 1997';

nc('latitude') = 10;                                 % Define dimensions,数组维数.
nc('longitude') = 10;

nc{'latitude'} = 'latitude';                         % Define variables,定义变量.
nc{'longitude'} = 'longitude';
nc{'depth'} = {'latitude', 'longitude'};

nc{'latitude'}.units = 'degrees';                    % Attributes,单位信息.
nc{'longitude'}.units = 'degrees';
nc{'depth'}.units = 'meters';

% ---------------------------- STORE THE DATA ---------------------------- %

latitude = [0 10 20 30 40 50 60 70 80 90];           % Matlab data,变量数值.
longitude = [0 20 40 60 80 100 120 140 160 180];
depth = rand(length(latitude), length(longitude));

nc{'latitude'}( = latitude;                        % Put all the data,对nc文件赋各变量的值.
nc{'longitude'}( = longitude;
nc{'depth'}( = depth;

nc = close(nc);                                      % Close the file,关闭文件.

% ---------------------------- RECALL THE DATA ---------------------------%读文件

nc = netcdf('ncexample.nc', 'nowrite');              % Open NetCDF file.
description = nc.description(                      % Global attribute.
variables = var(nc);                                 % Get variable data.
for i = 1:length(variables)
   disp([name(variables{i}) ' =']), disp(' ')
   disp(variables{i}()
end
nc = close(nc);                                      % Close the file.

% --------------------------------- DONE --------------------------------- %
2楼2010-03-11 08:40:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuzf406

木虫 (著名写手)

引用回帖:
Originally posted by 所里的 at 2010-03-11 08:40:28:
我没有做过这样的工作,我是经常读netcdf文件,在matlab里面

你可以看看netcdf帮助,其实很详细的

%An example to generate an nc  file

% ---------------------------- DEFINE THE FILE ------------- ...

谢谢啊,我用的是matlab r2009b, 里面已经有NetCDF tools, 可惜不会用.
3楼2010-03-11 08:59:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuzf406

木虫 (著名写手)

您好,如何将我的d18O数据读入所建的.nc文件啊? 谢谢!
4楼2010-03-11 09:07:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

所里的

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
matlab 2009我没有用过啊
不过我想应该不难,都出tool了,你仔细看看matlab的帮助,应该是有的
你在命令窗口输入 doc netcdf

试试,可能是英文,不要紧,慢慢看,慢慢摸索,
搞清楚一个,以后搞什么都方便了

不过估计你是高手,所以我失礼了
5楼2010-03-11 11:56:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuzf406

木虫 (著名写手)

clear
%define axis
X=40.5:42.5;
Y=-88.5:-86.5;
T=169:372; %time period 1/1962:12/1979
%Creat netcdf file
ncid = netcdf.create('Isotope.nc','NC_WRITE');
%Define the dimensions of the variables
latdimID = netcdf.defDim(ncid,'lat',length(X));
londimID = netcdf.defDim(ncid,'lon',length(Y));
timedimID = netcdf.defDim(ncid,'time',length(T));
% Define a new variable named 'monthlyIso'in the file
isovarid = netcdf.defVar(ncid,'monthlyIso','NC_DOUBLE',[latdimID londimID timedimID]);
% Assign unit attributes
netcdf.putAtt(ncid,isovarid,'units','per mil');
netcdf.endDef(ncid);
netcdf.putVar(ncid,isovarid,mydata);
netcdf.close(ncid);

试了试,可是不对啊.
6楼2010-03-11 23:56:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

所里的

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
应该是4维吧,我不太会用2009版本
但是从你的代码看,似乎没有你的X Y T的输入

少了第4维
7楼2010-03-12 15:40:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 liuzf406 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 23jxep3nCNZb 2026-09-14 4/200 2026-09-16 21:03 by MHf40yA0Uhyb
[考研] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 23jxep3nCNZb 2026-09-14 4/200 2026-09-16 20:50 by MHf40yA0Uhyb
[考研] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 23jxep3nCNZb 2026-09-14 3/150 2026-09-16 20:50 by MHf40yA0Uhyb
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 s3fFTmArrBt6 2026-09-14 5/250 2026-09-16 19:15 by rRvxEj3zorCy
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 s3fFTmArrBt6 2026-09-13 3/150 2026-09-16 18:39 by rRvxEj3zorCy
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 6F5UbRU2I5hL 2026-09-14 6/300 2026-09-16 17:27 by i3KBRD19ERkG
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 6F5UbRU2I5hL 2026-09-14 4/200 2026-09-16 17:03 by i3KBRD19ERkG
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +6 LwdutQ8HoqWP 2026-09-13 6/300 2026-09-16 15:24 by i3KBRD19ERkG
[考博] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +7 QUjhNVAcOSff 2026-09-13 7/350 2026-09-16 14:36 by i3KBRD19ERkG
[考博] 上海工程技术大学激光智能制造课题组招收博士研究生 +8 两三岁ss 2026-09-14 8/400 2026-09-16 09:46 by 水士口
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 40ms4Wlo4umh 2026-09-14 3/150 2026-09-16 06:48 by LH5NkK5Ud4bh
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 s3fFTmArrBt6 2026-09-13 6/300 2026-09-16 03:50 by DgNGHc3h5tPl
[公派出国] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 s3fFTmArrBt6 2026-09-13 6/300 2026-09-16 03:35 by DgNGHc3h5tPl
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-16 03:23 by DgNGHc3h5tPl
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 3n8v2C8RimXI 2026-09-13 7/350 2026-09-15 14:49 by VMDqgnlKimtZ
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +6 QUjhNVAcOSff 2026-09-13 7/350 2026-09-15 14:22 by VMDqgnlKimtZ
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 6F5UbRU2I5hL 2026-09-14 3/150 2026-09-15 08:26 by C79jjtjAKjEn
[教师之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-15 07:46 by C79jjtjAKjEn
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 s3fFTmArrBt6 2026-09-13 4/200 2026-09-15 06:50 by 5BDX0d0WFp7t
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:13 by Aj1rhIDL5ixY
信息提示
请填处理意见