source:
issm/oecreview/Archive/23390-24306/ISSM-24067-24068.diff
Last change on this file was 24307, checked in by , 5 years ago | |
---|---|
File size: 1.9 KB |
-
../trunk-jpl/src/m/contrib/morlighem/ismip6/date2decyear.m
1 function decyear = date2decyear(datein) 2 %DATE2DECYEAR - convert date to decimal year (for ISSM) 3 % 4 % input argument must be a serial date (see datenum) 5 % 6 % Usage: 7 % year = date2decyear(datein) 8 % 9 % Example: 10 % year = date2decyear(datenum('19-May-2000')) 11 12 13 %Make table from date coming in 14 timevec = datevec(datein); 15 16 %Set everything in the date vector to 0 except for the year 17 %to compute the date for the beginninf of the year 18 timevec(:,2:end) = 0; 19 dateYearBegin = datenum(timevec); 20 21 %Compute date of end of year 22 timevec2 = timevec; 23 timevec2(:,1) = timevec2(:,1) + 1; 24 dateYearEnd = datenum(timevec2); 25 26 %Calculate the day of the year 27 doy = datein - dateYearBegin; 28 29 %Finally, we can create the decimal year time 30 decyear = timevec(:,1) + (doy - 1) ./ (dateYearEnd - dateYearBegin); -
../trunk-jpl/src/m/contrib/morlighem/ismip6/decyear2date.m
1 function dateout = decyear2date(decyear) 2 %DECYEAR2DATE - converts decimal year to serial date 3 % 4 % Usage: 5 % dateout = decyear2date(decyear) 6 % 7 % Example: 8 % dateout = decyear2date(2011.001) 9 10 11 %Get year 12 year = floor(decyear); 13 fraction = mod(decyear,1); 14 15 %Get date of beginning and end of year 16 date0 = datenum(num2str(year),'yyyy'); 17 date1 = datenum(num2str(year+1),'yyyy'); 18 19 %Compute number of days in year 20 numdays = date1 - date0; 21 22 %Compute date 23 dateout= date0 + fraction * numdays;
Note:
See TracBrowser
for help on using the repository browser.