Ignore:
Timestamp:
Aug 2, 2024, 9:58:25 PM (3 months ago)
Author:
abarral
Message:

Put dimensions.h and paramet.h into modules

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/diverg_p.f90

    r5140 r5159  
    11SUBROUTINE diverg_p(klevel,x,y,div)
    2   !
     2
    33  ! P. Le Van
    4   !
     4
    55  !  *********************************************************************
    66  !  ... calcule la divergence a tous les niveaux d'1 vecteur de compos.
     
    1212  USE lmdz_comgeom
    1313
     14  USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
     15  USE lmdz_paramet
    1416  IMPLICIT NONE
    15   !
     17
    1618  !  x  et  y  sont des arguments  d'entree pour le s-prog
    1719  !    div      est  un argument  de sortie pour le s-prog
    1820  !
    1921
    20   INCLUDE "dimensions.h"
    21   INCLUDE "paramet.h"
    22   !
     22
     23
     24
    2325  !    ..........          variables en arguments    ...................
    24   !
     26
    2527  INTEGER :: klevel
    2628  REAL :: x( ip1jmp1,klevel ),y( ip1jm,klevel ),div( ip1jmp1,klevel )
    2729  INTEGER :: l,ij
    28   !
     30
    2931  !    ...............     variables  locales   .........................
    3032
     
    3335  INTEGER :: ijb,ije
    3436  !    ...................................................................
    35   !
    36   !
     37
     38
    3739  ijb=ij_begin
    3840  ije=ij_end
     
    4244!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    4345  DO l = 1,klevel
    44   !
     46
    4547    DO  ij = ijb, ije - 1
    4648     div( ij + 1, l )     = &
     
    4850           cuvsurcv(ij-iim) * y(ij-iim,l) - cuvsurcv(ij+1) * y(ij+1,l)
    4951    ENDDO
    50   !
     52
    5153  ! ....  correction pour  div( 1,j,l)  ......
    5254  ! ....   div(1,j,l)= div(iip1,j,l) ....
    53   !
     55
    5456  !DIR$ IVDEP
    5557    DO  ij = ijb,ije,iip1
    5658     div( ij,l ) = div( ij + iim,l )
    5759    ENDDO
    58   !
     60
    5961  ! ....  calcul  aux poles  .....
    60   !
     62
    6163    IF (pole_nord) THEN
    6264      DO  ij  = 1,iim
     
    6466      ENDDO
    6567      sumypn = SSUM ( iim,aiy1,1 ) / apoln
    66   !
     68
    6769      DO  ij = 1,iip1
    6870       div(     ij    , l ) = - sumypn
     
    7577      ENDDO
    7678      sumyps = SSUM ( iim,aiy2,1 ) / apols
    77   !
     79
    7880      DO  ij = 1,iip1
    7981       div( ij + ip1jm, l ) =   sumyps
     
    8890  !cc        CALL filtreg( div, jjp1, klevel, 2, 2, .TRUE., 1 )
    8991
    90   !
     92
    9193!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    9294    DO l = 1, klevel
Note: See TracChangeset for help on using the changeset viewer.