18 |
use paramet_m |
use paramet_m |
19 |
use comconst |
use comconst |
20 |
use comvert |
use comvert |
21 |
use logic |
use conf_gcm_m |
22 |
use comgeom |
use comgeom |
|
use iniprint |
|
23 |
IMPLICIT NONE |
IMPLICIT NONE |
24 |
c |
c |
25 |
|
|
136 |
c -------------------------------------------------------------------- |
c -------------------------------------------------------------------- |
137 |
use dimens_m |
use dimens_m |
138 |
use paramet_m |
use paramet_m |
139 |
use iniprint |
use conf_gcm_m |
140 |
IMPLICIT NONE |
IMPLICIT NONE |
141 |
c |
c |
142 |
c |
c |
253 |
c -------------------------------------------------------------------- |
c -------------------------------------------------------------------- |
254 |
use dimens_m |
use dimens_m |
255 |
use paramet_m |
use paramet_m |
256 |
use iniprint |
use conf_gcm_m |
257 |
IMPLICIT NONE |
IMPLICIT NONE |
258 |
c |
c |
259 |
c |
c |
349 |
c -------------------------------------------------------------------- |
c -------------------------------------------------------------------- |
350 |
use dimens_m |
use dimens_m |
351 |
use paramet_m |
use paramet_m |
352 |
use iniprint |
use conf_gcm_m |
353 |
IMPLICIT NONE |
IMPLICIT NONE |
354 |
c |
c |
355 |
c |
c |
473 |
use paramet_m |
use paramet_m |
474 |
use comconst |
use comconst |
475 |
use comvert |
use comvert |
476 |
use logic |
use conf_gcm_m |
|
use iniprint |
|
477 |
IMPLICIT NONE |
IMPLICIT NONE |
478 |
c |
c |
479 |
c |
c |
507 |
do l=1,llm |
do l=1,llm |
508 |
do ij=iip2,ip1jm |
do ij=iip2,ip1jm |
509 |
zdq=qd(ij,l)-qg(ij,l) |
zdq=qd(ij,l)-qg(ij,l) |
|
c if((qd(ij,l)-q(ij,l))*(q(ij,l)-qg(ij,l)).lt.0.) then |
|
|
c print*,'probleme au point ij=',ij,' l=',l |
|
|
c print*,qd(ij,l),q(ij,l),qg(ij,l) |
|
|
c qd(ij,l)=q(ij,l) |
|
|
c qg(ij,l)=q(ij,l) |
|
|
c endif |
|
510 |
if(abs(zdq).gt.prec) then |
if(abs(zdq).gt.prec) then |
511 |
zsigd(ij,l)=(q(ij,l)-qg(ij,l))/zdq |
zsigd(ij,l)=(q(ij,l)-qg(ij,l))/zdq |
512 |
zsigg(ij,l)=1.-zsigd(ij,l) |
zsigg(ij,l)=1.-zsigd(ij,l) |
|
c if(.not.(zsigd(ij,l).ge.0..and.zsigd(ij,l).le.1. .and. |
|
|
c s zsigg(ij,l).ge.0..or.zsigg(ij,l).le.1.) ) then |
|
|
c print*,'probleme au point ij=',ij,' l=',l |
|
|
c print*,'sigg=',zsigg(ij,l),' sigd=',zsigd(ij,l) |
|
|
c print*,'q d,c,g ',qd(ij,l),q(ij,l),qg(ij,l),zdq |
|
|
c stop |
|
|
c endif |
|
513 |
else |
else |
514 |
zsigd(ij,l)=0.5 |
zsigd(ij,l)=0.5 |
515 |
zsigg(ij,l)=0.5 |
zsigg(ij,l)=0.5 |
558 |
s +(zsig-zsigp)*(zq+zz*(zqm-zq)) ) |
s +(zsig-zsigp)*(zq+zz*(zqm-zq)) ) |
559 |
endif |
endif |
560 |
endif |
endif |
|
c if(zsig.lt.0.) then |
|
|
c print*,'au point ij=',ij,' l=',l,' sig=',zsig |
|
|
c stop |
|
|
c endif |
|
561 |
enddo |
enddo |
562 |
enddo |
enddo |
563 |
|
|
600 |
endif |
endif |
601 |
enddo |
enddo |
602 |
niju=iju |
niju=iju |
|
c print*,'niju,nl',niju,nl(l) |
|
603 |
|
|
604 |
c traitement des mailles |
c traitement des mailles |
605 |
do iju=1,niju |
do iju=1,niju |
717 |
use dimens_m |
use dimens_m |
718 |
use paramet_m |
use paramet_m |
719 |
use comgeom |
use comgeom |
720 |
use iniprint |
use conf_gcm_m |
721 |
IMPLICIT NONE |
IMPLICIT NONE |
722 |
c |
c |
723 |
c |
c |
746 |
do l=1,llm |
do l=1,llm |
747 |
do ij=1,ip1jmp1 |
do ij=1,ip1jmp1 |
748 |
zdq=qn(ij,l)-qs(ij,l) |
zdq=qn(ij,l)-qs(ij,l) |
|
c if((qn(ij,l)-q(ij,l))*(q(ij,l)-qs(ij,l)).lt.0.) then |
|
|
c print*,'probleme au point ij=',ij,' l=',l,' advnqx' |
|
|
c print*,qn(ij,l),q(ij,l),qs(ij,l) |
|
|
c qn(ij,l)=q(ij,l) |
|
|
c qs(ij,l)=q(ij,l) |
|
|
c endif |
|
749 |
if(abs(zdq).gt.prec) then |
if(abs(zdq).gt.prec) then |
750 |
zsign(ij)=(q(ij,l)-qs(ij,l))/zdq |
zsign(ij)=(q(ij,l)-qs(ij,l))/zdq |
751 |
zsigs(ij)=1.-zsign(ij) |
zsigs(ij)=1.-zsign(ij) |
|
c if(.not.(zsign(ij).ge.0..and.zsign(ij).le.1. .and. |
|
|
c s zsigs(ij).ge.0..or.zsigs(ij).le.1.) ) then |
|
|
c print*,'probleme au point ij=',ij,' l=',l |
|
|
c print*,'sigs=',zsigs(ij),' sign=',zsign(ij) |
|
|
c stop |
|
|
c endif |
|
752 |
else |
else |
753 |
zsign(ij)=0.5 |
zsign(ij)=0.5 |
754 |
zsigs(ij)=0.5 |
zsigs(ij)=0.5 |
832 |
use dimens_m |
use dimens_m |
833 |
use paramet_m |
use paramet_m |
834 |
use comgeom |
use comgeom |
835 |
use iniprint |
use conf_gcm_m |
836 |
IMPLICIT NONE |
IMPLICIT NONE |
837 |
c |
c |
838 |
c |
c |
861 |
do l=1,llm |
do l=1,llm |
862 |
do ij=1,ip1jmp1 |
do ij=1,ip1jmp1 |
863 |
zdq=qb(ij,l)-qh(ij,l) |
zdq=qb(ij,l)-qh(ij,l) |
|
c if((qh(ij,l)-q(ij,l))*(q(ij,l)-qb(ij,l)).lt.0.) then |
|
|
c print*,'probleme au point ij=',ij,' l=',l |
|
|
c print*,qh(ij,l),q(ij,l),qb(ij,l) |
|
|
c qh(ij,l)=q(ij,l) |
|
|
c qb(ij,l)=q(ij,l) |
|
|
c endif |
|
|
|
|
864 |
if(abs(zdq).gt.prec) then |
if(abs(zdq).gt.prec) then |
865 |
zsigb(ij,l)=(q(ij,l)-qh(ij,l))/zdq |
zsigb(ij,l)=(q(ij,l)-qh(ij,l))/zdq |
866 |
zsigh(ij,l)=1.-zsigb(ij,l) |
zsigh(ij,l)=1.-zsigb(ij,l) |
872 |
enddo |
enddo |
873 |
enddo |
enddo |
874 |
|
|
|
c print*,'ok1' |
|
875 |
c calcul de la pente maximum dans la maille en valeur absolue |
c calcul de la pente maximum dans la maille en valeur absolue |
876 |
do l=2,llm |
do l=2,llm |
877 |
do ij=1,ip1jmp1 |
do ij=1,ip1jmp1 |
915 |
masse(ij,l)=new_m |
masse(ij,l)=new_m |
916 |
enddo |
enddo |
917 |
enddo |
enddo |
918 |
c print*,'ok3' |
|
|
RETURN |
|
919 |
END |
END |