source: LMDZ4/trunk/libf/phylmd/phys_cal_mod.F90 @ 1940

Last change on this file since 1940 was 1279, checked in by Laurent Fairhead, 15 years ago

Merged LMDZ4-dev branch changes r1241:1278 into the trunk
Running trunk and LMDZ4-dev in LMDZOR configuration on local
machine (sequential) and SX8 (4-proc) yields identical results
(restart and restartphy are identical binarily)
Log history from r1241 to r1278 is available by switching to
source:LMDZ4/branches/LMDZ4-dev-20091210

File size: 1.1 KB
Line 
1! $Id:$
2MODULE phys_cal_mod
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
18CONTAINS
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
41END MODULE phys_cal_mod
Note: See TracBrowser for help on using the repository browser.