/[lmdze]/trunk/dyn3d/Guide/conf_guide.f
ViewVC logotype

Diff of /trunk/dyn3d/Guide/conf_guide.f

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

trunk/dyn3d/Guide/conf_guide.f revision 115 by guez, Fri Sep 19 17:36:20 2014 UTC trunk/Sources/dyn3d/Guide/conf_guide.f revision 173 by guez, Tue Oct 6 15:57:02 2015 UTC
# Line 14  module conf_guide_m Line 14  module conf_guide_m
14    REAL:: tau_min_p = 0.03    REAL:: tau_min_p = 0.03
15    REAL:: tau_max_p = 10.    REAL:: tau_max_p = 10.
16    
   LOGICAL:: ncep = .false. ! Coordonnee vert NCEP ou ECMWF  
17    LOGICAL:: ini_anal = .false. ! Initial = analyse    LOGICAL:: ini_anal = .false. ! Initial = analyse
18    LOGICAL:: guide_u = .false. ! guidage de u    LOGICAL:: guide_u = .false. ! guidage de u
19    LOGICAL:: guide_v = .false. ! gvidage de v    LOGICAL:: guide_v = .false. ! gvidage de v
# Line 24  module conf_guide_m Line 23  module conf_guide_m
23    logical:: online = .true. ! controle du guide    logical:: online = .true. ! controle du guide
24    ! hors-ligne: x=x_rea    ! hors-ligne: x=x_rea
25    
26    ! Latitude min et max pour le rappel dans le cas ou on 'a les    ! Dans le cas où on n'a les analyses que sur une bande de latitudes :
27    ! analyses que sur une bande de latitudes.    REAL, save:: lat_min_guide ! minimum latitude for nudging, in rad
28    REAL:: lat_min_guide = -90. ! Latitude minimum pour le guidage    real, save:: lat_max_guide ! maximum latitude for nudging, in rad
   real:: lat_max_guide = 90. ! Latitude maximum pour le guidage  
29    
30    logical, save:: ok_guide ! guidage    logical, save:: ok_guide ! guidage
31    REAL, save:: factt ! pas de temps entre deux appels au guidage, en jours    REAL, save:: factt ! pas de temps entre deux appels au guidage, en jours
# Line 42  contains Line 40  contains
40      use abort_gcm_m, only: abort_gcm      use abort_gcm_m, only: abort_gcm
41      use comconst, only: daysec, dtvr      use comconst, only: daysec, dtvr
42      use conf_gcm_m, only: day_step, iperiod      use conf_gcm_m, only: day_step, iperiod
43      use nr_util, only: assert      use dynetat0_m, only: grossismx, grossismy
44      use serre, only: grossismx, grossismy      use nr_util, only: assert, pi
45      use unit_nml_m, only: unit_nml      use unit_nml_m, only: unit_nml
46    
47      namelist /conf_guide_nml/ ncep, ini_anal, guide_u, guide_v, guide_t, &      ! Local:
48           guide_q, online, tau_min_u, tau_max_u, tau_min_v, tau_max_v, &  
49           tau_min_t, tau_max_t, tau_min_q, tau_max_q, tau_min_p, tau_max_p, &      REAL:: lat_min_guide_deg = -90. ! in degrees
50           lat_min_guide, lat_max_guide      real:: lat_max_guide_deg = 90. ! in degrees
51    
52        namelist /conf_guide_nml/ ini_anal, guide_u, guide_v, guide_t, guide_q, &
53             online, tau_min_u, tau_max_u, tau_min_v, tau_max_v, tau_min_t, &
54             tau_max_t, tau_min_q, tau_max_q, tau_min_p, tau_max_p, &
55             lat_min_guide_deg, lat_max_guide_deg
56    
57      !-----------------------------------------------------------------------      !-----------------------------------------------------------------------
58    
# Line 59  contains Line 62  contains
62      read(unit=*, nml=conf_guide_nml)      read(unit=*, nml=conf_guide_nml)
63      write(unit_nml, nml=conf_guide_nml)      write(unit_nml, nml=conf_guide_nml)
64    
65        lat_min_guide = lat_min_guide_deg / 180. * pi
66        lat_max_guide = lat_max_guide_deg / 180. * pi
67    
68      ok_guide = any((/guide_u, guide_v, guide_t, guide_q/))      ok_guide = any((/guide_u, guide_v, guide_t, guide_q/))
69      if (ok_guide .and. mod(day_step, 4 * iperiod) /= 0) call &      if (ok_guide .and. mod(day_step, 4 * iperiod) /= 0) call &
70           abort_gcm(modname = "conf_guide", &           abort_gcm("conf_guide", 'ok_guide day_step iperiod')
          message = 'ok_guide day_step iperiod', ierr = 1)  
71    
72      if (ok_guide .and. online) then      if (ok_guide .and. online) then
73         factt = dtvr * iperiod / daysec         factt = dtvr * iperiod / daysec

Legend:
Removed from v.115  
changed lines
  Added in v.173

  ViewVC Help
Powered by ViewVC 1.1.21