4 |
|
|
5 |
implicit none |
implicit none |
6 |
|
|
7 |
LOGICAL:: cycle_diurne = .TRUE. |
LOGICAL, protected:: new_oliq = .TRUE. |
|
! Cette option permet d'\'eteindre le cycle diurne. Peut \^etre utile |
|
|
! pour acc\'el\'erer le code. |
|
|
|
|
|
LOGICAL:: soil_model = .TRUE. |
|
|
! Choix du modele de sol (Thermique ?) |
|
|
|
|
|
LOGICAL:: new_oliq = .TRUE. |
|
8 |
! Permet de mettre en route la nouvelle parametrisation de l'eau liquide |
! Permet de mettre en route la nouvelle parametrisation de l'eau liquide |
9 |
|
|
10 |
! Pour l'orographie: |
! Pour l'orographie: |
11 |
LOGICAL:: ok_orodr = .TRUE. |
LOGICAL, protected:: ok_orodr = .TRUE. |
12 |
LOGICAL:: ok_orolf = .TRUE. |
LOGICAL, protected:: ok_orolf = .TRUE. |
13 |
|
|
14 |
LOGICAL:: ok_limitvrai = .FALSE. |
LOGICAL, protected:: ok_limitvrai = .FALSE. |
15 |
! On peut forcer le modele a lire le fichier SST de la bonne |
! On peut forcer le modele a lire le fichier SST de la bonne |
16 |
! annee. |
! annee. |
17 |
|
|
18 |
INTEGER:: nbapp_rad = 12 |
INTEGER, protected:: nbapp_rad = 12 |
19 |
! nombre d'appels des routines de rayonnements par jour |
! nombre d'appels des routines de rayonnements par jour |
20 |
|
|
21 |
logical:: conv_emanuel = .true. ! convection scheme of Emanuel, else Tiedtke |
logical, protected:: conv_emanuel = .true. |
22 |
|
! convection scheme of Emanuel, else Tiedtke |
23 |
|
|
24 |
contains |
contains |
25 |
|
|
29 |
use nr_util, only: assert |
use nr_util, only: assert |
30 |
use conf_gcm_m, only: day_step, iphysiq |
use conf_gcm_m, only: day_step, iphysiq |
31 |
|
|
32 |
namelist /clesphys2_nml/cycle_diurne, soil_model, new_oliq, ok_orodr, & |
namelist /clesphys2_nml/new_oliq, ok_orodr, ok_orolf, ok_limitvrai, & |
33 |
ok_orolf, ok_limitvrai, nbapp_rad, conv_emanuel |
nbapp_rad, conv_emanuel |
34 |
|
|
35 |
!------------------------------------ |
!------------------------------------ |
36 |
|
|
39 |
write(unit_nml, nml=clesphys2_nml) |
write(unit_nml, nml=clesphys2_nml) |
40 |
call assert(mod(day_step / iphysiq, nbapp_rad) == 0, & |
call assert(mod(day_step / iphysiq, nbapp_rad) == 0, & |
41 |
"read_clesphys2 nbapp_rad") |
"read_clesphys2 nbapp_rad") |
42 |
call assert(nbapp_rad >= 4 .or. .not. cycle_diurne, & |
call assert(nbapp_rad >= 4, & |
43 |
"read_clesphys2: minimum 4 calls to radiative transfer per day if " & |
"read_clesphys2: minimum 4 calls to radiative transfer per day") |
|
// "cycle diurne") |
|
44 |
|
|
45 |
end subroutine read_clesphys2 |
end subroutine read_clesphys2 |
46 |
|
|