function [inifile, ctli]=nepd_ex_init(sub_I, sub_J, grd, grdn, nameit, res, inittime, npzd, np) % function [inifile, ctli]=nepd_ex_init(sub_I, sub_J, grd, grdn, nameit, res, inittime, npzd, np) % Extract a subgrid of GRD at resolution RES for the % subdomain SUB_I, SUB_J. % RES=1 keep existing resolution % RES=2 double the resolution % INITTIME choosen date for initial condition in MATLAB datenum format % NP number of passive tracers to introduce in initial cond. % NPZD =1 to introduce NPZD variables, else =0 %% % Requires RNT, RGRD, RNC, Opendap and netcdf % % GLOBEC Ocean Modeling Support % - E. Di Lorenzo (globec_extract@o3d.org) % inifile=[nameit,'-init.nc']; solution='http://dods.o3d.org:8080/thredds/dodsC/nepd/nepd_forc_full_monthly_avg.nc'; ctl=rnt_timectl({solution},'ocean_time','r'); % Compute dates and find index of selected initial condition for i=1:length(ctl.time) mydate(i)=datenum(ctl.year(i)+1950, ctl.month(i),ctl.day(i)); end ctl.mydate=mydate; istr=find(inittime<=ctl.mydate); timeind=istr(1); % Set options for initial condition file creation optini.npzd=npzd; optini.ptracer=np; ex_vars={'salt' 'temp' 'u' 'v' 'ubar' 'vbar' 'zeta' }; % 'detritus' 'phytoplankton' 'zooplankton' 'NO3'}; % Create initial condition disp (['Creating Sub INI file ',inifile]); rnc_CreateIniFile(grdn,inifile,optini); nc=netcdf(inifile,'w'); nc{'ocean_time'}(1)=ctl.time(timeind); close(nc); state=rnt_loadStateSub(ctl,timeind,ex_vars,grd,sub_I,sub_J); ctli=rnt_timectl({inifile},'ocean_time','r'); rnt_saveState(ctli,1,ex_vars,state); %/drive/edl/matlib-master/rnc/rnc_CreateIniFile.m % Set passive tracers to zero nc = netcdf(inifile, 'w'); for inert=1:optini.ptracer if inert<10 str=['dye_0',num2str(inert)]; else str=['dye_',num2str(inert)]; end nc{str}(:) = 0; end close(nc);