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

Diff of /trunk/dyn3d/grid_atob.f

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

revision 3 by guez, Wed Feb 27 13:16:39 2008 UTC revision 22 by guez, Fri Jul 31 15:18:47 2009 UTC
# Line 6  module grid_atob Line 6  module grid_atob
6    
7  contains  contains
8    
9    real function grille_m(xdata, ydata, entree, x, y)    function grille_m(xdata, ydata, entree, x, y)
10    
11      !=======================================================================      !=======================================================================
12      ! Z. X. Li (le 1 avril 1994) (voir aussi A. Harzallah et L. Fairhead)      ! Z. X. Li (le 1 avril 1994) (voir aussi A. Harzallah et L. Fairhead)
# Line 37  contains Line 37  contains
37      !        grille_m: champ de sortie deja transforme      !        grille_m: champ de sortie deja transforme
38      !=======================================================================      !=======================================================================
39    
40      use nrutil, only: assert_eq      use numer_rec, only: assert_eq
41    
42      REAL, intent(in):: xdata(:),ydata(:)      REAL, intent(in):: xdata(:),ydata(:)
43      REAL, intent(in):: entree(:, :)      REAL, intent(in):: entree(:, :)
44      REAL, intent(in):: x(:), y(:)      REAL, intent(in):: x(:), y(:)
45    
46      dimension grille_m(size(x), size(y))      real grille_m(size(x), size(y))
47    
48      ! Variables local to the procedure:      ! Variables local to the procedure:
49      INTEGER imdep, jmdep, imar, jmar      INTEGER imdep, jmdep, imar, jmar
# Line 384  contains Line 384  contains
384         ENDDO         ENDDO
385      ENDDO      ENDDO
386    
   
387      DO i = 1, imar      DO i = 1, imar
388         DO j = 1, jmar         DO j = 1, jmar
389            IF (num_tot(i,j) .GT. 0.001) THEN            IF (num_tot(i,j) .GT. 0.001) THEN
# Line 413  contains Line 412  contains
412    
413      ! Methode naive (voir grille_m)      ! Methode naive (voir grille_m)
414    
415      use nrutil, only: assert_eq      use numer_rec, only: assert_eq
416    
417      REAL, intent(in):: xdata(:), ydata(:), entree(:,:), x(:), y(:), mask(:,:)      REAL, intent(in):: xdata(:), ydata(:), entree(:,:), x(:), y(:), mask(:,:)
418    
# Line 466  contains Line 465  contains
465         ENDDO         ENDDO
466      ENDDO      ENDDO
467    
   
468      !  .....  Modif  P. Le Van ( 23/08/95 )  ....      !  .....  Modif  P. Le Van ( 23/08/95 )  ....
469    
470      DO ii = 1, imar      DO ii = 1, imar
# Line 532  contains Line 530  contains
530      ! Methode naive (voir grille_m)      ! Methode naive (voir grille_m)
531      !=======================================================================      !=======================================================================
532    
533      use nrutil, only: assert_eq      use numer_rec, only: assert_eq
534    
535      REAL, intent(in):: xdata(:),ydata(:)      REAL, intent(in):: xdata(:),ydata(:)
536      REAL, intent(in):: glace01(:,:)      REAL, intent(in):: glace01(:,:)
# Line 586  contains Line 584  contains
584         ENDDO         ENDDO
585      ENDDO      ENDDO
586    
   
587      !  .....  Modif  P. Le Van ( 23/08/95 )  ....      !  .....  Modif  P. Le Van ( 23/08/95 )  ....
588    
589      DO ii = 1, imar      DO ii = 1, imar
# Line 609  contains Line 606  contains
606         ENDDO         ENDDO
607      ENDDO      ENDDO
608    
   
609      DO i = 1, imar      DO i = 1, imar
610         DO j = 1, jmar         DO j = 1, jmar
611            IF (num_tot(i,j) .GT. 0.001) THEN            IF (num_tot(i,j) .GT. 0.001) THEN
# Line 649  contains Line 645  contains
645    
646    SUBROUTINE rugsoro(imrel, jmrel, xrel, yrel, relief, immod, jmmod, xmod, &    SUBROUTINE rugsoro(imrel, jmrel, xrel, yrel, relief, immod, jmmod, xmod, &
647         ymod, rugs)         ymod, rugs)
     !=======================================================================  
     ! Calculer la longueur de rugosite liee au relief en utilisant  
     ! l'ecart-type dans une maille de 1x1  
     !=======================================================================  
   
     REAL zzmin  
648    
649      REAL amin, AMAX      ! Calcule la longueur de rugosite liee au relief en utilisant
650        ! l'ecart-type dans une maille de 1x1.
651    
652      INTEGER, intent(in):: imrel, jmrel      INTEGER, intent(in):: imrel, jmrel
653      REAL, intent(in):: xrel(imrel),yrel(jmrel)      REAL, intent(in):: xrel(imrel),yrel(jmrel)
# Line 666  contains Line 657  contains
657      REAL, intent(in):: xmod(immod),ymod(jmmod)      REAL, intent(in):: xmod(immod),ymod(jmmod)
658      REAL, intent(out):: rugs(immod,jmmod)      REAL, intent(out):: rugs(immod,jmmod)
659    
660        REAL zzmin
661        REAL amin, AMAX
662      INTEGER imtmp, jmtmp      INTEGER imtmp, jmtmp
663      PARAMETER (imtmp=360,jmtmp=180)      PARAMETER (imtmp=360,jmtmp=180)
664      REAL xtmp(imtmp), ytmp(jmtmp)      REAL xtmp(imtmp), ytmp(jmtmp)
# Line 679  contains Line 672  contains
672      REAL distans(400*400)      REAL distans(400*400)
673      INTEGER i_proche, j_proche, ij_proche      INTEGER i_proche, j_proche, ij_proche
674    
675        !---------------------------------------------------------
676    
677      IF (immod.GT.2200 .OR. jmmod.GT.1100) THEN      IF (immod.GT.2200 .OR. jmmod.GT.1100) THEN
678         PRINT*, 'immod ou jmmod trop grand', immod, jmmod         PRINT*, 'immod ou jmmod trop grand', immod, jmmod
679         STOP 1         STOP 1
# Line 722  contains Line 717  contains
717      DO i = 1, imtmp      DO i = 1, imtmp
718         DO j = 1, jmtmp         DO j = 1, jmtmp
719            number(i,j) = 0.0            number(i,j) = 0.0
720            cham1tmp(i,j) = 0.0            cham1tmp(i,j) = 0d0
721            cham2tmp(i,j) = 0.0            cham2tmp(i,j) = 0d0
722         ENDDO         ENDDO
723      ENDDO      ENDDO
724    
   
725      !  .....  Modif  P. Le Van ( 23/08/95 )  ....      !  .....  Modif  P. Le Van ( 23/08/95 )  ....
726    
727      DO ii = 1, imtmp      DO ii = 1, imtmp
# Line 744  contains Line 738  contains
738                        number(ii,jj) = number(ii,jj) + 1.0                        number(ii,jj) = number(ii,jj) + 1.0
739                        cham1tmp(ii,jj) = cham1tmp(ii,jj) + relief(i,j)                        cham1tmp(ii,jj) = cham1tmp(ii,jj) + relief(i,j)
740                        cham2tmp(ii,jj) = cham2tmp(ii,jj)  &                        cham2tmp(ii,jj) = cham2tmp(ii,jj)  &
741                             + relief(i,j)*relief(i,j)                             + relief(i,j) * relief(i,j)
742                     ENDIF                     ENDIF
743                  ENDDO                  ENDDO
744               ENDIF               ENDIF
# Line 757  contains Line 751  contains
751            IF (number(i,j) .GT. 0.001) THEN            IF (number(i,j) .GT. 0.001) THEN
752               cham1tmp(i,j) = cham1tmp(i,j) / number(i,j)               cham1tmp(i,j) = cham1tmp(i,j) / number(i,j)
753               cham2tmp(i,j) = cham2tmp(i,j) / number(i,j)               cham2tmp(i,j) = cham2tmp(i,j) / number(i,j)
754               zzzz=cham2tmp(i,j)-cham1tmp(i,j)**2               zzzz = cham2tmp(i,j) - cham1tmp(i,j)**2
755               if (zzzz .lt. 0.0) then               if (zzzz .lt. 0.0) then
756                  if (zzzz .gt. -7.5) then                  if (zzzz .gt. -7.5) then
757                     zzzz = 0.0                     zzzz = 0.0
# Line 784  contains Line 778  contains
778      ENDDO      ENDDO
779      PRINT*, 'Ecart-type 1x1:', amin, AMAX      PRINT*, 'Ecart-type 1x1:', amin, AMAX
780    
   
781      a(1) = xmod(1) - (xmod(2)-xmod(1))/2.0      a(1) = xmod(1) - (xmod(2)-xmod(1))/2.0
782      b(1) = (xmod(1)+xmod(2))/2.0      b(1) = (xmod(1)+xmod(2))/2.0
783      DO i = 2, immod-1      DO i = 2, immod-1
# Line 810  contains Line 803  contains
803         ENDDO         ENDDO
804      ENDDO      ENDDO
805    
   
     !  .....  Modif  P. Le Van ( 23/08/95 )  ....  
   
806      DO ii = 1, immod      DO ii = 1, immod
807         DO jj = 1, jmmod         DO jj = 1, jmmod
808            DO i = 1, imtmp            DO i = 1, imtmp

Legend:
Removed from v.3  
changed lines
  Added in v.22

  ViewVC Help
Powered by ViewVC 1.1.21