C Library Functions  - date_to_modified_julian (3)

NAME

date_to_modified_julian(3f) - [M_time:MODIFIED_JULIAN] converts DAT date-time array to Modified Julian Date (LICENSE:MIT)

CONTENTS

Synopsis
Description
Options
Returns
Example
Author
License

SYNOPSIS

subroutine date_to_modified_julian(dat,modified_juliandate,ierr)

    integer,intent(in)              :: dat(8)
    real(kind=realtime),intent(out) :: modified_juliandate
    integer,intent(out)             :: ierr

DESCRIPTION

Converts a DAT date-time array to a Modified Julian Date type. Simply

Modified Julian Date (MJD) = Julian Date (JD) - 2400000.5

Modified Julian Date (MJD) measures days (and fractional days) since the start of 17 Nov 1858 CE in Universal Time (UTC).

MJD starts at midnight (00:00:00) so truncating the fractional component of MJD always gives the same Civil Calendard day whatever the time of day (unlike JD).

OPTIONS

dat Integer array holding a "DAT" array, similar in structure to the array returned by the intrinsic DATE_AND_TIME(3f):
          dat=[ year,month,day,timezone,hour,&
              & minutes,seconds,milliseconds]

RETURNS

modified_juliandate
  A Modified Julian Date (MJD) measures days (and fractional days) since the start of 17 Nov 1858 CE in Universal Time (UTC).
ierr Error code. If 0 no error occurred.

EXAMPLE

Sample Program:

    program demo_date_to_modified_julian
    use M_time, only : date_to_modified_julian
    use M_time, only : date_to_julian, realtime
    implicit none
    integer                    :: dat(8)
    real(kind=realtime)        :: modified_juliandate
    real(kind=realtime)        :: juliandate
    integer                    :: ierr
    character(len=*),parameter :: g=’(*(g0,1x))’
       !
       ! generate DAT array
       call date_and_time(values=dat)
       !
       ! show DAT array
       write(*,’("Today is:",*(i0:,":"))’)dat
       !
       ! convert DAT to Julian Date
       call date_to_julian(dat,juliandate,ierr)
       write(*,g) ’Expecting:’, juliandate - 2400000.5_realtime
       !
       ! convert DAT to Modified Julian Date
       call date_to_modified_julian(dat,modified_juliandate,ierr)
       write(*,g)’Modified Julian Date is ’, modified_juliandate

end program demo_date_to_modified_julian

Results:

    > Today is:2025:1:26:-300:1:5:31:721
    > Expecting: 60701.253839362878
    > Modified Julian Date is  60701.253839362878

AUTHOR

John S. Urban, 2025

LICENSE

    MIT


Nemo Release 3.1 date_to_modified_julian (3) February 23, 2025
Generated by manServer 1.08 from 44c4698e-87e9-4dd7-a62c-2895adaf6491 using man macros.