source: LMDZ6/branches/Amaury_dev/libf/dyn3d_common/convflu.f90 @ 5159

Last change on this file since 5159 was 5159, checked in by abarral, 3 months ago

Put dimensions.h and paramet.h into modules

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.6 KB
RevLine 
[5099]1
[524]2! $Header$
[5099]3
[5105]4SUBROUTINE convflu( xflu,yflu,nbniv,convfl )
[5159]5
[5105]6  !  P. Le Van
[5159]7
8
[5105]9  !    *******************************************************************
10  !  ... calcule la (convergence horiz. * aire locale)du flux ayant pour
11  !  composantes xflu et yflu ,variables extensives .  ......
12  !    *******************************************************************
13  !  xflu , yflu et nbniv sont des arguments d'entree pour le s-pg ..
14  !  convfl                est  un argument de sortie pour le s-pg .
[5159]15
[5105]16  ! njxflu  est le nombre de lignes de latitude de xflu,
17  ! ( = jjm ou jjp1 )
18  ! nbniv   est le nombre de niveaux vert. de  xflu et de yflu .
[5159]19
[5123]20  USE lmdz_ssum_scopy, ONLY: ssum
[5136]21  USE lmdz_comgeom
[5123]22
[5159]23USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
24  USE lmdz_paramet
[5105]25  IMPLICIT NONE
26  !
[5159]27
28
[5105]29  REAL :: xflu,yflu,convfl,convpn,convps
30  INTEGER :: l,ij,nbniv
31  DIMENSION  xflu( ip1jmp1,nbniv ),yflu( ip1jm,nbniv ) , &
32        convfl( ip1jmp1,nbniv )
[5123]33
[5159]34
[5105]35  DO l = 1,nbniv
[5159]36
[5105]37  DO ij = iip2, ip1jm - 1
38  convfl( ij + 1,l ) =  xflu(   ij,l ) - xflu( ij +  1,l )   + &
39        yflu(ij +1,l ) - yflu( ij -iim,l )
40  END DO
[5159]41
[5105]42  !
[524]43
[5105]44  ! ....  correction pour  convfl( 1,j,l)  ......
45  ! ....   convfl(1,j,l)= convfl(iip1,j,l) ...
[5159]46
[5105]47  !DIR$ IVDEP
48  DO ij = iip2,ip1jm,iip1
49  convfl( ij,l ) = convfl( ij + iim,l )
50  END DO
[5159]51
[5105]52  ! ......  calcul aux poles  .......
[5159]53
[5105]54  convpn =   SSUM( iim, yflu(     1    ,l ),  1 )
55  convps = - SSUM( iim, yflu( ip1jm-iim,l ),  1 )
56  DO ij = 1,iip1
57  convfl(     ij   ,l ) = convpn * aire(   ij     ) / apoln
58  convfl( ij+ ip1jm,l ) = convps * aire( ij+ ip1jm) / apols
59  END DO
[5159]60
[5105]61  END DO
62  RETURN
63END SUBROUTINE convflu
Note: See TracBrowser for help on using the repository browser.