35 |
! Help = Choix du schema d'integration temporel. |
! Help = Choix du schema d'integration temporel. |
36 |
! y = pure Matsuno sinon c'est du Matsuno-leapfrog |
! y = pure Matsuno sinon c'est du Matsuno-leapfrog |
37 |
|
|
38 |
INTEGER:: iflag_phys = 1 |
logical:: iflag_phys = .true. ! call parameterizations of physics |
39 |
! contr\^ole l'appel \`a la physique : |
INTEGER, SAVE:: lmt_pas ! number of time steps of "physics" per day |
|
! 0 : pas de physique |
|
|
! 1 : physique normale (appel \`a phylmd, phymars...) (default) |
|
|
! 2 : rappel Newtonien pour la temp\'erature + friction au sol |
|
40 |
|
|
41 |
contains |
contains |
42 |
|
|
46 |
! Version du 29/04/97 |
! Version du 29/04/97 |
47 |
|
|
48 |
use abort_gcm_m, only: abort_gcm |
use abort_gcm_m, only: abort_gcm |
|
use comdissnew, only: read_comdissnew |
|
49 |
use unit_nml_m, only: unit_nml |
use unit_nml_m, only: unit_nml |
50 |
|
|
51 |
namelist /conf_gcm_nml/ raz_date, nday, day_step, iperiod, iapp_tracvl, & |
namelist /conf_gcm_nml/ raz_date, nday, day_step, iperiod, iapp_tracvl, & |
67 |
read(unit=*, nml=logic_nml) |
read(unit=*, nml=logic_nml) |
68 |
write(unit_nml, nml=logic_nml) |
write(unit_nml, nml=logic_nml) |
69 |
|
|
|
call read_comdissnew |
|
|
|
|
70 |
print *, "Enter namelist 'conf_gcm_nml'." |
print *, "Enter namelist 'conf_gcm_nml'." |
71 |
read(unit=*, nml=conf_gcm_nml) |
read(unit=*, nml=conf_gcm_nml) |
72 |
write(unit_nml, nml=conf_gcm_nml) |
write(unit_nml, nml=conf_gcm_nml) |
77 |
IF (MOD(day_step, iphysiq)/= 0) call abort_gcm("conf_gcm", & |
IF (MOD(day_step, iphysiq)/= 0) call abort_gcm("conf_gcm", & |
78 |
'Il faut choisir un nombre de pas par jour multiple de "iphysiq".') |
'Il faut choisir un nombre de pas par jour multiple de "iphysiq".') |
79 |
|
|
80 |
|
lmt_pas = day_step / iphysiq |
81 |
|
print *, 'Number of time steps of "physics" per day: ', lmt_pas |
82 |
|
|
83 |
END SUBROUTINE conf_gcm |
END SUBROUTINE conf_gcm |
84 |
|
|
85 |
end module conf_gcm_m |
end module conf_gcm_m |