| 1 | MODULE time_phylmdz_mod |
|---|
| 2 | |
|---|
| 3 | IMPLICIT NONE |
|---|
| 4 | REAL,SAVE :: dtphys ! physics time step (s) |
|---|
| 5 | !$OMP THREADPRIVATE(dtphys) |
|---|
| 6 | INTEGER,SAVE :: day_step ! number of dynamical steps per day |
|---|
| 7 | ! (set via conf_phys) |
|---|
| 8 | !$OMP THREADPRIVATE(day_step) |
|---|
| 9 | REAL,SAVE :: daysec ! length of day (s) |
|---|
| 10 | !$OMP THREADPRIVATE(daysec) |
|---|
| 11 | INTEGER,SAVE :: day_ini ! initial day of the run |
|---|
| 12 | !$OMP THREADPRIVATE(day_ini) |
|---|
| 13 | INTEGER,SAVE :: day_end ! final day of the run |
|---|
| 14 | !$OMP THREADPRIVATE(day_end) |
|---|
| 15 | REAL,SAVE :: hour_ini ! start time (fraction of day) of the run |
|---|
| 16 | ! 0=<hour_ini<1 |
|---|
| 17 | !$OMP THREADPRIVATE(hour_ini) |
|---|
| 18 | |
|---|
| 19 | INTEGER,SAVE :: ecritphy ! for diagfi.nc outputs, write every ecritphy |
|---|
| 20 | ! dynamical steps (set via conf_phys) |
|---|
| 21 | !$OMP THREADPRIVATE(ecritphy) |
|---|
| 22 | INTEGER,SAVE :: iphysiq ! call physics every iphysiq dynamical step |
|---|
| 23 | ! (set via conf_phys) |
|---|
| 24 | !$OMP THREADPRIVATE(iphysiq) |
|---|
| 25 | INTEGER,SAVE :: ecritstart ! write a restart state every ecritstart |
|---|
| 26 | ! dynamical steps (set via conf_phys) |
|---|
| 27 | !$OMP THREADPRIVATE(ecritstart) |
|---|
| 28 | CONTAINS |
|---|
| 29 | |
|---|
| 30 | SUBROUTINE init_time(day_ini_, day_end_, hour_ini_, daysec_, dtphys_) |
|---|
| 31 | |
|---|
| 32 | IMPLICIT NONE |
|---|
| 33 | INTEGER,INTENT(IN) :: day_ini_ |
|---|
| 34 | INTEGER,INTENT(IN) :: day_end_ |
|---|
| 35 | REAL,INTENT(IN) :: hour_ini_ |
|---|
| 36 | REAL,INTENT(IN) :: daysec_ |
|---|
| 37 | REAL,INTENT(IN) :: dtphys_ |
|---|
| 38 | |
|---|
| 39 | day_ini=day_ini_ |
|---|
| 40 | day_end=day_end_ |
|---|
| 41 | hour_ini=hour_ini_ |
|---|
| 42 | daysec=daysec_ |
|---|
| 43 | dtphys=dtphys_ |
|---|
| 44 | |
|---|
| 45 | END SUBROUTINE init_time |
|---|
| 46 | |
|---|
| 47 | END MODULE time_phylmdz_mod |
|---|