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

Diff of /trunk/dyn3d/advn.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/libf/dyn3d/advn.f revision 31 by guez, Thu Apr 1 14:59:19 2010 UTC trunk/dyn3d/advn.f revision 76 by guez, Fri Nov 15 18:45:49 2013 UTC
# Line 17  c   ------------------------------------ Line 17  c   ------------------------------------
17        use dimens_m        use dimens_m
18        use paramet_m        use paramet_m
19        use comconst        use comconst
20        use comvert        use disvert_m
21        use logic        use conf_gcm_m
22        use comgeom        use comgeom
       use iniprint  
23        IMPLICIT NONE        IMPLICIT NONE
24  c  c
25    
# Line 137  c Line 136  c
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
# Line 254  c Line 253  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
# Line 350  c Line 349  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
# Line 473  c   ------------------------------------ Line 472  c   ------------------------------------
472        use dimens_m        use dimens_m
473        use paramet_m        use paramet_m
474        use comconst        use comconst
475        use comvert        use disvert_m
476        use logic        use conf_gcm_m
       use iniprint  
477        IMPLICIT NONE        IMPLICIT NONE
478  c  c
479  c  c
# Line 509  c Line 507  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
# Line 573  c   calcul de la pente maximum dans la m Line 558  c   calcul de la pente maximum dans la m
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    
# Line 619  c   indicage des mailles concernees par Line 600  c   indicage des mailles concernees par
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
# Line 737  c   ------------------------------------ Line 717  c   ------------------------------------
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
# Line 766  c Line 746  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
# Line 864  c   ------------------------------------ Line 832  c   ------------------------------------
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
# Line 893  c Line 861  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)
# Line 911  c              endif Line 872  c              endif
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
# Line 955  c   calcul de la pente maximum dans la m Line 915  c   calcul de la pente maximum dans la m
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

Legend:
Removed from v.31  
changed lines
  Added in v.76

  ViewVC Help
Powered by ViewVC 1.1.21