Ignore:
Timestamp:
Jul 24, 2024, 2:54:37 PM (2 months ago)
Author:
abarral
Message:

rename modules properly lmdz_*
move ismin, ismax, minmax into new lmdz_libmath.f90
(lint) uppercase fortran keywords

File:
1 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/misc/lmdz_formcoord.f90

    r5115 r5116  
     1MODULE lmdz_formcoord
     2  IMPLICIT NONE; PRIVATE
     3  PUBLIC formcoord
     4CONTAINS
    15
    2 ! $Header$
     6  SUBROUTINE formcoord(unit, n, x, a, rev, text)
     7    IMPLICIT NONE
     8    INTEGER :: n, unit, ndec
     9    logical :: rev
     10    REAL :: x(n), a
     11    CHARACTER(LEN = 4) :: text
    312
    4 SUBROUTINE formcoord(unit,n,x,a,rev,text)
    5   IMPLICIT NONE
    6   integer :: n,unit,ndec
    7   logical :: rev
    8   real :: x(n),a
    9   character(len=4) :: text
     13    INTEGER :: i, id, i1, i2, in
     14    REAL :: dx, dxmin
    1015
    11   integer :: i,id,i1,i2,in
    12   real :: dx,dxmin
     16    IF(rev) THEN
     17      id = -1
     18      i1 = n
     19      i2 = n - 1
     20      in = 1
     21      WRITE(unit, 3000) text(1:1)
     22    else
     23      id = 1
     24      i1 = 1
     25      i2 = 2
     26      in = n
     27    endif
    1328
    14   if(rev) then
    15      id=-1
    16      i1=n
    17      i2=n-1
    18      in=1
    19      write(unit,3000) text(1:1)
    20   else
    21      id=1
    22      i1=1
    23      i2=2
    24      in=n
    25   endif
     29    if (n<2) THEN
     30      ndec = 1
     31      WRITE(unit, 1000) text, n, x(1) * a
     32    else
     33      dxmin = abs(x(2) - x(1))
     34      do i = 2, n - 1
     35        dx = abs(x(i + 1) - x(i))
     36        if (dx<dxmin) dxmin = dx
     37      enddo
    2638
    27   if (n<2) then
    28      ndec=1
    29      write(unit,1000) text,n,x(1)*a
    30   else
    31      dxmin=abs(x(2)-x(1))
    32      do i=2,n-1
    33         dx=abs(x(i+1)-x(i))
    34         if (dx<dxmin) dxmin=dx
    35      enddo
     39      ndec = -log10(dxmin) + 2
     40      IF(mod(n, 6)==1) THEN
     41        WRITE(unit, 1000) text, n, x(i1) * a
     42        WRITE(unit, 2000) (x(i) * a, i=i2, in, id)
     43      else
     44        WRITE(unit, 1000) text, n
     45        WRITE(unit, 2000) (x(i) * a, i=i1, in, id)
     46      endif
     47    endif
    3648
    37      ndec=-log10(dxmin)+2
    38      if(mod(n,6)==1) then
    39         write(unit,1000) text,n,x(i1)*a
    40         write(unit,2000) (x(i)*a,i=i2,in,id)
    41      else
    42         write(unit,1000) text,n
    43         write(unit,2000) (x(i)*a,i=i1,in,id)
    44      endif
    45   endif
     49    1000   format(a4, 2x, i4, ' LEVELS', 43x, f12.2)
     50    2000   format(6f12.2)
     51    3000   format('FORMAT ', a1, 'REV')
    4652
    47 1000   format(a4,2x,i4,' LEVELS',43x,f12.2)
    48 2000   format(6f12.2)
    49   !1000  format(a4,2x,i4,' LEVELS',43x,f12.<ndec>)
    50   !2000  format(6f12.<ndec>)
    51 3000   format('FORMAT ',a1,'REV')
    52 
    53 
    54 end subroutine formcoord
     53  END SUBROUTINE formcoord
     54END MODULE lmdz_formcoord
Note: See TracChangeset for help on using the changeset viewer.