Home > fvcom_prepro > write_FVCOM_sponge.m

write_FVCOM_sponge

PURPOSE ^

Write FVCOM format sponge layer file

SYNOPSIS ^

function write_FVCOM_sponge(Mobj,filename)

DESCRIPTION ^

 Write FVCOM format sponge layer file  

 function write_FVCOM_sponge(Mobj,filename)

 DESCRIPTION:
    Generate an ascii FVCOM 3.x format sponge file from Mesh object

 INPUT 
   Mobj     = Mesh object
   filename = FVCOM sponge file name

 OUTPUT:
    FVCOM sponge file: filename

 EXAMPLE USAGE
    write_FVCOM_sponge(Mobj,'tst_spg.dat')   

 Author(s):  
    Geoff Cowles (University of Massachusetts Dartmouth)
    Karen Thurston (National Oceanography Centre, Liverpool)

 Revision history
   2013-01-18  Added support for variable sponge radius
   
==============================================================================

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function write_FVCOM_sponge(Mobj,filename) 
0002 
0003 % Write FVCOM format sponge layer file
0004 %
0005 % function write_FVCOM_sponge(Mobj,filename)
0006 %
0007 % DESCRIPTION:
0008 %    Generate an ascii FVCOM 3.x format sponge file from Mesh object
0009 %
0010 % INPUT
0011 %   Mobj     = Mesh object
0012 %   filename = FVCOM sponge file name
0013 %
0014 % OUTPUT:
0015 %    FVCOM sponge file: filename
0016 %
0017 % EXAMPLE USAGE
0018 %    write_FVCOM_sponge(Mobj,'tst_spg.dat')
0019 %
0020 % Author(s):
0021 %    Geoff Cowles (University of Massachusetts Dartmouth)
0022 %    Karen Thurston (National Oceanography Centre, Liverpool)
0023 %
0024 % Revision history
0025 %   2013-01-18  Added support for variable sponge radius
0026 %
0027 %==============================================================================
0028 subname = 'write_FVCOM_sponge';
0029 global ftbverbose 
0030 if(ftbverbose)
0031   fprintf('\n'); fprintf(['begin : ' subname '\n']);
0032 end;
0033 
0034 %------------------------------------------------------------------------------
0035 % Parse input arguments
0036 %------------------------------------------------------------------------------
0037 if(exist('Mobj')*exist('filename')==0)
0038     error('arguments to write_FVCOM_sponge are incorrect')
0039 end;
0040 
0041 %------------------------------------------------------------------------------
0042 % Dump the file
0043 %------------------------------------------------------------------------------
0044 if(ftbverbose); fprintf('writing FVCOM spongefile %s\n',filename); end;
0045 fid = fopen(filename,'w');
0046 
0047 if(Mobj.nSponge==0)
0048     fprintf(fid,'Sponge Node Number = %d\n',0);
0049 else
0050     Total_Sponge = sum(Mobj.nSpongeNodes(1:Mobj.nSponge));
0051     fprintf(fid,'Sponge Node Number = %d\n',Total_Sponge);
0052     for i=1:Mobj.nSponge
0053         if max(size(Mobj.sponge_rad))==1   % if you have a constant sponge radius
0054             for j=1:Mobj.nSpongeNodes(i)
0055                 fprintf(fid,'%d %f %f \n',Mobj.sponge_nodes(i,j),Mobj.sponge_rad(i),Mobj.sponge_fac(i));
0056             end;
0057         else    % if you have a variable sponge radius
0058             for j=1:Mobj.nSpongeNodes(i)
0059                 fprintf(fid,'%d %f %f \n',Mobj.sponge_nodes(i,j),Mobj.sponge_rad(i,j),Mobj.sponge_fac(i));
0060             end;
0061         end
0062     end;
0063 end;
0064 fclose(fid);
0065         
0066 if(ftbverbose)
0067   fprintf(['end   : ' subname '\n'])
0068 end;
0069

Generated on Mon 04-Feb-2013 14:22:28 by m2html © 2005