/[lmdze]/trunk/dyn3d/conf_gcm.f
ViewVC logotype

Annotation of /trunk/dyn3d/conf_gcm.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 40 - (hide annotations)
Tue Feb 22 13:49:36 2011 UTC (13 years, 3 months ago) by guez
Original Path: trunk/libf/dyn3d/conf_gcm.f90
File size: 3178 byte(s)
"alpha" useless, always 0, in "exner_hyb".

1 guez 3 module conf_gcm_m
2    
3     IMPLICIT NONE
4    
5 guez 39 INTEGER:: nday = 10 ! nombre de jours d'intégration
6     integer:: day_step = 240 ! nombre de pas par jour, multiple de iperiod
7 guez 3
8 guez 39 integer:: iperiod = 5
9 guez 3 ! periode pour le pas Matsuno (en pas de temps)
10    
11 guez 39 integer:: iapp_tracvl = 5
12 guez 3 ! Should normally be equal to "iperiod"
13     ! frequence du groupement des flux (en pas de temps)
14    
15 guez 39 integer:: iconser = 240
16     ! number of time steps between output of control variables
17 guez 3
18 guez 39 integer:: iecri = 1 ! time interval between outputs to "dyn_hist.nc" (in days)
19 guez 3
20 guez 40 integer:: iphysiq = 5
21     ! number of time steps of dynamics between calls to physics
22    
23 guez 3 integer:: dayref = 1 ! jour de l'année de l'état initial
24     ! (= 350 si 20 décembre par exemple)
25    
26     integer:: anneeref = 1998 ! Annee de l'etat initial (avec 4 chiffres)
27    
28 guez 15 logical:: raz_date = .false.
29     ! (remise a zero de la date initiale, prise en compte de la date de
30     ! gcm.def avec remise a zero des compteurs de pas de temps)
31     ! (pas de remise a zero: on garde la date du fichier restart)
32 guez 3
33 guez 39 REAL:: periodav = 1. ! time interval between outputs to "histmoy" (in days)
34 guez 3
35 guez 12 logical:: offline = .FALSE.
36 guez 33 ! permet de mettre en route la nouvelle parametrisation de l'eau liquide
37 guez 3
38     contains
39    
40 guez 13 SUBROUTINE conf_gcm
41 guez 3
42     ! Auteurs : L. Fairhead, P. Le Van
43     ! Version du 29/04/97
44    
45     ! On ne compare pas les valeurs des paramètres du zoom, grossismx,
46     ! grossismy, clon, clat, fxyhypb lues sur le fichier start avec
47     ! celles passées par run.def, au début du gcm.
48     ! Ces paramètres définissent entre autres la grille et doivent être
49     ! cohérents, sinon il y aura divergence du gcm.
50    
51 guez 33 use abort_gcm_m, only: abort_gcm
52 guez 3 use comdissnew, only: read_comdissnew
53 guez 12 use logic, only: read_logic
54 guez 3 use serre, only: clon, clat, grossismx, grossismy, alphax, alphay, &
55     dzoomx, dzoomy, taux, tauy
56 guez 12 use iniprint, only: read_iniprint
57 guez 3
58     namelist /conf_gcm_nml/dayref, anneeref, raz_date, nday, day_step, &
59 guez 26 iperiod, iapp_tracvl, iconser, iecri, periodav, &
60 guez 13 iphysiq, clon, clat, grossismx, grossismy, dzoomx, dzoomy, taux, &
61     tauy, offline
62 guez 3
63     !------------------------------------
64    
65     print *, "Call sequence information: conf_gcm"
66 guez 12
67 guez 3 call read_iniprint
68 guez 12 call read_logic
69     call read_comdissnew
70 guez 3
71     print *, "Enter namelist 'conf_gcm_nml'."
72     read(unit=*, nml=conf_gcm_nml)
73     write(unit=*, nml=conf_gcm_nml)
74    
75 guez 40 IF (MOD(day_step, iperiod) /= 0) call abort_gcm(modname = "conf_gcm", &
76 guez 33 message = &
77     'Il faut choisir un nombre de pas par jour multiple de "iperiod".', &
78     ierr = 1)
79    
80 guez 40 IF (MOD(day_step,iphysiq)/= 0) call abort_gcm(modname = "conf_gcm", &
81     message = &
82 guez 33 'Il faut choisir un nombre de pas par jour multiple de "iphysiq".', &
83     ierr = 1)
84    
85 guez 3 IF (grossismx < 1.) THEN
86     PRINT *, 'Error: grossismx < 1'
87     STOP 1
88     ELSE
89     alphax = 1. - 1. / grossismx
90     ENDIF
91     IF (grossismy < 1.) THEN
92     PRINT *, 'Error: grossismy < 1'
93     STOP 1
94     ELSE
95     alphay = 1. - 1. / grossismy
96     ENDIF
97     PRINT *, 'alphax = ', alphax
98     PRINT *, 'alphay = ', alphay
99    
100     END SUBROUTINE conf_gcm
101    
102     end module conf_gcm_m

  ViewVC Help
Powered by ViewVC 1.1.21