Ignore:
Timestamp:
Oct 21, 2024, 2:58:45 PM (23 hours ago)
Author:
abarral
Message:

Convert fixed-form to free-form sources .F -> .{f,F}90
(WIP: some .F remain, will be handled in subsequent commits)

File:
1 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dyn3dmem/laplacien_rotgam_loc.f90

    r5245 r5246  
    1       SUBROUTINE laplacien_rotgam_loc ( klevel, rotin, rotout )
    2 c
    3 c    P. Le Van
    4 c
    5 c   ************************************************************
    6 c   ... calcul de  (rotat x nxgrad)_gam  du rotationnel rotin ..
    7 c   ************************************************************
    8 c    klevel et teta  sont des arguments  d'entree pour le s-prog
    9 c      divgra     est  un argument  de sortie pour le s-prog
    10 c
    11       USE parallel_lmdz
    12       IMPLICIT NONE
    13 c
    14       INCLUDE "dimensions.h"
    15       INCLUDE "paramet.h"
    16       INCLUDE "comgeom.h"
     1SUBROUTINE laplacien_rotgam_loc ( klevel, rotin, rotout )
     2  !
     3  ! P. Le Van
     4  !
     5  !   ************************************************************
     6  !   ... calcul de  (rotat x nxgrad)_gam  du rotationnel rotin ..
     7  !   ************************************************************
     8  ! klevel et teta  sont des arguments  d'entree pour le s-prog
     9  !  divgra     est  un argument  de sortie pour le s-prog
     10  !
     11  USE parallel_lmdz
     12  IMPLICIT NONE
     13  !
     14  INCLUDE "dimensions.h"
     15  INCLUDE "paramet.h"
     16  INCLUDE "comgeom.h"
    1717
    18 c
    19 c    .............   variables  en  arguments    ...........
    20 c
    21       INTEGER klevel
    22       REAL rotin( ijb_v:ije_v,klevel ), rotout( ijb_v:ije_v,klevel )
    23 c
    24 c   ............     variables   locales     ...............
    25 c
    26       INTEGER l, ij
    27       REAL ghy(ijb_v:ije_v,llm), ghx(ijb_u:ije_u,llm)
    28 c   ........................................................
    29 c
    30       INTEGER :: ijb,ije
    31      
    32 c
     18  !
     19  !    .............   variables  en  arguments    ...........
     20  !
     21  INTEGER :: klevel
     22  REAL :: rotin( ijb_v:ije_v,klevel ), rotout( ijb_v:ije_v,klevel )
     23  !
     24  !   ............     variables   locales     ...............
     25  !
     26  INTEGER :: l, ij
     27  REAL :: ghy(ijb_v:ije_v,llm), ghx(ijb_u:ije_u,llm)
     28  !   ........................................................
     29  !
     30  INTEGER :: ijb,ije
    3331
    34       CALL   nxgrad_gam_loc ( klevel, rotin,   ghx ,   ghy  )
    35       CALL   rotat_nfil_loc ( klevel, ghx  ,   ghy , rotout )
    36 c
    37       ijb=ij_begin
    38       ije=ij_end
    39       if(pole_sud) ije=ij_end-iip1
    40 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)     
    41       DO l = 1, klevel
    42         DO ij = ijb, ije
    43          rotout(ij,l) = rotout(ij,l) * unsairz_gam(ij)
    44         ENDDO
    45       ENDDO
    46 c$OMP END DO NOWAIT
    47       RETURN
    48       END
     32  !
     33
     34  CALL   nxgrad_gam_loc ( klevel, rotin,   ghx ,   ghy  )
     35  CALL   rotat_nfil_loc ( klevel, ghx  ,   ghy , rotout )
     36  !
     37  ijb=ij_begin
     38  ije=ij_end
     39  if(pole_sud) ije=ij_end-iip1
     40!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     41  DO l = 1, klevel
     42    DO ij = ijb, ije
     43     rotout(ij,l) = rotout(ij,l) * unsairz_gam(ij)
     44    ENDDO
     45  ENDDO
     46!$OMP END DO NOWAIT
     47  RETURN
     48END SUBROUTINE laplacien_rotgam_loc
Note: See TracChangeset for help on using the changeset viewer.