source: LMDZ5/trunk/libf/phylmd/cv3p1_closure.F @ 1515

Last change on this file since 1515 was 1515, checked in by idelkadi, 13 years ago

Corrections, organisation et modifications des parametres de la convection lus dans les fichiers inputs conv_param.data et ep_param.data

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 18.0 KB
Line 
1!
2! $Id: cv3p1_closure.F 1515 2011-05-06 10:40:30Z idelkadi $
3!
4      SUBROUTINE cv3p1_closure(nloc,ncum,nd,icb,inb
5     :                      ,pbase,plcl,p,ph,tv,tvp,buoy
6     :                      ,Supmax,ok_inhib,Ale,Alp
7     o                      ,sig,w0,ptop2,cape,cin,m,iflag,coef
8     :                      ,Plim1,Plim2,asupmax,supmax0
9     :                      ,asupmaxmin,cbmf)
10
11*
12***************************************************************
13*                                                             *
14* CV3P1_CLOSURE                                               *
15*                  Ale & Alp Closure of Convect3              *
16*                                                             *
17* written by   :   Kerry Emanuel                              *
18* vectorization:   S. Bony                                    *
19* modified by :    Jean-Yves Grandpeix, 18/06/2003, 19.32.10  *
20*                  Julie Frohwirth,     14/10/2005  17.44.22  *
21***************************************************************
22*
23      implicit none
24
25#include "cvthermo.h"
26#include "cv3param.h"
27#include "YOMCST2.h"
28#include "YOMCST.h"
29#include "conema3.h"
30#include "iniprint.h"
31
32c input:
33      integer ncum, nd, nloc
34      integer icb(nloc), inb(nloc)
35      real pbase(nloc),plcl(nloc)
36      real p(nloc,nd), ph(nloc,nd+1)
37      real tv(nloc,nd),tvp(nloc,nd), buoy(nloc,nd)
38      real Supmax(nloc,nd)
39      logical ok_inhib ! enable convection inhibition by dryness
40      real Ale(nloc),Alp(nloc)
41
42c input/output:
43      real sig(nloc,nd), w0(nloc,nd), ptop2(nloc)
44
45c output:
46      real cape(nloc),cin(nloc)
47      real m(nloc,nd)
48      real Plim1(nloc),Plim2(nloc)
49      real asupmax(nloc,nd),supmax0(nloc)
50      real asupmaxmin(nloc)
51      integer iflag(nloc)
52c
53c local variables:
54      integer il, i, j, k, icbmax, i0(nloc)
55      real deltap, fac, w, amu
56      real rhodp
57      real Pbmxup
58      real dtmin(nloc,nd), sigold(nloc,nd)
59      real coefmix(nloc,nd)
60      real pzero(nloc),ptop2old(nloc)
61      real cina(nloc),cinb(nloc)
62      integer ibeg(nloc)
63      integer nsupmax(nloc)
64      real supcrit,temp(nloc,nd)
65      real P1(nloc),Pmin(nloc),plfc(nloc)
66      real asupmax0(nloc)
67      logical ok(nloc)
68      real siglim(nloc,nd),wlim(nloc,nd),mlim(nloc,nd)
69      real wb2(nloc)
70      real cbmflim(nloc),cbmf1(nloc),cbmfmax(nloc),cbmf(nloc)
71      real cbmflast(nloc)
72      real coef(nloc)
73      real xp(nloc),xq(nloc),xr(nloc),discr(nloc),b3(nloc),b4(nloc)
74      real theta(nloc),bb(nloc)
75      real term1,term2,term3
76      real alp2(nloc) ! Alp with offset
77c
78      real sigmax
79      parameter (sigmax =  0.1)
80
81      CHARACTER (LEN=20) :: modname='cv3p1_closure'
82      CHARACTER (LEN=80) :: abort_message
83c
84c      print *,' -> cv3p1_closure, Ale ',ale(1)
85c
86
87c -------------------------------------------------------
88c -- Initialization
89c -------------------------------------------------------
90
91c
92c
93      do il = 1,ncum
94       alp2(il) = max(alp(il),1.e-5)
95cIM
96       alp2(il) = max(alp(il),1.e-12)
97      enddo
98c
99      PBMXUP=50.    ! PBMXUP+PBCRIT = cloud depth above which mixed updraughts
100c                     exist (if any)
101
102       if(prt_level.GE.20)
103     . print*,'cv3p1_param nloc ncum nd icb inb nl',nloc,ncum,nd,
104     . icb(nloc),inb(nloc),nl
105      do k=1,nl
106       do il=1,ncum
107        m(il,k)=0.0
108       enddo
109      enddo
110
111c -------------------------------------------------------
112c -- Reset sig(i) and w0(i) for i>inb and i<icb
113c -------------------------------------------------------
114
115c update sig and w0 above LNB:
116
117      do 100 k=1,nl-1
118       do 110 il=1,ncum
119        if ((inb(il).lt.(nl-1)).and.(k.ge.(inb(il)+1)))then
120         sig(il,k)=beta*sig(il,k)
121     :            +2.*alpha*buoy(il,inb(il))*ABS(buoy(il,inb(il)))
122         sig(il,k)=AMAX1(sig(il,k),0.0)
123         w0(il,k)=beta*w0(il,k)
124        endif
125 110   continue
126 100  continue
127
128c      if(prt.level.GE.20) print*,'cv3p1_param apres 100'
129c compute icbmax:
130
131      icbmax=2
132      do 200 il=1,ncum
133        icbmax=MAX(icbmax,icb(il))
134 200  continue
135!     if(prt.level.GE.20) print*,'cv3p1_param apres 200'
136
137c update sig and w0 below cloud base:
138
139      do 300 k=1,icbmax
140       do 310 il=1,ncum
141        if (k.le.icb(il))then
142         sig(il,k)=beta*sig(il,k)-2.*alpha*buoy(il,icb(il))
143     $                                    *buoy(il,icb(il))
144         sig(il,k)=amax1(sig(il,k),0.0)
145         w0(il,k)=beta*w0(il,k)
146        endif
147310    continue
148300    continue
149       if(prt_level.GE.20) print*,'cv3p1_param apres 300'
150c -------------------------------------------------------------
151c -- Reset fractional areas of updrafts and w0 at initial time
152c -- and after 10 time steps of no convection
153c -------------------------------------------------------------
154
155      do 400 k=1,nl-1
156       do 410 il=1,ncum
157        if (sig(il,nd).lt.1.5.or.sig(il,nd).gt.12.0)then
158         sig(il,k)=0.0
159         w0(il,k)=0.0
160        endif
161 410   continue
162 400  continue
163      if(prt_level.GE.20) print*,'cv3p1_param apres 400'
164c
165c -------------------------------------------------------------
166Cjyg1
167C --  Calculate adiabatic ascent top pressure (ptop)
168c -------------------------------------------------------------
169C
170c
171cc 1. Start at first level where precipitations form
172      do il = 1,ncum
173        Pzero(il) = Plcl(il)-PBcrit
174      enddo
175c
176cc 2. Add offset
177      do il = 1,ncum
178        Pzero(il) = Pzero(il)-PBmxup
179      enddo
180      do il=1,ncum
181         ptop2old(il)=ptop2(il)
182      enddo
183c
184      do il = 1,ncum
185cCR:c est quoi ce 300??
186        P1(il) = Pzero(il)-300.
187      enddo
188
189c    compute asupmax=abs(supmax) up to lnm+1
190
191      DO il=1,ncum
192        ok(il)=.true.
193        nsupmax(il)=inb(il)
194      ENDDO
195
196      DO i = 1,nl
197        DO il = 1,ncum
198        IF (i .GT. icb(il) .AND. i .LE. inb(il)) THEN
199        IF (P(il,i) .LE. Pzero(il) .and.
200     $       supmax(il,i) .lt. 0 .and. ok(il)) THEN
201           nsupmax(il)=i
202           ok(il)=.false.
203        ENDIF    ! end IF (P(i) ...
204        ENDIF    ! end IF (icb+1 le i le inb)
205        ENDDO
206      ENDDO
207
208      if(prt_level.GE.20) print*,'cv3p1_param apres 2.'
209      DO i = 1,nl
210        DO il = 1,ncum
211        asupmax(il,i)=abs(supmax(il,i))
212        ENDDO
213      ENDDO
214
215c
216        DO il = 1,ncum
217        asupmaxmin(il)=10.
218        Pmin(il)=100.
219!IM ??
220        asupmax0(il)=0.
221        ENDDO
222
223cc 3.  Compute in which level is Pzero
224
225cIM bug      i0 = 18
226       DO il = 1,ncum
227        i0(il) = nl
228       ENDDO
229
230       DO i = 1,nl
231        DO il = 1,ncum
232         IF (i .GT. icb(il) .AND. i .LE. inb(il)) THEN
233           IF (P(il,i) .LE. Pzero(il) .AND. P(il,i) .GE. P1(il)) THEN
234            IF (Pzero(il) .GT. P(il,i) .AND.
235     $           Pzero(il) .LT. P(il,i-1)) THEN
236             i0(il) = i
237            ENDIF
238           ENDIF
239          ENDIF
240        ENDDO
241       ENDDO
242       if(prt_level.GE.20) print*,'cv3p1_param apres 3.'
243
244cc 4.  Compute asupmax at Pzero
245
246       DO i = 1,nl
247        DO il = 1,ncum
248         IF (i .GT. icb(il) .AND. i .LE. inb(il)) THEN
249           IF (P(il,i) .LE. Pzero(il) .AND. P(il,i) .GE. P1(il)) THEN
250             asupmax0(il) =
251     $             ((Pzero(il)-P(il,i0(il)-1))*asupmax(il,i0(il))
252     $             -(Pzero(il)-P(il,i0(il)))*asupmax(il,i0(il)-1))
253     $             /(P(il,i0(il))-P(il,i0(il)-1))
254           ENDIF
255         ENDIF
256        ENDDO
257       ENDDO
258
259
260      DO i = 1,nl
261        DO il = 1,ncum
262         IF (P(il,i) .EQ. Pzero(il)) THEN
263           asupmax(i,il) = asupmax0(il)
264         ENDIF
265        ENDDO
266      ENDDO
267      if(prt_level.GE.20) print*,'cv3p1_param apres 4.'
268
269cc 5. Compute asupmaxmin, minimum of asupmax
270
271      DO i = 1,nl
272        DO il = 1,ncum
273        IF (i .GT. icb(il) .AND. i .LE. inb(il)) THEN
274        IF (P(il,i) .LE. Pzero(il) .AND. P(il,i) .GE. P1(il)) THEN
275          IF (asupmax(il,i) .LT. asupmaxmin(il)) THEN
276            asupmaxmin(il)=asupmax(il,i)
277            Pmin(il)=P(il,i)
278          ENDIF
279        ENDIF
280        ENDIF
281        ENDDO
282      ENDDO
283
284      DO il = 1,ncum
285!IM
286        if(prt_level.GE.20) THEN
287         print*,'cv3p1_closure il asupmax0 asupmaxmin',il,asupmax0(il),
288     $ asupmaxmin(il) ,Pzero(il),Pmin(il)
289        endif
290          IF (asupmax0(il) .LT. asupmaxmin(il)) THEN
291             asupmaxmin(il) = asupmax0(il)
292             Pmin(il) = Pzero(il)
293          ENDIF
294      ENDDO
295      if(prt_level.GE.20) print*,'cv3p1_param apres 5.'
296
297c
298c   Compute Supmax at Pzero
299c
300      DO i = 1,nl
301        DO il = 1,ncum
302        IF (i .GT. icb(il) .AND. i .LE. inb(il)) THEN
303        IF (P(il,i) .LE. Pzero(il)) THEN
304         Supmax0(il) = ((P(il,i  )-Pzero(il))*aSupmax(il,i-1)
305     $             -(P(il,i-1)-Pzero(il))*aSupmax(il,i  ))
306     $             /(P(il,i)-P(il,i-1))
307         GO TO 425
308        ENDIF    ! end IF (P(i) ...
309        ENDIF    ! end IF (icb+1 le i le inb)
310        ENDDO
311      ENDDO
312
313425   continue
314      if(prt_level.GE.20) print*,'cv3p1_param apres 425.'
315
316cc 6. Calculate ptop2
317c
318      DO il = 1,ncum
319        IF (asupmaxmin(il) .LT. Supcrit1) THEN
320          Ptop2(il) = Pmin(il)
321        ENDIF
322
323        IF (asupmaxmin(il) .GT. Supcrit1
324     $ .AND. asupmaxmin(il) .LT. Supcrit2) THEN
325          Ptop2(il) = Ptop2old(il)
326        ENDIF
327
328        IF (asupmaxmin(il) .GT. Supcrit2) THEN
329            Ptop2(il) =  Ph(il,inb(il))
330        ENDIF
331      ENDDO
332c
333      if(prt_level.GE.20) print*,'cv3p1_param apres 6.'
334
335cc 7. Compute multiplying factor for adiabatic updraught mass flux
336c
337c
338      IF (ok_inhib) THEN
339c
340      DO i = 1,nl
341        DO il = 1,ncum
342         IF (i .le. nl) THEN
343         coefmix(il,i) = (min(ptop2(il),ph(il,i))-ph(il,i))
344     $                  /(ph(il,i+1)-ph(il,i))
345         coefmix(il,i) = min(coefmix(il,i),1.)
346         ENDIF
347        ENDDO
348      ENDDO
349c
350c
351      ELSE   ! when inhibition is not taken into account, coefmix=1
352c
353
354c
355      DO i = 1,nl
356        DO il = 1,ncum
357         IF (i .le. nl) THEN
358         coefmix(il,i) = 1.
359         ENDIF
360        ENDDO
361      ENDDO
362c
363      ENDIF  ! ok_inhib
364      if(prt_level.GE.20) print*,'cv3p1_param apres 7.'
365c -------------------------------------------------------------------
366c -------------------------------------------------------------------
367c
368
369Cjyg2
370C
371c==========================================================================
372C
373c
374c -------------------------------------------------------------
375c -- Calculate convective inhibition (CIN)
376c -------------------------------------------------------------
377
378c      do i=1,nloc
379c      print*,'avant cine p',pbase(i),plcl(i)
380c      enddo
381c     do j=1,nd
382c     do i=1,nloc
383c      print*,'avant cine t',tv(i),tvp(i)
384c     enddo
385c     enddo
386      CALL cv3_cine (nloc,ncum,nd,icb,inb
387     :                      ,pbase,plcl,p,ph,tv,tvp
388     :                      ,cina,cinb,plfc)
389c
390      DO il = 1,ncum
391        cin(il) = cina(il)+cinb(il)
392      ENDDO
393      if(prt_level.GE.20) print*,'cv3p1_param apres cv3_cine'
394c -------------------------------------------------------------
395c --Update buoyancies to account for Ale
396c -------------------------------------------------------------
397c
398      CALL cv3_buoy (nloc,ncum,nd,icb,inb
399     :                      ,pbase,plcl,p,ph,Ale,Cin
400     :                      ,tv,tvp
401     :                      ,buoy )
402      if(prt_level.GE.20) print*,'cv3p1_param apres cv3_buoy'
403
404c -------------------------------------------------------------
405c -- Calculate convective available potential energy (cape),
406c -- vertical velocity (w), fractional area covered by
407c -- undilute updraft (sig), and updraft mass flux (m)
408c -------------------------------------------------------------
409
410      do 500 il=1,ncum
411       cape(il)=0.0
412 500  continue
413
414c compute dtmin (minimum buoyancy between ICB and given level k):
415
416      do k=1,nl
417       do il=1,ncum
418         dtmin(il,k)=100.0
419       enddo
420      enddo
421
422      do 550 k=1,nl
423       do 560 j=minorig,nl
424        do 570 il=1,ncum
425          if ( (k.ge.(icb(il)+1)).and.(k.le.inb(il)).and.
426     :         (j.ge.icb(il)).and.(j.le.(k-1)) )then
427           dtmin(il,k)=AMIN1(dtmin(il,k),buoy(il,j))
428          endif
429 570     continue
430 560   continue
431 550  continue
432
433c the interval on which cape is computed starts at pbase :
434
435      do 600 k=1,nl
436       do 610 il=1,ncum
437
438        if ((k.ge.(icb(il)+1)).and.(k.le.inb(il))) then
439
440         deltap = MIN(pbase(il),ph(il,k-1))-MIN(pbase(il),ph(il,k))
441         cape(il)=cape(il)+rrd*buoy(il,k-1)*deltap/p(il,k-1)
442         cape(il)=AMAX1(0.0,cape(il))
443         sigold(il,k)=sig(il,k)
444
445
446cjyg       Coefficient coefmix limits convection to levels where a sufficient
447c          fraction of mixed draughts are ascending.
448         siglim(il,k)=coefmix(il,k)*alpha1*dtmin(il,k)*ABS(dtmin(il,k))
449         siglim(il,k)=amax1(siglim(il,k),0.0)
450         siglim(il,k)=amin1(siglim(il,k),0.01)
451cc         fac=AMIN1(((dtcrit-dtmin(il,k))/dtcrit),1.0)
452         fac = 1.
453         wlim(il,k)=fac*SQRT(cape(il))
454         amu=siglim(il,k)*wlim(il,k)
455         rhodp = 0.007*p(il,k)*(ph(il,k)-ph(il,k+1))/tv(il,k)
456         mlim(il,k)=amu*rhodp
457c         print*, 'siglim ', k,siglim(1,k)
458        endif
459
460 610   continue
461 600  continue
462      if(prt_level.GE.20) print*,'cv3p1_param apres 600'
463
464      do 700 il=1,ncum
465!IM beg
466        if(prt_level.GE.20) THEN
467         print*,'cv3p1_closure il icb mlim ph ph+1 ph+2',il,
468     $icb(il),mlim(il,icb(il)+1),ph(il,icb(il)),
469     $ph(il,icb(il)+1),ph(il,icb(il)+2)
470        endif
471
472        if (icb(il)+1.le.inb(il)) then
473!IM end
474       mlim(il,icb(il))=0.5*mlim(il,icb(il)+1)
475     :             *(ph(il,icb(il))-ph(il,icb(il)+1))
476     :             /(ph(il,icb(il)+1)-ph(il,icb(il)+2))
477!IM beg
478        endif !(icb(il.le.inb(il))) then
479!IM end
480 700  continue
481      if(prt_level.GE.20) print*,'cv3p1_param apres 700'
482
483cjyg1
484c------------------------------------------------------------------------
485cc     Correct mass fluxes so that power used to overcome CIN does not
486cc     exceed Power Available for Lifting (PAL).
487c------------------------------------------------------------------------
488c
489      do il = 1,ncum
490       cbmflim(il) = 0.
491       cbmf(il) = 0.
492      enddo
493c
494cc 1. Compute cloud base mass flux of elementary system (Cbmf0=Cbmflim)
495c
496      do k= 1,nl
497       do il = 1,ncum
498!old       IF (k .ge. icb(il) .and. k .le. inb(il)) THEN
499!IM        IF (k .ge. icb(il)+1 .and. k .le. inb(il)) THEN
500       IF (k .ge. icb(il) .and. k .le. inb(il)         !cor jyg
501     $     .and. icb(il)+1 .le. inb(il)) THEN          !cor jyg
502         cbmflim(il) = cbmflim(il)+MLIM(il,k)
503        ENDIF
504       enddo
505      enddo
506      if(prt_level.GE.20) print*,'cv3p1_param apres cbmflim'
507
508cc 1.5 Compute cloud base mass flux given by Alp closure (Cbmf1), maximum
509cc     allowed mass flux (Cbmfmax) and final target mass flux (Cbmf)
510cc     Cbmf is set to zero if Cbmflim (the mass flux of elementary cloud) is
511c--    exceedingly small.
512c
513      DO il = 1,ncum
514        wb2(il) = sqrt(2.*max(Ale(il)+cin(il),0.))
515      ENDDO
516c
517      DO il = 1,ncum
518cjyg    Modification du coef de wb*wb pour conformite avec papier Wake
519cc       cbmf1(il) = alp2(il)/(0.5*wb*wb-Cin(il))
520       cbmf1(il) = alp2(il)/(2.*wb*wb-Cin(il))
521       if(cbmf1(il).EQ.0.AND.alp2(il).NE.0.) THEN
522        write(lunout,*)
523     &  'cv3p1_closure cbmf1=0 and alp NE 0 il alp2 alp cin ',il,
524     . alp2(il),alp(il),cin(il)
525        abort_message = ''
526        CALL abort_gcm (modname,abort_message,1)
527       endif
528       cbmfmax(il) = sigmax*wb2(il)*100.*p(il,icb(il))
529     :              /(rrd*tv(il,icb(il)))
530      ENDDO
531c
532      DO il = 1,ncum
533       IF (cbmflim(il) .gt. 1.e-6) THEN
534cATTENTION TEST CR
535c         if (cbmfmax(il).lt.1.e-12) then
536        cbmf(il) = min(cbmf1(il),cbmfmax(il))
537c         else
538c         cbmf(il) = cbmf1(il)
539c         endif
540c        print*,'cbmf',cbmf1(il),cbmfmax(il)
541       ENDIF
542      ENDDO
543      if(prt_level.GE.20) print*,'cv3p1_param apres cbmflim_testCR'
544c
545cc 2. Compute coefficient and apply correction
546c
547      do il = 1,ncum
548       coef(il) = (cbmf(il)+1.e-10)/(cbmflim(il)+1.e-10)
549      enddo
550      if(prt_level.GE.20) print*,'cv3p1_param apres coef_plantePLUS'
551c
552      DO k = 1,nl
553        do il = 1,ncum
554         IF ( k .ge. icb(il)+1 .AND. k .le. inb(il)) THEN
555         amu=beta*sig(il,k)*w0(il,k)+
556     :   (1.-beta)*coef(il)*siglim(il,k)*wlim(il,k)
557         w0(il,k) = wlim(il,k)
558         w0(il,k) =max(w0(il,k),1.e-10)
559         sig(il,k)=amu/w0(il,k)
560         sig(il,k)=min(sig(il,k),1.)
561cc         amu = 0.5*(SIG(il,k)+sigold(il,k))*W0(il,k)
562         M(il,k)=AMU*0.007*P(il,k)*(PH(il,k)-PH(il,k+1))/TV(il,k)
563         ENDIF
564        enddo
565      ENDDO
566cjyg2
567      DO il = 1,ncum
568       w0(il,icb(il))=0.5*w0(il,icb(il)+1)
569       m(il,icb(il))=0.5*m(il,icb(il)+1)
570     $       *(ph(il,icb(il))-ph(il,icb(il)+1))
571     $       /(ph(il,icb(il)+1)-ph(il,icb(il)+2))
572       sig(il,icb(il))=sig(il,icb(il)+1)
573       sig(il,icb(il)-1)=sig(il,icb(il))
574      ENDDO
575      if(prt_level.GE.20) print*,'cv3p1_param apres w0_sig_M'
576c
577cc 3. Compute final cloud base mass flux and set iflag to 3 if
578cc    cloud base mass flux is exceedingly small and is decreasing (i.e. if
579cc    the final mass flux (cbmflast) is greater than the target mass flux
580cc    (cbmf)).
581c
582      do il = 1,ncum
583       cbmflast(il) = 0.
584      enddo
585c
586      do k= 1,nl
587       do il = 1,ncum
588        IF (k .ge. icb(il) .and. k .le. inb(il)) THEN
589 !IMpropo??      IF ((k.ge.(icb(il)+1)).and.(k.le.inb(il))) THEN
590         cbmflast(il) = cbmflast(il)+M(il,k)
591        ENDIF
592       enddo
593      enddo
594c
595      do il = 1,ncum
596       IF (cbmflast(il) .lt. 1.e-6 .and.
597     $     cbmflast(il) .ge. cbmf(il)) THEN
598         iflag(il) = 3
599       ENDIF
600      enddo
601c
602      do k= 1,nl
603       do il = 1,ncum
604        IF (iflag(il) .ge. 3) THEN
605         M(il,k) = 0.
606         sig(il,k) = 0.
607         w0(il,k) = 0.
608        ENDIF
609       enddo
610      enddo
611      if(prt_level.GE.20) print*,'cv3p1_param apres iflag'
612c
613cc 4. Introduce a correcting factor for coef, in order to obtain an effective
614cc    sigdz larger in the present case (using cv3p1_closure) than in the old
615cc    closure (using cv3_closure).
616      if (1.eq.0) then
617       do il = 1,ncum
618cc      coef(il) = 2.*coef(il)
619        coef(il) = 5.*coef(il)
620       enddo
621c version CVS du ..2008
622      else
623       if (iflag_cvl_sigd.eq.0) then
624ctest pour verifier qu on fait la meme chose qu avant: sid constant
625        coef(1:ncum)=1.
626       else
627        coef(1:ncum) = min(2.*coef(1:ncum),5.)
628        coef(1:ncum) = max(2.*coef(1:ncum),0.2)
629       endif
630      endif
631c
632      if(prt_level.GE.20) print*,'cv3p1_param FIN'
633       return
634       end
635
636
Note: See TracBrowser for help on using the repository browser.