Changeset 5105 for LMDZ6/branches/Amaury_dev/libf/misc/juldate.f90
- Timestamp:
- Jul 23, 2024, 7:14:34 PM (8 weeks ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/misc/juldate.f90
r5104 r5105 2 2 ! $Id$ 3 3 4 5 cSous-routine de changement de date:6 cgregorien>>>date julienne7 cEn entree:an,mois,jour,heure,min.,sec.8 cEn sortie:tjd9 10 11 12 13 REALfrac,year,rmon,cf,a,b14 INTEGERojou15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 tjd=int(365.25*year)+int(30.6001*(rmon+1))+int(ojou) 32 ++1720994.5+b33 34 35 36 return 37 end 4 SUBROUTINE juldate(ian,imoi,ijou,oh,om,os,tjd,tjdsec) 5 ! Sous-routine de changement de date: 6 ! gregorien>>>date julienne 7 ! En entree:an,mois,jour,heure,min.,sec. 8 ! En sortie:tjd 9 IMPLICIT NONE 10 INTEGER,INTENT(IN) :: ian,imoi,ijou,oh,om,os 11 REAL,INTENT(OUT) :: tjd,tjdsec 12 13 REAL :: frac,year,rmon,cf,a,b 14 INTEGER :: ojou 15 16 frac=((os/60.+om)/60.+oh)/24. 17 ojou=dble(ijou)+frac 18 year=dble(ian) 19 rmon=dble(imoi) 20 if (imoi <= 2) then 21 year=year-1. 22 rmon=rmon+12. 23 endif 24 cf=year+(rmon/100.)+(ojou/10000.) 25 if (cf >= 1582.1015) then 26 a=int(year/100) 27 b=2-a+int(a/4) 28 else 29 b=0 30 endif 31 tjd=int(365.25*year)+int(30.6001*(rmon+1))+int(ojou) & 32 +1720994.5+b 33 tjdsec=(ojou-int(ojou))+(tjd-int(tjd)) 34 tjd=int(tjd)+int(tjdsec) 35 tjdsec=tjdsec-int(tjdsec) 36 37 end subroutine juldate 38 38 39 39
Note: See TracChangeset
for help on using the changeset viewer.