C NAME: C utiofilename C PURPOSE: C Creates file name for dump steps using Base and Modified Julian Date C CATEGORY C SPECIAL C CALLING SEQUENCE C SUBROUTINE utiofilename(caname,cabase,mjd) C C INPUTS C cabase CHARACTER*(*) Array with Base of output file name C mjd REAL*8 Modified Julian Date of dump step C C OUTPUT C caname CHARACTER*(*) Array with HDF File name C C FIXME: Compare utio.F with r724 in the "LR" branch of the C LTR-para repository... r724 forms a UTIO filename based on C YYYY-MM-DD HH:MM:SS rather than Modified Julian Day (MJD). C SUBROUTINE utiofilename(caname,cabase,caext,mjd) CHARACTER*(*) caName,caBase,caext REAL*8 mjd CHARACTER*3 camon INTEGER id,iyr,imon,iday,idoy,ihr,imin,isec INTEGER iNameLen,iExtLen REAL*8 rdoy,rsod,rsec,rsid,rtmp REAL*8 jd,jepoch id = 11 CALL julian(id,iyr,rdoy,mjd,jepoch) id = 1 iDoy = rDoy CALL date_doy(id,iyr,cmon,imon,iday,idoy) rsid = 86400.0 rsod = (mjd-int(mjd))*rsid id = 1 CALL hms_sod(id,ihr,imin,rsec,rsod) #ifdef AIX iNameLen = LEN_TRIM(cabase) iExtLen = LEN_TRIM(caext) #endif #ifndef AIX iNameLen = LNBLNK(cabase) iExtLen = LNBLNK(caext) #endif isec = NINT(rsec) IF (isec .EQ. 60) THEN isec = 0 imin = imin + 1 IF (imin .EQ. 60) THEN imin = 0 ihr = ihr + 1 ENDIF ENDIF WRITE(caname,20) cabase(1:iNameLen), $ iyr,imon,iday,ihr,imin,isec, $ caext(1:iExtLen) 20 FORMAT(a,'-',i4.4,'-',i2.2,'-',i2.2,'T', $ i2.2,'-',i2.2,'-',i2.2,'Z',a) END