My Project
 All Classes Files Functions Variables Macros
phys_cal_mod.F90
Go to the documentation of this file.
1 ! $Id:$
3 ! This module contains information on the calendar at the actual time step
4 
5  SAVE
6 
7  INTEGER :: year_cur ! current year
8  INTEGER :: mth_cur ! current month
9  INTEGER :: day_cur ! current day
10  INTEGER :: days_elapsed ! number of whole days since start of the simulation
11  INTEGER :: mth_len ! number of days in the current month
12  REAL :: hour
13  REAL :: jD_1jan
14  REAL :: jH_1jan
15  REAL :: xjour
16 
17 
18 CONTAINS
19 
20  SUBROUTINE phys_cal_update(jD_cur, jH_cur)
21  ! This subroutine updates the module saved variables.
22 
23  USE ioipsl
24 
25  REAL, INTENT(IN) :: jd_cur ! jour courant a l'appel de la physique (jour julien)
26  REAL, INTENT(IN) :: jh_cur ! heure courante a l'appel de la physique (jour julien)
27 
28  CALL ju2ymds(jd_cur+jh_cur, year_cur, mth_cur, day_cur, hour)
29  CALL ymds2ju(year_cur, 1, 1, 0., jd_1jan)
30 
31  jh_1jan = jd_1jan - int(jd_1jan)
32  jd_1jan = int(jd_1jan)
33  xjour = jd_cur - jd_1jan
34  days_elapsed = jd_cur - jd_1jan
35 
36  ! Get lenght of acutual month
37  mth_len = ioget_mon_len(year_cur,mth_cur)
38 
39  END SUBROUTINE phys_cal_update
40 
41 END MODULE phys_cal_mod