/[lmdze]/trunk/Sources/phylmd/clesphys2.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/clesphys2.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/libf/phylmd/clesphys2.f90 revision 13 by guez, Fri Jul 25 19:59:34 2008 UTC trunk/Sources/phylmd/clesphys2.f revision 154 by guez, Tue Jul 7 17:49:23 2015 UTC
# Line 1  Line 1 
1  module clesphys2  module clesphys2
2    
3    ! v 1.3 2005/06/06 13:16:33 fairhead    ! From version 1.3 2005/06/06 13:16:33
4    
5    implicit none    implicit none
6    
7    LOGICAL:: cycle_diurne= .TRUE.    LOGICAL:: cycle_diurne = .TRUE.
8    ! Cette option permet d'éteindre le cycle diurne.    ! Cette option permet d'\'eteindre le cycle diurne. Peut \^etre utile
9    ! Peut être utile pour accélérer le code.    ! pour acc\'el\'erer le code.
   
   LOGICAL:: soil_model= .TRUE.  
   ! Help = Choix du modele de sol (Thermique ?)  
   ! Option qui pourait un string afin de pouvoir  
   ! plus de choix ! Ou meme une liste d'options  
   
   LOGICAL:: new_oliq= .TRUE.  
   ! Help = Permet de mettre en route la  
   ! nouvelle parametrisation de l'eau liquide  
10    
11    LOGICAL:: ok_orodr= .TRUE. ! orodr pour l'orographie    LOGICAL:: soil_model = .TRUE.
12      ! Choix du modele de sol (Thermique ?)
13    
14      LOGICAL:: new_oliq = .TRUE.
15      ! Permet de mettre en route la nouvelle parametrisation de l'eau liquide
16    
17      ! Pour l'orographie:
18      LOGICAL:: ok_orodr = .TRUE.
19    LOGICAL:: ok_orolf = .TRUE.    LOGICAL:: ok_orolf = .TRUE.
   ! Desc = Orolf  ou  non   pour l orographie  
20    
21    LOGICAL:: ok_limitvrai= .FALSE.    LOGICAL:: ok_limitvrai = .FALSE.
22    ! Help = On peut forcer le modele a lire le    ! On peut forcer le modele a lire le fichier SST de la bonne
23    ! fichier SST de la bonne annee. C'est une tres bonne    ! annee.
   ! idee, pourquoi ne pas mettre toujours a y ?  
24    
25    INTEGER:: nbapp_rad= 12    INTEGER:: nbapp_rad = 12
26    ! (nombre d'appels des routines de rayonnements par jour)    ! nombre d'appels des routines de rayonnements par jour
27    
28    INTEGER:: iflag_con = 2    INTEGER:: iflag_con = 2
29    ! Flag pour la convection :    ! Convection scheme:
30    ! 1 LMD,    ! 2 Tiedtke
31    ! 2 Tiedtke,    ! 3 Emanuel
32    ! 3 CCM(NCAR)      ! 4 Emanuel vect
   ! 3 KE  
   ! 4 KE vect  
33    
34  contains  contains
35    
36    subroutine read_clesphys2    subroutine read_clesphys2
37    
38      namelist /clesphys2_nml/cycle_diurne, soil_model, new_oliq, &      use unit_nml_m, only: unit_nml
39           ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad, iflag_con      use nr_util, only: assert
40        use conf_gcm_m, only: day_step, iphysiq
41    
42        namelist /clesphys2_nml/cycle_diurne, soil_model, new_oliq, ok_orodr, &
43             ok_orolf, ok_limitvrai, nbapp_rad, iflag_con
44    
45      !------------------------------------      !------------------------------------
46    
47      print *, "Enter namelist 'clesphys2_nml'."      print *, "Enter namelist 'clesphys2_nml'."
48      read(unit=*, nml=clesphys2_nml)      read(unit=*, nml=clesphys2_nml)
49      write(unit=*, nml=clesphys2_nml)      write(unit_nml, nml=clesphys2_nml)
50        call assert(iflag_con >= 2 .and. iflag_con <= 4, "read_clesphys2 iflag_con")
51      select case (iflag_con)      call assert(mod(day_step / iphysiq, nbapp_rad) == 0, &
52      case (1)           "read_clesphys2 nbapp_rad")
53         PRINT *, 'Schéma convection LMD'      call assert(nbapp_rad >= 4 .or. .not. cycle_diurne, &
54      case (2)           "read_clesphys2: minimum 4 calls to radiative transfer per day if " &
55         PRINT *, 'Schéma convection Tiedtke'           // "cycle diurne")
     case (3)  
        PRINT *, 'Schéma convection CCM'  
     END select  
56    
57    end subroutine read_clesphys2    end subroutine read_clesphys2
58    

Legend:
Removed from v.13  
changed lines
  Added in v.154

  ViewVC Help
Powered by ViewVC 1.1.21