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/dyn3d/dudv1.F90

    r5245 r5246  
    22! $Header$
    33!
    4       SUBROUTINE dudv1 ( vorpot, pbaru, pbarv, du, dv )
    5       IMPLICIT NONE
    6 c
    7 c-----------------------------------------------------------------------
    8 c
    9 c   Auteur:   P. Le Van
    10 c   -------
    11 c
    12 c   Objet:
    13 c   ------
    14 c   calcul du terme de  rotation
    15 c   ce terme est ajoute a  d(ucov)/dt et a d(vcov)/dt  ..
    16 c   vorpot, pbaru et pbarv sont des arguments d'entree  pour le s-pg ..
    17 c   du  et dv              sont des arguments de sortie pour le s-pg ..
    18 c
    19 c-----------------------------------------------------------------------
     4SUBROUTINE dudv1 ( vorpot, pbaru, pbarv, du, dv )
     5  IMPLICIT NONE
     6  !
     7  !-----------------------------------------------------------------------
     8  !
     9  !   Auteur:   P. Le Van
     10  !   -------
     11  !
     12  !   Objet:
     13  !   ------
     14  !   calcul du terme de  rotation
     15  !   ce terme est ajoute a  d(ucov)/dt et a d(vcov)/dt  ..
     16  !   vorpot, pbaru et pbarv sont des arguments d'entree  pour le s-pg ..
     17  !   du  et dv              sont des arguments de sortie pour le s-pg ..
     18  !
     19  !-----------------------------------------------------------------------
    2020
    2121#include "dimensions.h"
    2222#include "paramet.h"
    2323
    24       REAL vorpot( ip1jm,llm ) ,pbaru( ip1jmp1,llm ) ,
    25         pbarv( ip1jm,llm ) ,du( ip1jmp1,llm ) ,dv( ip1jm,llm )
    26       INTEGER l,ij
    27 c
    28 c
    29       DO 10 l = 1,llm
    30 c
    31       DO 2  ij = iip2, ip1jm - 1
    32       du( ij,l ) = 0.125 *(  vorpot(ij-iip1, l) + vorpot( ij, l)  ) *
    33      *                    (   pbarv(ij-iip1, l) + pbarv(ij-iim,  l) +
    34      *                        pbarv(   ij  , l) + pbarv(ij+ 1 ,  l)   )
    35    2  CONTINUE
    36 c
    37       DO 3 ij = 1, ip1jm - 1
    38       dv( ij+1,l ) = - 0.125 *(  vorpot(ij, l)  + vorpot(ij+1, l)  ) *
    39      *                        (   pbaru(ij, l)  +  pbaru(ij+1   , l) +
    40      *                       pbaru(ij+iip1, l)  +  pbaru(ij+iip2, l)  )
    41    3  CONTINUE
    42 c
    43 c    .... correction  pour  dv( 1,j,l )  .....
    44 c    ....   dv(1,j,l)= dv(iip1,j,l) ....
    45 c
    46 CDIR$ IVDEP
    47       DO 4 ij = 1, ip1jm, iip1
    48       dv( ij,l ) = dv( ij + iim, l )
    49    4  CONTINUE
    50 c
    51   10  CONTINUE
    52       RETURN
    53       END
     24  REAL :: vorpot( ip1jm,llm ) ,pbaru( ip1jmp1,llm ) , &
     25        pbarv( ip1jm,llm ) ,du( ip1jmp1,llm ) ,dv( ip1jm,llm )
     26  INTEGER :: l,ij
     27  !
     28  !
     29  DO l = 1,llm
     30  !
     31  DO  ij = iip2, ip1jm - 1
     32  du( ij,l ) = 0.125 *(  vorpot(ij-iip1, l) + vorpot( ij, l)  ) * &
     33        (   pbarv(ij-iip1, l) + pbarv(ij-iim,  l) + &
     34        pbarv(   ij  , l) + pbarv(ij+ 1 ,  l)   )
     35  END DO
     36  !
     37  DO ij = 1, ip1jm - 1
     38  dv( ij+1,l ) = - 0.125 *(  vorpot(ij, l)  + vorpot(ij+1, l)  ) * &
     39        (   pbaru(ij, l)  +  pbaru(ij+1   , l) + &
     40        pbaru(ij+iip1, l)  +  pbaru(ij+iip2, l)  )
     41  END DO
     42  !
     43  !    .... correction  pour  dv( 1,j,l )  .....
     44  !    ....   dv(1,j,l)= dv(iip1,j,l) ....
     45  !
     46  !DIR$ IVDEP
     47  DO ij = 1, ip1jm, iip1
     48  dv( ij,l ) = dv( ij + iim, l )
     49  END DO
     50  !
     51  END DO
     52  RETURN
     53END SUBROUTINE dudv1
Note: See TracChangeset for help on using the changeset viewer.