21 |
|
|
22 |
|
|
23 |
! input: |
! input: |
24 |
integer len, nd |
integer, intent(in):: len, nd |
25 |
integer icb(len) |
integer icb(len) |
26 |
real plcl(len), p(len,nd) |
real, intent(in):: plcl(len), p(len,nd) |
27 |
real th(len,nd), tv(len,nd), tvp(len,nd) |
real th(len,nd), tv(len,nd), tvp(len,nd) |
28 |
|
|
29 |
! output: |
! output: |
31 |
|
|
32 |
! input AND output: |
! input AND output: |
33 |
integer iflag(len) |
integer iflag(len) |
34 |
real sig(len,nd), w0(len,nd) |
real, intent(inout):: sig(len,nd), w0(len,nd) |
35 |
|
|
36 |
! local variables: |
! local variables: |
37 |
integer i,k |
integer i,k |
61 |
! *** sig(i) and w0(i) *** |
! *** sig(i) and w0(i) *** |
62 |
! |
! |
63 |
|
|
|
! oct3 do 200 i=1,len |
|
|
! oct3 |
|
|
! oct3 tdif = buoybase(i) |
|
|
! oct3 ath1 = th(i,1) |
|
|
! oct3 ath = th(i,icb(i)-1) - dttrig |
|
|
! oct3 |
|
|
! oct3 if (tdif.lt.dtcrit .or. ath.gt.ath1) then |
|
|
! oct3 do 60 k=1,nl |
|
|
! oct3 sig(i,k) = beta*sig(i,k) - 2.*alpha*tdif*tdif |
|
|
! oct3 sig(i,k) = AMAX1(sig(i,k),0.0) |
|
|
! oct3 w0(i,k) = beta*w0(i,k) |
|
|
! oct3 60 continue |
|
|
! oct3 iflag(i)=4 ! pour version vectorisee |
|
|
! oct3c convect3 iflag(i)=0 |
|
|
! oct3cccc return |
|
|
! oct3 endif |
|
|
! oct3 |
|
|
! oct3200 continue |
|
|
|
|
|
! -- oct3: on reecrit la boucle 200 (pour la vectorisation) |
|
|
|
|
64 |
do 60 k=1,nl |
do 60 k=1,nl |
65 |
do 200 i=1,len |
do 200 i=1,len |
66 |
|
|