LMDZ
su0phy.F90
Go to the documentation of this file.
1 SUBROUTINE su0phy(KULOUT)
2 
3 USE parkind1 ,ONLY : jpim ,jprb
4 USE yomhook ,ONLY : lhook, dr_hook
5 
6 !USE YOMLUN , ONLY : NULOUT ,NULNAM MPL 14.04.09
7 USE yomlun , ONLY : nulout
8 ! Ce qui concerne LSLPHY commente par MPL 24.11.08
9 !USE YOMSLPHY , ONLY : LSLPHY
10 USE yomphy , ONLY : nbiter ,noir, ndpsfi, nphyrep ,lmphys ,lreasur ,&
11  & lcape ,lcondwt ,lcvpp ,lcvdd ,lhuneg ,&
15  & lrrmes ,lsfhyd ,lsnv ,lsolv ,lfgel ,&
19  & lraylu ,lrews ,lrprox ,lrmix ,lrstab ,&
22  & lnewd ,lrtpp ,lrtdl ,ldifcons ,lect ,&
25  & lnsmlis, lphcdpi ,&
26  & nphy ,jphyec ,jphymf ,jphyaro , &
27  & lajucv ,lpble ,lnebgr ,lnebgy ,&
30  & lpil ,lphspsh ,lsmrot ,lsmnimbt ,&
33 USE yomarphy , ONLY : lmpa ,lmicro ,lturb ,&
36 USE yoephy , ONLY : lephys ,&
38  & leozoc ,leqngt ,leradi ,lerads ,&
39  & leshcv ,lesice ,lesurf ,levdif ,&
40  & lagphy ,lepcld ,leco2diu ,&
44 USE yoewcou , ONLY : nstpw ,rsoutw ,rnortw ,rdegrew ,&
45  & lwcou ,lwcou2w
46 ! Ce qui concerne RCLDTOPP commente par MPL 24.11.08
47 !USE YOECLDP , ONLY : RCLDTOPP
48 USE yophlc , ONLY : alpha ,ah0 ,ustarl ,&
51  & lsdrds
52 USE yomct0 , ONLY : nconf ,&
54 USE yomct0b , ONLY : lecmwf
55 ! Tous les YOM* ci-dessous commentes par MPL 24.11.08
56 !USE YOMINI , ONLY : NEINI
57 !USE YOMDFI , ONLY : NEDFI
58 !USE YOMVRTL , ONLY : L131TL
59 !USE YOPHNC , ONLY : LETRAJP ,LETRAJPT ,LERADI2 ,LERADS2 ,&
60 ! & LERADSW2 ,LERADN2 ,LERADFL2 ,LEDCLD2 ,LENCLD2 ,&
61 ! & LEVAPLS2 ,LEVDIF2 ,LEGWDG2 ,LECUMF2 ,LECUBM2 ,&
62 ! & LECOND2 ,LEQNGT2 ,LESURF2 ,LEKPERT ,LTRACLNPH
63 !USE YOEPHLI , ONLY : LENOPERT
64 !USE YOMNCL , ONLY : LNCLIN ,LREGCL
65 USE yomsimphl, ONLY : lsimph ,ltrajps ,ltrajpst ,&
68 USE yomrcoef , ONLY : lrcoef ,ltladdia ,lglobrad
69 !USE YOMIOP , ONLY : NPCKFT95 ,NEXPBT95
70 !USE YOMDYNA , ONLY : LGWADV
71 !USE YOMCOAPHY , ONLY : NPHYINT
72 
73 !**** *SU0PHY* - Initialize common YOxPHY controlling physics
74 
75 ! Purpose.
76 ! --------
77 ! Initialize YOxPHY, the common that includes the
78 ! basic switches for the physics of the model.
79 
80 !** Interface.
81 ! ----------
82 ! *CALL* *SU0PHY(KULOUT) from SU0YOMA
83 
84 ! Explicit arguments :
85 ! --------------------
86 ! KULOUT : Logical unit for the output
87 
88 ! Implicit arguments :
89 ! --------------------
90 
91 ! Method.
92 ! -------
93 ! See documentation
94 
95 ! Externals.
96 ! ----------
97 
98 ! Reference.
99 ! ----------
100 ! ECMWF Research Department documentation of the IFS
101 
102 ! or
103 
104 ! Documentation ARPEGE (depending on which physics will be used)
105 
106 ! Author.
107 ! -------
108 ! J.-J. Morcrette *ECMWF*
109 ! J.-F. Geleyn for the ARPEGE rewriting.
110 
111 ! Modifications.
112 ! --------------
113 ! Original : 91-11-12
114 ! Modified 92-02-22 by M. Deque (tests of consistency with *YOMDPHY*)
115 ! Modified by R. EL Khatib : 93-04-02 Set-up defaults controled by LECMWF
116 ! Modified 94-02-28 by M. Deque : Shallow convection clouds
117 ! Modified 93-10-28 by Ph. Dandin : FMR scheme with MF physics
118 ! Modified 93-08-24 by D. Giard (test of consistency with digital filter)
119 ! Modified by M. Hamrud : 93-06-05 Make use of LECMWF for ECMWF
120 ! Modified 95-11-27 by M. Deque (2nd call to APLPAR)
121 ! Modified 96-01-10 by M. Janiskova (logical switches for simpl.ph.par.)
122 ! Modified 97-02-28 by J.M. Piriou (cloudiness scheme switch LNEBN)
123 ! Modified 97-04-17 by J.M. Piriou (default values)
124 ! Modified by F. Rabier : 96-09-25 Full physics set-up for 801 job
125 ! Modified by G. Hello : 97-07-31 Full MF physics set-up for 801
126 ! Modified by M. Deque : 97-05-25 Frozen FMR
127 ! Modified by E.Bazile : 97-11-18 Soil freezing (LFGEL)
128 ! Modified by M. Deque : 98-01-05 Cleaning of NDPSFI
129 ! Modified by M. Janiskova : 98-11-18 Full MF physics set-up for 131
130 ! : 99-02-21 Set-up for radiation coef.
131 ! Modified by C. Jakob : 98-04 Methane oxidation
132 ! Modified by T. Bergot : 98-08 Full MF physics set-up for 601
133 ! Modified by E.Bazile : 99-02-12 Superficial soil freezing (LFGELS)
134 ! Modified by L. Gerard : 98-12-07 LSRCON
135 ! Modified by J.M. Piriou : 99-04-19 Moon radiation
136 ! Modified 99-02-17 by K. YESSAD: options LRETCFOU, LWRTCFOU.
137 ! Modified by J.M. Piriou : 99-06-18 LCVLIS and LCVCAS
138 ! Modified by J.M. Piriou : 99-07-07 Introduce reproductibility in physics (NPHYREP).
139 ! Modified by D. Giard : 2000-10-25 LVGSN (snow and vegetation)
140 ! Modified by E. Bazile : 2000-11-12 CYCORA's default value.
141 ! Modified by F. Bouyssel : 2001-03-03 LRRMESSP
142 ! Modified by J.M. Piriou : 2001-11-27 LSRCONT
143 ! Modified by J.M. Piriou : 2002-11-15 LNEBNXR
144 ! Modified by F. Bouyssel : 2002-06-25 LCVPPLIS and LRRGUST
145 ! R. El Khatib : 2001-08-07 Pruning options
146 ! J.M. Piriou : 2002-01-10 set default values to operational ones.
147 ! Modified by A.Beljaars : 2002-11-12 LECURR (Ocean current)
148 ! Modified by Y. Bouteloup : 2002-03-05 LO3ABC
149 ! Modified 08-2002 C. Smith : use "w" as prognostic variable in the
150 ! semi-lag advection of vertical divergence in the NH model.
151 ! Modified by F. Bouyssel : 2002-12-18 Cleaning of LCVPPLIS
152 ! Modified by E. Bazile : 2003-02-13 LFPCOR
153 ! Modified by E. Bazile : 2003-02-18 LNOIAS
154 ! Modified by M. Janiskova : 2003-05 set-up for ECMWF stat.cloud scheme
155 ! M.Hamrud 01-Oct-2003 CY28 Cleaning
156 ! P. Viterbo ECMWF 03-12-2004 Include user-defined RTHRFRTI
157 ! Modified by Y Seity : 2004-11-16 For AROME setup, default values
158 ! for namarphy keys,read namarphy, switch off arp/ald physics keys
159 ! Modified by R. Brozkova : 2004-11 modifs for Xu-Randall cloud. scheme
160 ! P. Marquet and F. Bouyssel : 2004-08-18 (Lopez)
161 ! G. Hello : 2005-04-25 Lground initialization (surfex and arome)
162 ! Y. Seity : 2005-09-25 LRDUST, LORILAM and LUSECHEM initialisation
163 ! for AROME
164 ! T. Kovacic : 2006-03-17 LPHCDPI, NPHY, LBUFLUX; for DDH and BUDGET
165 ! Modified by F. Bouyssel : 2005-01-25 Change default of LNSMLIS
166 ! D.Salmond 22-Nov-2005 Mods for coarser/finer physics
167 ! P. Lopez 14-02-2006 Added switch LTRACLNPH for including
168 ! tracers in linearized physics
169 ! R.Brozkova : pre ALARO 0 modset: mixing lengths computation
170 ! Modified by GMGEC/EAC : 2006-03 list of modif.
171 ! P. Marquet : 99-01-18 Dry Conv. Adj. (LAJUCV)
172 ! P. Marquet : 02-02-14 YOMPHY
173 ! P. Marquet : 02-06-18 LBCCOND (Becht/Chab ACCOND)
174 ! P. Marquet : 02-08-30 LCVRAV3 (old ACCVIMP_V3)
175 ! and new cloud model : 2006-03-03
176 ! Modified by E. Bazile : 2006-04-11 Add LPBLE in case of LECT
177 ! Modified by E. Bazile : 2006-04-20 Add LADJCLD,LCVPPKF, LECTFL
178 ! JF. Gueremy : LZ0HSREL initialised (used in ACHMT)
179 ! Modified by F. Bouyssel : 2006-10-30 Add LAUTONEB, LSSD
180 ! Modified by F. Vana : 2006-01-30 LPTKE
181 ! Modifed by D. Banciu : 2006-08-31 LND2DIFF
182 ! M. Bellus : 28-Sep-2006 ALARO-0 phasing: L3MT,LCVPRO,LCDDPRO,LSCMF,
183 ! LVOIGT,LVFULL,LPIL,LPHSPSH,LSMROT,LSMNIMBT,LSMTPS,
184 ! L1DRHCRI,LGWRHCRI,NSMTBOT,NSMDNEB,NPRAG,NPRAC,NPRRI,
185 ! LSTRAPRO,LNEWSTAT ; removed duplicity in LPBLE
186 ! JJMorcrette 20060721 MODIS albedo
187 ! ------------------------------------------------------------------
188 
189 IMPLICIT NONE
190 
191 INTEGER(KIND=JPIM),INTENT(IN) :: KULOUT
192 
193 ! ------------------------------------------------------------------
194 
195 INTEGER(KIND=JPIM) :: IERR
196 REAL(KIND=JPRB) :: ZHOOK_HANDLE
197 
198 ! ------------------------------------------------------------------
199 
200 #include "abor1.intfb.h"
201 #include "posnam.intfb.h"
202 #include "suscm.intfb.h"
203 
204 ! ------------------------------------------------------------------
205 
206 #include "namphy.h"
207 !#include "namarphy.h"
208 #include "naephy.h"
209 #include "naphlc.h"
210 !#include "namtrajp.h"
211 !#include "namsimphl.h"
212 !#include "namrcoef.h"
213 
214 ! ------------------------------------------------------------------
215 print*,'Dans SUOPHY ', kulout
216 
217 IF (lhook) CALL dr_hook('SU0PHY',0,zhook_handle)
218 
219 ! ------------------------------------------------------------------
220 
221 !* 1. Set default values.
222 ! -------------------
223 
224 !* 1.1.1 Set default values for Meteo-France physics
225 ! -------------------------------------------
226 
227 lmphys=.false.
228 lreasur=.true.
229 
230 cgmixlen='Z'
231 lprgml=.false.
232 lcape=.false.
233 lcondwt=.false.
234 lcvcas=.false.
235 lcvlis=.false.
236 lcvpp=.false.
237 lcvppkf=.false.
238 lcvdd=.false.
239 lhuneg=.true.
240 lneige=.true.
241 lrnumx=.false.
242 lclsatur=.false.
243 lvoigt=.false.
244 lvfull=.false.
245 lrrgust=.false.
246 l2phys=.false.
247 lo3abc=.false.
248 laerosea=.false.
249 laerolan=.false.
250 laerosoo=.false.
251 laerodes=.false.
252 laerovol=.false.
253 laerosul=.false.
254 lrelaxt=.false.
255 lrelaxw=.false.
256 le4alb=.false.
257 lglt=.false.
258 lnewd=.false.
259 ldifcons=.false.
260 lect=.false.
261 lptke=.false.
262 lectfl=.false.
263 lpble=.false.
264 lcvpgy=.false.
265 l3mt=.false.
266 
267 lcvra=.false.
268 lgwdc=.false.
269 lgwd=.false.
270 lhmto=.false.
271 lnebco=.false.
272 lnebn=.false.
273 lnebnxr=.false.
274 lnebr=.false.
275 lnebt=.false.
276 lnd2diff=.false.
277 lqxrtgh=.false.
278 lhucn=.false.
279 lozone=.false.
280 lray=.false.
281 lraylu=.false.
282 lrews=.false.
283 lrprox=.false.
284 lrmix=.false.
285 lrstab=.false.
286 lrautoev=.false.
287 lrtpp=.false.
288 lrtdl=.false.
289 lraypl=.false.
290 lrayfm=.false.
291 lrayfm15=.false.
292 lrrmes=.false.
293 lsfhyd=.false.
294 lsnv=.false.
295 lsolv=.false.
296 lfgel=.false.
297 lsrcon=.false.
298 lsrcont=.false.
299 lslc=.false.
300 lstra=.false.
301 lstras=.false.
302 lthermo=.false.
303 lvdif=.false.
304 lvgsn=.false.
305 lfpcor=.false.
306 lnoias=.false.
307 lphcdpi=.false.
308 lblvar=.false.
309 
310 lz0hsrel=.false.
311 
312 nbiter=2
313 ndpsfi=0
314 nphyrep=1
315 noir=0
316 
317 ! ---------------------------------------------------
318 ! ALARO-0 (cloud)
319 ! ---------------------------------------------------
320 lpil=.false.
321 lstrapro=.false.
322 lnewstat=.true.
323 lphspsh=.false. ! Pseudo Historic Surface Precip Sensible Heat Flux
324 lsmrot=.false.
325 lsmtps=.false.
326 lsmnimbt=.false.
327 l1drhcri=.false.
328 lgwrhcri=.false.
329 nsmtbot=0 ! interpolate
330 nsmdneb=2 ! gradient limitation
331 nprag=1
332 nprac=1
333 nprri=1
334 ! ---------------------------------------------------
335 ! ALARO-0 (prognostic convection)
336 ! ---------------------------------------------------
337 lcvpro=.false.
338 lcddpro=.false.
339 lscmf=.false.
340 
341 ! - - - - - - - - - - - - - - - - - - - - - - - - - -
342 ! Cloud and precipitation prognostic scheme (Lopez) :
343 ! - - - - - - - - - - - - - - - - - - - - - - - - - -
344 
345 lprocld=.false.
346 levapp=.true.
347 lcollec=.true.
348 lnsmlis=.true.
349 ladjcld=.true.
350 lautoneb=.false.
351 lssd=.false.
352 
353 !AROME physics
354 lmpa=.false.
355 lmicro=.false.
356 lturb=.false.
357 lmse=.false.
358 lkfbconv=.false.
359 lkfbd=.false.
360 lkfbs=.false.
361 lusechem=.false.
362 lorilam=.false.
363 lrdust=.false.
364 lbuflux=.true.
365 ccoupling='E'
366 
367 ! - - - - - - - - - - -
368 ! Module YOMPHY :
369 ! - - - - - - - - - - -
370 
371 lajucv=.false.
372 lnebgr=.false.
373 lnebgy=.false.
374 lbccond=.false.
375 
376 lcvrav3=.false.
377 
378 !* 1.1.2 Set default values for simplified physical parametrization
379 ! of Meteo-France
380 ! -----------------------------------------------------------------
381 
382 lsimph=.false.
383 ltrajps=.false.
384 ltrajpst=.false.
385 lsmoothd=.false.
386 lsmootha=.false.
387 lsmoothb=.false.
388 lclouds=.false.
389 
390 lcvrasp=.false.
391 lgwdsp=.false.
392 lraysp=.false.
393 lstrasp=.false.
394 lvdifsp=.false.
395 lrrmessp=.false.
396 
397 lrcoef=.false.
398 ltladdia=.false.
399 lglobrad=.false.
400 
401 !* 1.2.1 Set default values for ECMWF physics package
402 ! --------------------------------------------
403 
404 lephys=.false.
405 lagphy=.true.
406 
407 lecond=.false.
408 lepcld=.false.
409 lecumf=.false.
410 ledcld=.false.
411 leevap=.true.
412 legwdg=.false.
413 leozoc=.false.
414 leqngt=.false.
415 leradi=.false.
416 lerads=.false.
417 leshcv=.false.
418 lesice=.true.
419 lesurf=.false.
420 levdif=.false.
421 leocwa=.false.
422 leocco=.false.
423 leocsa=.false.
424 lemethox=.false.
425 lera40=.false.
426 lecurr=.false.
427 lvdftrac=.true.
428 lmftrac=.true.
429 lerain=.false.
430 le4alb=.false.
431 rthrfrti=0.0_jprb
432 !NPHYINT=0
433 le4alb=.false.
434 
435 !-------------------------------------------------------
436 ! pressure above which cloud scheme is not called
437 ! !!!WARNING!!! this has to be in the part of the domain
438 ! where the pure pressure level grid is used, otherwise
439 ! the code is not bit-reproducible!!!
440 ! Don't call the cloud scheme for pressures lower than 1hPa
441 !RCLDTOPP=100.0_JPRB
442 
443 !--------------------------------------------------------
444 
445 !* 1.2.2 Set-up linearized physical parametrization of ECMWF
446 ! ---------------------------------------------------
447 
448 !LETRAJP = .FALSE.
449 !LETRAJPT= .FALSE.
450 !LERADI2 = .FALSE.
451 !LERADS2 = .FALSE.
452 !LERADSW2= .FALSE.
453 !LERADN2 = .FALSE.
454 !LERADFL2= .FALSE.
455 !LEDCLD2 = .FALSE.
456 !LENCLD2 = .FALSE.
457 !LEVAPLS2= .FALSE.
458 !LEVDIF2 = .FALSE.
459 !LEGWDG2 = .FALSE.
460 !LECUMF2 = .FALSE.
461 !LECUBM2 = .FALSE.
462 !LECOND2 = .FALSE.
463 !LEQNGT2 = .FALSE.
464 !LESURF2 = .FALSE.
465 !LEKPERT = .FALSE.
466 !LNCLIN = .FALSE.
467 !LREGCL = .FALSE.
468 !LTRACLNPH = .FALSE.
469 
470 ! No perturbation of surface arrays
471 !LENOPERT = .TRUE.
472 
473 !* Packing parameters
474 ! -------------------
475 !NPCKFT95 = 1
476 !NEXPBT95 = 6
477 
478 ! LOGICAL FOR THE VERT DIFF SCHEME VDIFLCZ USED IN CONF 601
479 
480 lsphlc = .false.
481 lvdflc = .false.
482 lvdfds = .true.
483 lsdrlc = .true.
484 lsdrds = .false.
485 lczdeb = .false.
486 lzmcon = .true.
487 lkexp = .true.
488 alpha = 3._jprb
489 ah0 = 1000.0_jprb
490 ustarl = 0.5_jprb
491 ustars = 0.2_jprb
492 alandz0 = 0.05_jprb
493 aseaz0 = 0.0005_jprb
494 
495 nstpw=2
496 ! NSTPW=30
497 
498 lwcou=.false.
499 lwcou2w=.false.
500 
501 ! Setup for 3 degree resolution wave model
502 
503 ! RNORTW= 72.0
504 ! RSOUTW=-63.0
505 ! RDEGREW=3.0
506 
507 ! Setup for 1.5 degree resolution wave model
508 
509 rnortw= 81.0_jprb
510 rsoutw=-81.0_jprb
511 rdegrew=1.5_jprb
512 
513 ! 1.3 Modify default values according to LECMWF
514 
515 IF (lecmwf) THEN
516  lepcld=.true.
517  levdif=.true.
518  leocwa=.false.
519  leocco=.false.
520  leocsa=.true.
521  lesurf=.true.
522  lecond=.false.
523  lecumf=.true.
524  leevap=.true.
525  legwdg=.true.
526  leozoc=.true.
527  leqngt=.true.
528  leradi=.true.
529  lerads=.true.
530  lesice=.true.
531  ledcld=.true.
532  leo3ch=.false.
533  leco2diu=.false.
534  lemethox=.true.
535  IF(nconf == 1) THEN
536  lephys=.true.
537  ENDIF
538  IF(nconf == 131) THEN
539 ! LERADI2 = .TRUE.
540 ! LERADS2 = .TRUE.
541 ! LEVDIF2 = .TRUE.
542 ! LEGWDG2 = .TRUE.
543 ! LECUMF2 = .TRUE.
544 ! LECOND2 = .TRUE.
545 ! IF(L131TL) THEN
546 ! LEPHYS=.TRUE.
547 ! LECOND=.TRUE.
548 ! LEPCLD=.FALSE.
549 ! ENDIF
550  lsphlc=.true.
551  lvdflc=.true.
552  lsdrlc=.true.
553  lzmcon=.true.
554  lkexp =.true.
555  ENDIF
556  IF (nconf == 401 .OR. nconf == 501) THEN
557  lephys = .true.
558  lecond = .true.
559  lepcld = .false.
560 
561 ! LETRAJP = .TRUE.
562 ! LERADI2 = .TRUE.
563 ! LERADS2 = .TRUE.
564 ! LEVDIF2 = .TRUE.
565 ! LEGWDG2 = .TRUE.
566 ! LECUMF2 = .TRUE.
567 ! LECOND2 = .TRUE.
568  ENDIF
569 
570  IF(nconf == 601.OR.nconf == 801) THEN
571 
572 ! Full physics when computing the trajectory
573 
574  lephys=.true.
575 
576 ! Simple scheme for TL and ADJ
577 
578  lsphlc = .true.
579  lvdflc = .true.
580  lvdfds = .true.
581  lsdrlc = .true.
582  lsdrds = .true.
583  lczdeb = .false.
584  lzmcon = .true.
585  lkexp = .true.
586  alpha = 3._jprb
587  ah0 = 1000.0_jprb
588  ustarl = 0.5_jprb
589  ustars = 0.2_jprb
590  alandz0 = 0.05_jprb
591  aseaz0 = 0.0005_jprb
592 
593  ENDIF
594  nphy = jphyec
595 ELSE
596  IF ((nconf == 1).OR.(nconf == 131).OR.(nconf == 401)&
597  & .OR.(nconf == 501).OR.(nconf == 601)&
598  & .OR.(nconf == 701).OR.(nconf == 801)) THEN
599  lagphy=.false.
600  lcvcas=.true.
601  lcvdd=.true.
602  lcvlis=.true.
603  lcvpp=.true.
604  lsrcont=.false.
605  lcvra=.true.
606  lfgel=.true.
607  lgwd=.true.
608  lhmto=.true.
609  lmphys=.true.
610  lnebn=.true.
611  lnebt=.false.
612  lnebnxr=.false.
613  lneige=.true.
614  lray=.true.
615  lraylu=.true.
616  lraypl=.true.
617  lrrmes=.true.
618  lsfhyd=.true.
619  lsolv=.true.
620  lsrcon=.true.
621  lstra=.true.
622  lthermo=.true.
623  lvdif=.true.
624  nphy = jphymf
625  IF(larome.AND..NOT.lfpos) THEN
626  !extinction of MF phsic's keys for arome's run
627  !lfpos is added for 927 confs for example.
628  lcvra=.false.
629  lgwd=.false.
630  lgwdc=.false.
631  lnebco=.false.
632  lnebn=.false.
633  lnebr=.false.
634  lnebt=.false.
635  lozone=.false.
636  lray=.false.
637  lraylu=.false.
638  lrews=.false.
639  lraypl=.false.
640  lrayfm=.false.
641  lrayfm15=.false.
642  lrrmes=.false.
643  lsfhyd=.false.
644  lsnv=.false.
645  lsolv=.false.
646  lfgel=.false.
647  lstra=.false.
648  lstras=.false.
649  lvdif=.false.
650  !initialisation of AROME's physic ones
651  lmpa=.true.
652  lmicro=.false.
653  lturb=.false.
654  lmse=.false.
655  lkfbconv=.false.
656  lusechem=.false.
657  lkfbd=.false.
658  lkfbs=.false.
659  lusechem=.false.
660  lorilam=.false.
661  lrdust=.false.
662  nphy = jphyaro
663  ENDIF
664  ENDIF
665 ENDIF
666 
667 ! ------------------------------------------------------------------
668 
669 !* 2. Modify default values.
670 ! ----------------------
671 
672 ! Ce qui concerne NAMPHY commente par MPL le 14.04.09
673 !CALL POSNAM(NULNAM,'NAMPHY')
674 !READ(NULNAM,NAMPHY)
675 
676 ! Ce qui concerne NAMARPHY commente par MPL le 24.11.08
677 !CALL POSNAM(NULNAM,'NAMARPHY')
678 !READ(NULNAM,NAMARPHY)
679 !IF(LMSE) THEN
680 ! LSOLV=.FALSE.
681 ! LFGEL=.FALSE.
682 ! LSNV=.FALSE.
683 ! LVGSN=.FALSE.
684 ! WRITE(NULOUT,'('' INFO -old isba-lsolv,lfgel,lsnv,lvgsn- reset to .F. '', &
685 ! &'' when using lground i.e. surfex '')')
686 !ENDIF
687 
689 
690 ! Ce qui concerne NAEPHY commente par MPL le 14.04.09
691 !CALL POSNAM(NULNAM,'NAEPHY')
692 !READ(NULNAM,NAEPHY)
693 
694 IF(lpc_full)THEN
695  IF(nephys_pcfull < 2 .OR.nephys_pcfull > 3)THEN
696  CALL abor1(' SU0PHY: NEPHYS_PCFULL')
697  ENDIF
698 ELSE
699  nephys_pcfull=3
700 ENDIF
701 
702 IF( nconf == 201.OR.nconf == 202 &
703  & .OR.nconf == 421.OR.nconf == 422 &
704  & .OR.nconf == 521.OR.nconf == 522 )THEN
705  lreasur=.false.
706 ENDIF
707 !IF(.NOT.(LEPHYS.OR.LMPHYS)) THEN
708 ! LAGPHY=.FALSE.
709 ! LSLPHY=.FALSE.
710 ! WRITE(NULOUT,'('' INFO - LSLPHY RESET TO .FALSE. '')')
711 !ENDIF
712 IF(lepcld) THEN
713  lecond=.false.
714 ENDIF
715 IF(lagphy.AND.ndpsfi /= 0) THEN
716  ndpsfi=0
717  WRITE(nulout,'('' WARNING - NDPSFI RESET TO 0 '')')
718 ENDIF
719 
720 ! Commente par MPL 24.11.08
721 !CALL POSNAM(NULNAM,'NAPHLC')
722 !READ(NULNAM,NAPHLC)
723 
724 ! Commente par MPL 24.11.08
725 !CALL POSNAM (NULNAM,'NAMTRAJP')
726 !READ (NULNAM,NAMTRAJP)
727 
728 ! Commente par MPL 24.11.08
729 !CALL POSNAM(NULNAM,'NAMSIMPHL')
730 !READ(NULNAM,NAMSIMPHL)
731 
732 ! Commente par MPL 24.11.08
733 !CALL POSNAM(NULNAM,'NAMRCOEF')
734 !READ(NULNAM,NAMRCOEF)
735 
736 !-------------------------------------------------
737 ! Initialize profile extractions for the Single Column Model .
738 !-------------------------------------------------
739 
740 CALL suscm(kulout)
741 
742 ! ------------------------------------------------------------------
743 
744 !* 3. Do tests of consistency.
745 ! ------------------------
746 
747 ierr=0
748 
749 ! * Test that adequate physics is activated when at least one of the
750 ! options LRETCFOU, LWRTCFOU, LRCOEF,is set to .TRUE.
751 IF( lwrtcfou .AND. ((.NOT.lmphys).OR.lephys.OR.lagphy) ) THEN
752  ierr=ierr+1
753  WRITE(kulout,'(1X,A,I3,A)') ' ! SU0PHY: ERROR NR ',ierr,' !!!'
754  WRITE(kulout,'(1X,A,A,A)') ' SU0PHY: options ',&
755  & 'LWRTC, LWRTCFOU ',&
756  & 'require the following options for physics:'
757  WRITE(kulout,'(1X,A)') ' - LMPHYS=.TRUE. '
758  WRITE(kulout,'(1X,A)') ' - LEPHYS=.FALSE. '
759  WRITE(kulout,'(1X,A)') ' - LAGPHY=.FALSE. '
760  IF(.NOT.lraysp) THEN
761  WRITE(kulout,'(1X,A,A,A)') ' SU0PHY: option ',&
762  & ' LWRTCFOU ',&
763  & 'require the following option for simplified physics:'
764  WRITE(kulout,'(1X,A)') ' - LRAYSP=.TRUE. '
765  ENDIF
766 ENDIF
767 IF( lretcfou .AND. ((.NOT.(lmphys.OR.lsimph)).OR.lephys.OR.lagphy) ) THEN
768  ierr=ierr+1
769  WRITE(kulout,'(1X,A,I3,A)') ' ! SU0PHY: ERROR NR ',ierr,' !!!'
770  WRITE(kulout,'(1X,A,A,A)') ' SU0PHY: option ',&
771  & ' LRETCFOU ',&
772  & 'require the following options for physics:'
773  WRITE(kulout,'(1X,A)') ' - LMPHYS=.TRUE. or LSIMPH=.TRUE.'
774  WRITE(kulout,'(1X,A)') ' - LEPHYS=.FALSE. '
775  WRITE(kulout,'(1X,A)') ' - LAGPHY=.FALSE. '
776 ENDIF
777 IF( lrcoef .AND. ((.NOT.lmphys).OR.lephys.OR.lagphy) ) THEN
778  ierr=ierr+1
779  WRITE(kulout,'(1X,A,I3,A)') ' ! SU0PHY: ERROR NR ',ierr,' !!!'
780  WRITE(kulout,'(1X,A,A,A)') ' SU0PHY: options ',&
781  & 'LRCOEF ',&
782  & 'require the following options for physics:'
783  WRITE(kulout,'(1X,A)') ' - LMPHYS=.TRUE. '
784  WRITE(kulout,'(1X,A)') ' - LEPHYS=.FALSE. '
785  WRITE(kulout,'(1X,A)') ' - LAGPHY=.FALSE. '
786  IF(.NOT.lraysp) THEN
787  WRITE(kulout,'(1X,A,A,A)') ' SU0PHY: options ',&
788  & 'LRCOEF ',&
789  & 'require the following option for simplified physics:'
790  WRITE(kulout,'(1X,A)') ' - LRAYSP=.TRUE. '
791  ENDIF
792 ENDIF
793 
794 ! * Test that options LRETCFOU, LWRTCFOU are set to .FALSE.
795 ! when at least LRCOEF=.TRUE.
796 IF( (lrcoef) .AND. (lretcfou.OR.lwrtcfou) ) THEN
797  ierr=ierr+1
798  WRITE(kulout,'(1X,A,I3,A)') ' ! SU0PHY: ERROR NR ',ierr,' !!!'
799  WRITE(kulout,'(1X,A,A,A)') ' SU0PHY: options ',&
800  & 'LRCOEF ',&
801  & 'require that:'
802  WRITE(kulout,'(1X,A)') ' - LRETCFOU=.FALSE. '
803  WRITE(kulout,'(1X,A)') ' - LWRTCFOU=.FALSE. '
804 ENDIF
805 
806 ! * Test that option LSRCONT is set to .FALSE. when LSRCON=.FALSE.
807 IF( (lsrcont) .AND. (.NOT.lsrcon) ) THEN
808  ierr=ierr+1
809  WRITE(kulout,'(1X,A,I3,A)') ' ! SU0PHY: ERROR NR ',ierr,' !!!'
810  WRITE(kulout,'(1X,A,A,A)') ' SU0PHY: options ',&
811  & 'LSRCONT ',&
812  & 'require that:'
813  WRITE(kulout,'(1X,A)') ' - LSRCON=.TRUE. '
814 ENDIF
815 
816 ! * Use NDPSFI=1 when not available or inconsistent with some other options?
817 !IF(LGWADV .AND. (NDPSFI==1)) THEN
818  ! * these two options actually can run together on an informatic
819  ! point of view, but the current assumptions done with LGWADV=T
820  ! are that a particle which is on the Earth surface remains
821  ! on the Earth surface; this is equivalent to assume that "etadot_surf"
822  ! is always zero. This condition is satisfied when NDPSFI=0
823  ! but not when NDPSFI=1 which gives a non-zero value to "etadot_surf".
824  ! So one forbids combination "LGWADV .AND. (NDPSFI==1)" which leads
825  ! to inconsistencies in the model at the surface.
826 ! IERR=IERR+1
827 ! WRITE(KULOUT,'(1X,A,I3,A)') ' ! SU0PHY: ERROR NR ',IERR,' !!!'
828 ! WRITE(KULOUT,'(1X,A,A,A)') ' SU0PHY: options ',&
829 ! & 'NDPSFI=1 ',&
830 ! & 'require that:'
831 ! WRITE(KULOUT,'(1X,A)') ' - LGWADV=.FALSE. '
832 !ENDIF
833 
834 ! TESTS FOR ALARO-0 (cloud)
835 IF (lpil.AND..NOT.lcondwt) THEN
836  ierr=ierr+1
837  WRITE(kulout,'(1X,A,I3,A)') ' ! SU0PHY: ERROR NR ',ierr,' !!!'
838  WRITE(kulout,'(1X,A)') ' SU0PHY: LPIL requires LCONDWT '
839 ENDIF
840 
841 ! TESTS FOR ALARO-0 (prognostic convection)
842 IF (lcvpro) THEN
843  lcddpro=.true.
844  IF (nconf /= 1)THEN
845  WRITE(kulout,'(1X, A)') 'WARNING: LCVPRO requires NCONF=1'
846  lcvpro=.false.
847  lcddpro=.false.
848  ENDIF
849 ENDIF
850 
851 IF (lphspsh .AND. .NOT.(l3mt.OR.lstrapro)) THEN
852  ! * For the time being, LPHSPSH requires L3MT.OR.LSTRAPRO (missing code
853  ! in CPTEND in the other cases, to be coded later).
854  ierr=ierr+1
855  WRITE(kulout,'(1X,A,I3,A)') ' ! SU0PHY: ERROR NR ',ierr,' !!!'
856  WRITE(kulout,'(1X,A)') .OR.' SU0PHY: LPHSPSH requires L3MTLSTRAPRO '
857 ENDIF
858 
859 ! * Use simplified physics with LMPA=T?
860 IF(lmpa.AND.lsimph) THEN
861  ! * Simplified physics is not consistent with AROME physics
862  ! concerning most of the physical parameterizations.
863  ierr=ierr+1
864  WRITE(kulout,'(1X,A,I3,A)') ' ! SU0PHY: ERROR NR ',ierr,' !!!'
865  WRITE(kulout,'(1X,A)') ' SU0PHY: LMPA and LSIMPH cannot be both to T.'
866 ENDIF
867 
868 
869 IF (ierr >= 1) THEN
870  CALL flush(kulout)
871  CALL abor1(' SU0PHY: ABOR1 CALLED')
872 ENDIF
873 
874 ! ------------------------------------------------------------------
875 
876 !* 4. Print final values.
877 ! -------------------
878 
879 WRITE(unit=kulout,fmt='('' COMMON YOMPHY '')')
880 WRITE(unit=kulout,fmt='('' LMPHYS= '',L5,'' LREASUR = '',L5)')lmphys,lreasur
881 if (1==0) then !!!!! A REVOIR (MPL)
882 WRITE(unit=kulout,fmt='('' LCONDWT='',L5,'' LCVPP = '',L5,&
883  & '' LCVPPKF = '',L5,&
884  & '' LNEIGE = '',L5,'' LRNUMX = '',L5,'' LCLSATUR = '',L5,'' LHUNEG = '',L5,&
885  & '' LVOIGT = '',L5,'' LVFULL = '',L5,&
886  & '' L2PHYS = '',L5,&
887  & '' LCVDD = '',L5,'' LCAPE= '',L5,'' LSRCON = '',L5,&
888  & '' LCVLIS = '',L5,'' LCVCAS= '',L5,'' LSRCONT= '',L5,'' LO3ABC= '',L5, &
889  & '' LAEROSEA = '',L5,'' LAEROLAN = '',L5,'' LAEROSOO = '',L5, &
890  & '' LAERODES = '',L5,'' LAEROVOL = '',L5,'' LAEROSUL = '',L5, &
891  & '' LRELAXT = '',L5,'' LRELAXW = '',L5,&
892  & '' LSLC = '',L5,'' LRRGUST= '',L5, &
893  & '' LNEWD = '',L5,'' LGLT= '',L5,'' LDIFCONS= '',L5, &
894  & '' LECT = '',L5,'' LECTFL = '',L5,'' LPBLE = '',L5,'' LCVPGY= '',L5, &
895  & '' LPTKE= '',L5,'' L3MT= '',L5 &
896  & )')&
901 else
902  print*,'OKL'
903  print*,'LOGICS',&
908 endif
909 WRITE(unit=kulout,fmt='('' LCVRA = '',L5 ,'' LFPCOR = '',L5&
910  & ,'' LNOIAS = '',L5 &
911  & ,'' LGWD = '',L5,'' LHMTO = '',L5,'' LRAY = '',L5 &
912  & ,'' LSFHYD = '',L5,'' LSTRA = '',L5,'' LTHERMO = '',L5,/&
913  & ,'' LVDIF = '',L5,'' LNEBCO = '',L5,'' LNEBT = '',L5,/&
914  & ,'' LRRMES = '',L5,'' LOZONE = '',L5,'' LNEBR = '',L5,/&
915  & ,'' LSNV = '',L5,'' LSOLV = '',L5,'' LFGEL = '',L5,/&
916  & ,'' LVGSN ='',L5,'' LND2DIFF ='',L5,/&
917  & ,'' LNEBN = '',L5,'' LNEBNXR = '',L5,'' LQXRTGH = '',L5,'' LSTRAS = '',L5,/&
918  & ,'' LHUCN = '',L5,'' LGWDC = '',L5,'' LRAYFM = '',L5,'' LRAYFM15= '',L5,/&
919  & ,'' LRAYLU = '',L5,'' LREWS = '',L5,'' LRPROX = '',L5 /&
920  & ,'' LRMIX = '',L5,'' LRSTAB = '',L5,''LRAUTOEV = '',L5 /&
921  & ,'' LRTPP = '',L5,'' LRTDL = '',L5,'' LRAYPL = '',L5 &
922  & )')&
928 WRITE(unit=kulout,fmt='('' NBITER = '',I2,'' NDPSFI = '',I2,'' NPHYREP = '',I2)') &
930 WRITE(unit=kulout,fmt='('' NOIR = '',I2)')noir
931 !WRITE(UNIT=KULOUT,FMT='('' NPHYINT = '',I2)')NPHYINT
932 
933 WRITE(unit=kulout,fmt='('' - - - - - - - - - -'')')
934 WRITE(unit=kulout,fmt='('' COMMON YOMPHY'')')
935 WRITE(unit=kulout,fmt='('' - - - - - - - - - -'')')
936 WRITE(unit=kulout,fmt='(&
937  & '' LECT = '',L5,'' LAJUCV = '',L5,/, &
938  & '' LCVRAV3 = '',L5, &
939  & '' LNEBGR = '',L5,'' LNEBGY = '',L5,'' LBCCOND = '',L5 &
940  & )') lect, lajucv, &
942 
943 WRITE(unit=kulout,fmt='('' - - - - - - - - -'')')
944 WRITE(unit=kulout,fmt='('' MICROPHYSICS KEY '')')
945 WRITE(unit=kulout,fmt='('' - - - - - - - - -'')')
946 WRITE(unit=kulout,fmt='( '' LPROCLD = '',L5 &
947  &,'' LEVAPP = '',L5,'' LCOLLEC = '',L5,'' LNSMLIS = '',L5 &
948  &,'' LADJCLD = '',L5,'' LAUTONEB = '',L5,'' LSSD = '',L5)')&
950 
951 WRITE(unit=kulout,fmt='('' ALARO-0 cloud '')')
952 WRITE(unit=kulout,fmt='('' LPIL = '',L5,'' LSTRAPRO = '',L5 &
953  &,'' LNEWSTAT = '',L5 &
954  &,'' LPHSPSH = '',L5 ,'' LSMROT = '',L5 &
955  &,'' LSMTPS = '',L5 ,'' LSMNIMBT = '',L5 &
956  &,'' L1DRHCRI = '',L5 ,'' LGWRHCRI = '',L5 &
957  &,'' NSMTBOT = '',I2,'' NSMDNEB = '',I2 &
958  &,'' NPRAG = '',I2,'' NPRAC = '',I2 &
959  &,'' NPRRI = '',I2 &
961  & l1drhcri, lgwrhcri,&
963 
964 WRITE(unit=kulout,fmt='('' ALARO-0 prognostic convection '')')
965 WRITE(unit=kulout,&
966  &fmt='('' LCVPRO ='',L1,'' LCDDPRO ='',L1,'' LSCMF ='',L1)') &
968 
969 WRITE(unit=kulout,fmt='('' COMMON YOMSIMPHL '')')
970 WRITE(unit=kulout,fmt='('' LSIMPH= '',L5,'' LTRAJPS = '',L5 &
971  & ,'' LTRAJPST = '',L5 &
972  & ,'' LSMOOTHD = '',L5,'' LSMOOTHA = '',L5,'' LSMOOTHB = '',L5 &
973  & ,'' LCLOUDS = '',L5 )')&
975  & lsmoothb,lclouds
976 WRITE(unit=kulout,fmt='('' LCVRASP = '',L5,'' LGWDSP = '',L5 &
977  & ,'' LRAYSP = '',L5,'' LSTRASP = '',L5,'' LVDIFSP = '',L5 &
978  & ,'' LRRMESSP = '',L5)')&
980 WRITE(unit=kulout,fmt='('' COMMON YOMRCOEF '')')
981 WRITE(unit=kulout,fmt='('' LRCOEF= '',L5 &
982  & ,'' LTLADDIA = '',L5,'' LGLOBRAD = '',L5)')&
984 
985 ! TEST OF CONSISTENCY FOR RADIATION SCHEMES
986 
987 IF(lmphys) THEN
988  IF((lray.AND.lrayfm).OR.(lray.AND.lrayfm15).OR.(lrayfm15.AND.lrayfm)) THEN
989  WRITE(nulout,'('' WARNING - 2 RADIATION SCHEMES... '')')
990  CALL abor1('SU0PHY: ABOR1 CALLED')
991  ENDIF
992 ENDIF
993 
994 ! TESTS OF CONSISTENCY INSIDE YOMPHY
995 
996 IF(lstras.AND.lrnumx)THEN
997  WRITE(nulout,fmt='('' ACPLUIS AND LRNUMX ARE NOT COMPATIBLE''&
998  & ,'' FOR THE MOMENT'')')
999  CALL abor1('SU0PHY: ABOR1 CALLED')
1000 ENDIF
1001 
1002 ! TESTS OF CONSISTENCY BETWEEN YOMPHY AND INITIALIZATION
1003 
1004 !IF (.NOT.LMPHYS.AND..NOT.LEPHYS) THEN
1005 ! Digital Filter Initialisation
1006 ! IF ((NEINI == 2.OR.NEINI == 4).AND.NEDFI >= 2) THEN
1007 ! IF (NEDFI <= 5) THEN
1008 ! WRITE(NULOUT,FMT='('' YOMPHY AND YEMDFI ARE NOT COMPATIBLE'')')
1009 ! CALL ABOR1(' DIABATIC DFI WITHOUT PHYSICS !')
1010 ! ELSE
1011 ! WRITE(NULOUT,FMT='('' CAUTION : FORWARD DFI WITHOUT PHYSICS'')')
1012 ! ENDIF
1013 ! ENDIF
1014 !ENDIF
1015 
1016 WRITE(unit=kulout,fmt='('' COMMON YOMARPHY '')')
1017 WRITE(unit=kulout,fmt='('' LMPA = '',L5, &
1018  & '' LMICRO = '',L5,'' LTURB = '',L5, &
1019  & '' LMSE = '',L5,'' LKFBCONV = '',L5,&
1020  & '' LKFBD = '',L5,'' LKFBS = '',L5,&
1021  & '' LUSECHEM = '',L5,'' LORILAM = '',L5,'' LRDUST = '',L5)')&
1023  & lorilam,lrdust
1024 
1025 WRITE(unit=kulout,fmt='('' COMMON YOEPHY '')')
1026 WRITE(unit=kulout,fmt='('' LEPHYS = '',L5, &
1027  & '' LECOND = '',L5,'' LECUMF = '',L5 &
1028  & )')&
1029  & lephys,lecond,lecumf
1030 !WRITE(NULOUT,'("RCLDTOPP=",F10.2)') RCLDTOPP
1031 WRITE(unit=kulout,fmt='('' LEDCLD = '',L5,'' LEGWDG = '',L5 &
1032  & ,'' LEOZOC = '',L5,'' LEQNGT = '',L5 &
1033  & ,'' LEO3CH = '',L5)')&
1035 WRITE(unit=kulout,fmt='('' LERADI = '',L5 &
1036  & ,'' LESHCV = '',L5,'' LESURF = '',L5,'' LEVDIF = '',L5 &
1037  & ,'' LEOCWA = '',L5,'' LEOCCO = '',L5,'' LEOCSA = '',L5 &
1038  & ,'' LECURR = '',L5,'' RTHRFRTI = '',F7.2 &
1039  & )')&
1041 WRITE(unit=kulout,fmt='('' LEPCLD = '',L5,'' LEMETHOX= '',L5 &
1042  & ,'' LE4ALB = '',L5 &
1043  & )')&
1045 
1046 ! Do not allow storage of trajectory in TL physics if tracers
1047 ! are to be included in linearized physics (temporary)
1048 !IF (LETRAJP .AND. LETRAJPT .AND. LTRACLNPH) THEN
1049 ! WRITE(UNIT=KULOUT,FMT='('' CAUTION : STORAGE OF TRAJECTORY IN LINEAR. PHYSICS NOT YET '')')
1050 ! WRITE(UNIT=KULOUT,FMT='('' IMPLEMENTED FOR TRACERS: LETRAJPT WILL BE RESET TO .FALSE. '')')
1051 !ENDIF
1052 
1053 !IF (LETRAJP) THEN
1054 ! WRITE(UNIT=KULOUT,FMT='('' ======================== '')')
1055 ! WRITE(UNIT=KULOUT,FMT='('' LINEAR PHYSICS ACTIVATED '')')
1056 ! WRITE(UNIT=KULOUT,FMT='('' ======================== '')')
1057 ! WRITE(UNIT=KULOUT,FMT='('' LERADI2 = '',L4 &
1058 ! & ,'' LERADS2 = '',L4 &
1059 ! & ,'' LERADSW2= '',L4 &
1060 ! & ,'' LERADN2 = '',L4 &
1061 ! & ,'' LERADFL2= '',L4 &
1062 ! & )')&
1063 ! & LERADI2,LERADS2,LERADSW2,LERADN2,LERADFL2
1064 ! WRITE(UNIT=KULOUT,FMT='('' LEDCLD2 = '',L4 &
1065 ! & ,'' LENCLD2 = '',L4 &
1066 ! & ,'' LEVAPLS2= '',L4 &
1067 ! & ,'' LREGCL = '',L4 &
1068 ! & ,'' LNCLIN = '',L4 &
1069 ! & )')&
1070 ! & LEDCLD2,LENCLD2,LEVAPLS2,LREGCL,LNCLIN
1071 ! WRITE(UNIT=KULOUT,FMT='('' LECUMF2 = '',L4 &
1072 ! & ,'' LECUBM2 = '',L4 &
1073 ! & ,'' LECOND2 = '',L4 &
1074 ! & )')&
1075 ! & LECUMF2,LECUBM2,LECOND2
1076 ! WRITE(UNIT=KULOUT,FMT='('' LEVDIF2 = '',L4 &
1077 ! & ,'' LEGWDG2 = '',L4 &
1078 ! & ,'' LEQNGT2 = '',L4 &
1079 ! & ,'' LESURF2 = '',L4 &
1080 ! & )')&
1081 ! & LEVDIF2,LEGWDG2,LEQNGT2,LESURF2
1082 ! WRITE(UNIT=KULOUT,FMT='('' LEKPERT = '',L4,'' LENOPERT = '',L4)')&
1083 ! & LEKPERT,LENOPERT
1084 ! WRITE(UNIT=KULOUT,FMT='('' ======================== '')')
1085 ! WRITE(UNIT=KULOUT,FMT='('' LETRAJPT = '',L4)')LETRAJPT
1086 ! WRITE(UNIT=KULOUT,FMT='('' ======================== '')')
1087 ! WRITE(UNIT=KULOUT,FMT='('' LTRACLNPH = '',L4)')LTRACLNPH
1088 ! WRITE(UNIT=KULOUT,FMT='('' ======================== '')')
1089 !ELSE
1090 ! WRITE(UNIT=KULOUT,FMT='('' ============================ '')')
1091 ! WRITE(UNIT=KULOUT,FMT='('' LINEAR PHYSICS NOT ACTIVATED '')')
1092 ! WRITE(UNIT=KULOUT,FMT='('' ============================ '')')
1093 ! WRITE(UNIT=KULOUT,FMT='('' LENCLD2 = '',L4)')LENCLD2
1094 ! WRITE(UNIT=KULOUT,FMT='('' LEVAPLS2= '',L4)')LEVAPLS2
1095 !ENDIF
1096 
1097 WRITE(unit=kulout,fmt='('' LSPHLC = '',L5,'' LVDFLC = '',L5 &
1098  & ,'' LVDFDS = '',L5,'' LSDRLC = '',L5,'' LSDRDS = '',L5)')&
1100 WRITE(unit=kulout,fmt='('' LCZDEB = '',L5,'' LZMCON = '',L5 &
1101  & ,'' LKEXP = '',L5)') lczdeb,lzmcon,lkexp
1102 WRITE(unit=kulout,fmt='('' ALPHA = '',E16.6)') alpha
1103 WRITE(unit=kulout,fmt='('' AH0 = '',E16.6,''m'')') ah0
1104 WRITE(unit=kulout,fmt='('' USTARL = '',E16.6,''m s-1'')') ustarl
1105 WRITE(unit=kulout,fmt='('' USTARS = '',E16.6,''m s-1'')') ustars
1106 WRITE(unit=kulout,fmt='('' ALANDZ0= '',E16.6,''m'')') alandz0
1107 WRITE(unit=kulout,fmt='('' ASEAZ0 = '',E16.6,''m'')') aseaz0
1108 
1109 IF (lagphy) THEN
1110  WRITE(unit=kulout,fmt='('' LAGPHY = '',L5,'' THE PHYSICS PAC&
1111  & KAGE IS CALLED AFTER THE DYNAMICS IN LAGGED MODE'')')lagphy
1112 ELSE
1113  WRITE(unit=kulout,fmt='('' LAGPHY = '',L5,'' THE PHYSICS PAC&
1114  & KAGE IS CALLED BEFORE THE DYNAMICS '')')lagphy
1115 ENDIF
1116 WRITE(unit=kulout,fmt=*) 'CGMIXLEN=',trim(cgmixlen)
1117 WRITE(unit=kulout,fmt='('' LPRGML = '',L4)') lprgml
1118 
1119 ! ------------------------------------------------------------------
1120 
1121 IF (lhook) CALL dr_hook('SU0PHY',1,zhook_handle)
1122 END SUBROUTINE su0phy
logical lrnumx
Definition: yomphy.F90:306
Definition: yoephy.F90:1
logical lvdifsp
Definition: yomsimphl.F90:48
logical leocsa
Definition: yoephy.F90:44
logical lfpos
Definition: yomct0.F90:339
logical lcollec
Definition: yomphy.F90:334
logical lptke
Definition: yomphy.F90:359
logical lczdeb
Definition: yophlc.F90:24
logical le4alb
Definition: yoephy.F90:40
logical lvdflc
Definition: yophlc.F90:22
logical lsmootha
Definition: yomsimphl.F90:42
logical levapp
Definition: yomphy.F90:333
logical ltrajps
Definition: yomsimphl.F90:39
logical lsrcon
Definition: yomphy.F90:310
Definition: yophlc.F90:1
logical lozone
Definition: yomphy.F90:368
logical laerolan
Definition: yomphy.F90:338
real(kind=jprb) ah0
Definition: yophlc.F90:16
logical lectfl
Definition: yomphy.F90:395
logical lcvrasp
Definition: yomsimphl.F90:44
logical lsmrot
Definition: yomphy.F90:401
logical lnebr
Definition: yomphy.F90:365
logical lerain
Definition: yoephy.F90:39
logical lrrmes
Definition: yomphy.F90:372
logical lfpcor
Definition: yomphy.F90:328
logical lnd2diff
Definition: yomphy.F90:367
logical lpble
Definition: yomphy.F90:347
logical lnoias
Definition: yomphy.F90:329
logical lemethox
Definition: yoephy.F90:34
logical lbccond
Definition: yomphy.F90:393
logical lrayfm
Definition: yomphy.F90:370
logical lwrtcfou
Definition: yomct0.F90:345
logical lvfull
Definition: yomphy.F90:309
logical laerovol
Definition: yomphy.F90:341
logical lo3abc
Definition: yomphy.F90:324
logical leocco
Definition: yoephy.F90:43
logical lcape
Definition: yomphy.F90:298
logical lecond
Definition: yoephy.F90:16
logical laerosea
Definition: yomphy.F90:337
logical lsnv
Definition: yomphy.F90:374
logical lprocld
Definition: yomphy.F90:332
logical lraysp
Definition: yomsimphl.F90:46
logical l3mt
Definition: yomphy.F90:336
logical lkfbd
Definition: yomarphy.F90:36
logical lrayfm15
Definition: yomphy.F90:371
character(len=20) cgmixlen
Definition: yomphy.F90:353
logical lemwave
Definition: yoephy.F90:41
logical lorilam
Definition: yomarphy.F90:38
logical lray
Definition: yomphy.F90:369
logical lcvrav3
Definition: yomphy.F90:392
real(kind=jprb) alandz0
Definition: yophlc.F90:19
logical leradi
Definition: yoephy.F90:23
logical lstrapro
Definition: yomphy.F90:379
logical lsolv
Definition: yomphy.F90:375
logical lhuneg
Definition: yomphy.F90:304
logical lsmnimbt
Definition: yomphy.F90:400
logical leshcv
Definition: yoephy.F90:25
logical lnebn
Definition: yomphy.F90:364
logical leevap
Definition: yoephy.F90:19
integer(kind=jpim) nprag
Definition: yomphy.F90:407
subroutine abor1(CDTEXT)
Definition: abor1.F90:2
logical lzmcon
Definition: yophlc.F90:25
integer(kind=jpim) nbiter
Definition: yomphy.F90:292
logical lqxrtgh
Definition: yomphy.F90:326
logical lrrgust
Definition: yomphy.F90:323
logical lgwdc
Definition: yomphy.F90:361
logical lssd
Definition: yomphy.F90:346
logical lvdftrac
Definition: yoephy.F90:37
Definition: yomct0.F90:1
integer(kind=jpim) ndpsfi
Definition: yomphy.F90:293
subroutine su0phy(KULOUT)
Definition: su0phy.F90:2
logical lsmoothd
Definition: yomsimphl.F90:41
logical lnebco
Definition: yomphy.F90:363
logical lstrasp
Definition: yomsimphl.F90:47
logical lera40
Definition: yoephy.F90:35
logical lhmto
Definition: yomphy.F90:362
logical lstras
Definition: yomphy.F90:378
logical lrtdl
Definition: yomphy.F90:321
logical lcondwt
Definition: yomphy.F90:299
logical lcvdd
Definition: yomphy.F90:300
logical lrelaxt
Definition: yomphy.F90:343
logical lneige
Definition: yomphy.F90:305
logical lsmtps
Definition: yomphy.F90:402
logical lephys
Definition: yoephy.F90:15
logical lrelaxw
Definition: yomphy.F90:344
logical lagphy
Definition: yoephy.F90:29
integer(kind=jpim) nconf
Definition: yomct0.F90:325
logical lmse
Definition: yomarphy.F90:34
logical leco2diu
Definition: yoephy.F90:32
logical lrmix
Definition: yomphy.F90:317
subroutine suscm(KULOUT)
Definition: suscm.F90:2
logical lz0hsrel
Definition: yomphy.F90:350
logical laerosoo
Definition: yomphy.F90:339
logical lnsmlis
Definition: yomphy.F90:348
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
Definition: calcul_STDlev.h:26
logical laerodes
Definition: yomphy.F90:340
logical lphcdpi
Definition: yomphy.F90:388
logical lecmwf
Definition: yomct0b.F90:15
logical lgwdsp
Definition: yomsimphl.F90:45
logical lect
Definition: yomphy.F90:358
logical lnewd
Definition: yomphy.F90:331
logical lphspsh
Definition: yomphy.F90:399
logical lsdrlc
Definition: yophlc.F90:23
logical lmpa
Definition: yomarphy.F90:31
logical lrdust
Definition: yomarphy.F90:39
logical lthermo
Definition: yomphy.F90:381
logical lrprox
Definition: yomphy.F90:316
logical lrautoev
Definition: yomphy.F90:319
real(kind=jprb) rsoutw
Definition: yoewcou.F90:83
logical lslc
Definition: yomphy.F90:312
integer, parameter jprb
Definition: parkind1.F90:31
logical laerosul
Definition: yomphy.F90:342
logical lesice
Definition: yoephy.F90:26
character(len=1) ccoupling
Definition: yomarphy.F90:41
logical lmicro
Definition: yomarphy.F90:32
logical lnebt
Definition: yomphy.F90:366
logical lrrmessp
Definition: yomsimphl.F90:49
logical lglobrad
Definition: yomrcoef.F90:60
logical lclouds
Definition: yomsimphl.F90:50
logical lcvlis
Definition: yomphy.F90:384
logical lesurf
Definition: yoephy.F90:27
logical lclsatur
Definition: yomphy.F90:307
logical leocwa
Definition: yoephy.F90:42
logical lrstab
Definition: yomphy.F90:318
logical l1drhcri
Definition: yomphy.F90:403
logical lpil
Definition: yomphy.F90:398
logical lnebgr
Definition: yomphy.F90:390
logical lstra
Definition: yomphy.F90:377
logical lfgel
Definition: yomphy.F90:376
logical lcddpro
Definition: yomphy.F90:357
logical lpc_full
Definition: yomct0.F90:462
logical lraypl
Definition: yomphy.F90:322
logical lnewstat
Definition: yomphy.F90:380
logical lajucv
Definition: yomphy.F90:389
logical lrews
Definition: yomphy.F90:315
logical lscmf
Definition: yomphy.F90:386
logical lerads
Definition: yoephy.F90:24
logical lrtpp
Definition: yomphy.F90:320
logical l2phys
Definition: yomphy.F90:313
logical lkexp
Definition: yophlc.F90:26
real(kind=jprb) aseaz0
Definition: yophlc.F90:20
real(kind=jprb) ustarl
Definition: yophlc.F90:17
logical ledcld
Definition: yoephy.F90:18
logical lvoigt
Definition: yomphy.F90:308
real(kind=jprb) rthrfrti
Definition: yoephy.F90:45
logical leqngt
Definition: yoephy.F90:22
Definition: yomlun.F90:1
integer(kind=jpim) nprac
Definition: yomphy.F90:407
logical lbuflux
Definition: yomarphy.F90:40
real(kind=jprb) rnortw
Definition: yoewcou.F90:84
logical lvdfds
Definition: yophlc.F90:27
integer(kind=jpim) nephys_pcfull
Definition: yoephy.F90:48
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
logical lgwd
Definition: yomphy.F90:360
integer(kind=jpim) nstpw
Definition: yoewcou.F90:80
real(kind=jprb) rdegrew
Definition: yoewcou.F90:85
logical ldifcons
Definition: yomphy.F90:303
logical lecumf
Definition: yoephy.F90:17
integer(kind=jpim) nphy
Definition: yomphy.F90:408
integer(kind=jpim) nphyrep
Definition: yomphy.F90:396
logical lraylu
Definition: yomphy.F90:314
logical lnebgy
Definition: yomphy.F90:391
logical lhook
Definition: yomhook.F90:12
!$Id!Parameters for nlm real spfac!IM cf epmax real ptcrit real omtrain real dttrig real alpha real delta real betad COMMON cv30param nlm spfac &!IM cf ptcrit omtrain dttrig alpha
Definition: cv30param.h:5
logical lecurr
Definition: yoephy.F90:36
logical lvdif
Definition: yomphy.F90:382
logical lgwrhcri
Definition: yomphy.F90:404
logical lautoneb
Definition: yomphy.F90:345
logical lusechem
Definition: yomarphy.F90:37
logical lcvppkf
Definition: yomphy.F90:394
logical lmphys
Definition: yomphy.F90:295
integer(kind=jpim), parameter jphyec
Definition: yomphy.F90:410
logical lkfbconv
Definition: yomarphy.F90:35
logical lepcld
Definition: yoephy.F90:30
integer(kind=jpim) nprri
Definition: yomphy.F90:407
logical ladjcld
Definition: yomphy.F90:335
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
Definition: yomhook.F90:17
integer(kind=jpim) noir
Definition: yomphy.F90:397
logical lretcfou
Definition: yomct0.F90:344
Definition: yomphy.F90:1
logical leo3ch
Definition: yoephy.F90:31
logical lcvcas
Definition: yomphy.F90:385
logical lrcoef
Definition: yomrcoef.F90:58
logical lprgml
Definition: yomphy.F90:354
integer, parameter jpim
Definition: parkind1.F90:13
logical lreasur
Definition: yomphy.F90:296
logical lhucn
Definition: yomphy.F90:327
logical lsimph
Definition: yomsimphl.F90:38
logical lsmoothb
Definition: yomsimphl.F90:43
logical lcvpro
Definition: yomphy.F90:356
logical lsphlc
Definition: yophlc.F90:21
logical lcvpp
Definition: yomphy.F90:302
logical lcvpgy
Definition: yomphy.F90:301
logical lvgsn
Definition: yomphy.F90:387
logical larome
Definition: yomct0.F90:431
logical lwcou
Definition: yoewcou.F90:87
logical lbud23
Definition: yoephy.F90:33
logical lsdrds
Definition: yophlc.F90:28
logical lblvar
Definition: yomphy.F90:349
logical leozoc
Definition: yoephy.F90:21
!$Header!integer nvarmx s s unit
Definition: gradsdef.h:20
logical levdif
Definition: yoephy.F90:28
integer(kind=jpim), parameter jphymf
Definition: yomphy.F90:411
logical ltladdia
Definition: yomrcoef.F90:59
real(kind=jprb) ustars
Definition: yophlc.F90:18
logical lmftrac
Definition: yoephy.F90:38
logical ltrajpst
Definition: yomsimphl.F90:40
integer(kind=jpim) nsmdneb
Definition: yomphy.F90:406
logical lkfbs
Definition: yomarphy.F90:36
logical lwcou2w
Definition: yoewcou.F90:88
logical lturb
Definition: yomarphy.F90:33
logical lcvra
Definition: yomphy.F90:355
logical lnebnxr
Definition: yomphy.F90:325
integer(kind=jpim) nsmtbot
Definition: yomphy.F90:405
logical lsfhyd
Definition: yomphy.F90:373
integer(kind=jpim), parameter jphyaro
Definition: yomphy.F90:412
logical lglt
Definition: yomphy.F90:330
logical lsrcont
Definition: yomphy.F90:311
logical legwdg
Definition: yoephy.F90:20