source: issm/oecreview/Archive/23390-24306/ISSM-24067-24068.diff

Last change on this file was 24307, checked in by Mathieu Morlighem, 5 years ago

NEW: adding Archive/23390-24306

File size: 1.9 KB
  • ../trunk-jpl/src/m/contrib/morlighem/ismip6/date2decyear.m

     
     1function 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
     14timevec = 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
     18timevec(:,2:end) = 0;
     19dateYearBegin = datenum(timevec);
     20
     21%Compute date of end of year
     22timevec2 = timevec;
     23timevec2(:,1) = timevec2(:,1) + 1;
     24dateYearEnd = datenum(timevec2);
     25
     26%Calculate the day of the year
     27doy = datein - dateYearBegin;
     28
     29%Finally, we can create the decimal year time
     30decyear =  timevec(:,1) + (doy - 1) ./ (dateYearEnd - dateYearBegin);
  • ../trunk-jpl/src/m/contrib/morlighem/ismip6/decyear2date.m

     
     1function 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
     12year = floor(decyear);
     13fraction = mod(decyear,1);
     14
     15%Get date of beginning and end of year
     16date0 = datenum(num2str(year),'yyyy');
     17date1 = datenum(num2str(year+1),'yyyy');
     18
     19%Compute number of days in year
     20numdays = date1 - date0;
     21
     22%Compute date
     23dateout= date0 + fraction * numdays;
Note: See TracBrowser for help on using the repository browser.