0001 function nc_convey_mb_file(infile,vnmb,vnprecip,outfile)
0002
0003
0004
0005
0006
0007 [ncid, status] = mexnc ( 'create', outfile);
0008 ncid_in = mexnc ( 'open', infile, nc_nowrite_mode);
0009 [dimid, status] = mexnc ( 'inq_dimid', ncid_in, 'time' );
0010 [name, length, status] = mexnc ( 'inq_dim', ncid_in, dimid);
0011 [dimidt, status] = mexnc ( 'def_dim', ncid, name, length );
0012
0013 [dimid, status] = mexnc ( 'inq_dimid', ncid_in, 'x1' );
0014 [name, length, status] = mexnc ( 'inq_dim', ncid_in, dimid);
0015 [dimidx, status] = mexnc ( 'def_dim', ncid, name, length );
0016
0017 [dimid, status] = mexnc ( 'inq_dimid', ncid_in, 'y1' );
0018 [name, length, status] = mexnc ( 'inq_dim', ncid_in, dimid);
0019 [dimidy, status] = mexnc ( 'def_dim', ncid, name, length );
0020
0021
0022 [varid, status] = mexnc ( 'def_var', ncid, 'mapping', 'char', 0, [] );
0023
0024
0025 [varid_in, status] = mexnc ( 'inq_varid', ncid_in, 'mapping' );
0026 status = mexnc ( 'copy_att', ncid_in, varid_in, 'grid_mapping_name', ncid, varid );
0027 status = mexnc ( 'copy_att', ncid_in, varid_in, 'standard_parallel', ncid, varid );
0028 status = mexnc ( 'copy_att', ncid_in, varid_in, 'longitude_of_central_meridian', ncid, varid );
0029 status = mexnc ( 'copy_att', ncid_in, varid_in, 'latitude_of_projection_origin', ncid, varid );
0030 status = mexnc ( 'copy_att', ncid_in, varid_in, 'false_easting', ncid, varid );
0031 status = mexnc ( 'copy_att', ncid_in, varid_in, 'false_northing', ncid, varid );
0032
0033
0034 [varid, status] = mexnc ( 'def_var', ncid, vnmb, 'float', 3, [dimidt, dimidy, dimidx]);
0035
0036 [varid_in, status] = mexnc ( 'inq_varid', ncid_in, vnprecip );
0037 status = mexnc ( 'copy_att', ncid_in, varid_in, 'coordinates', ncid, varid );
0038 status = mexnc ( 'copy_att', ncid_in, varid_in, 'long_name', ncid, varid );
0039 status = mexnc ( 'copy_att', ncid_in, varid_in, 'units', ncid, varid );
0040 status = mexnc ( 'copy_att', ncid_in, varid_in, 'grid_mapping', ncid, varid );
0041 [datatype, attlen, status] = mexnc ( 'inq_att', ncid, varid, 'grid_mapping' );
0042 status = mexnc ( ['put_att_',nc_datatype(datatype)], ncid, varid, 'long_name', datatype, attlen, 'accumulation and ablation');
0043
0044
0045
0046 status = mexnc ( 'close', ncid_in );
0047 status = mexnc ( 'close', ncid );
0048
0049 if status~=0
0050 error(mexnc( 'strerror', status));
0051 end