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 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/misc/write_field.F90

    r5113 r5116  
    1212  integer, dimension(MaxWriteField), save :: FieldVarId
    1313  integer, dimension(MaxWriteField), save :: FieldIndex
    14   character(len = 255), dimension(MaxWriteField) :: FieldName
     14  CHARACTER(LEN = 255), dimension(MaxWriteField) :: FieldName
    1515
    1616  integer, save :: NbField = 0
     
    2323  function GetFieldIndex(name)
    2424    IMPLICIT NONE
    25     integer :: GetFieldindex
    26     character(len = *) :: name
    27 
    28     character(len = 255) :: TrueName
    29     integer :: i
     25    INTEGER :: GetFieldindex
     26    CHARACTER(LEN = *) :: name
     27
     28    CHARACTER(LEN = 255) :: TrueName
     29    INTEGER :: i
    3030
    3131    TrueName = TRIM(ADJUSTL(name))
     
    3333    GetFieldIndex = -1
    3434    do i = 1, NbField
    35       if (TrueName==FieldName(i)) then
     35      if (TrueName==FieldName(i)) THEN
    3636        GetFieldIndex = i
    3737        exit
    3838      endif
    3939    enddo
    40   end function GetFieldIndex
     40  END FUNCTION GetFieldIndex
    4141
    4242  subroutine WriteField3d(name, Field)
    4343    IMPLICIT NONE
    44     character(len = *) :: name
     44    CHARACTER(LEN = *) :: name
    4545    real, dimension(:, :, :) :: Field
    4646    integer, dimension(3) :: Dim
     
    4949    CALL WriteField_gen(name, Field, Dim(1), Dim(2), Dim(3))
    5050
    51   end subroutine WriteField3d
     51  END SUBROUTINE WriteField3d
    5252
    5353  subroutine WriteField2d(name, Field)
    5454    IMPLICIT NONE
    55     character(len = *) :: name
     55    CHARACTER(LEN = *) :: name
    5656    real, dimension(:, :) :: Field
    5757    integer, dimension(2) :: Dim
     
    6060    CALL WriteField_gen(name, Field, Dim(1), Dim(2), 1)
    6161
    62   end subroutine WriteField2d
     62  END SUBROUTINE WriteField2d
    6363
    6464  subroutine WriteField1d(name, Field)
    6565    IMPLICIT NONE
    66     character(len = *) :: name
     66    CHARACTER(LEN = *) :: name
    6767    real, dimension(:) :: Field
    6868    integer, dimension(1) :: Dim
     
    7171    CALL WriteField_gen(name, Field, Dim(1), 1, 1)
    7272
    73   end subroutine WriteField1d
     73  END SUBROUTINE WriteField1d
    7474
    7575  subroutine WriteField_gen(name, Field, dimx, dimy, dimz)
    7676    IMPLICIT NONE
    77     character(len = *) :: name
    78     integer :: dimx, dimy, dimz
     77    CHARACTER(LEN = *) :: name
     78    INTEGER :: dimx, dimy, dimz
    7979    real, dimension(dimx, dimy, dimz) :: Field
    8080    integer, dimension(dimx * dimy * dimz) :: ndex
    81     integer :: status
    82     integer :: index
    83     integer :: start(4)
    84     integer :: count(4)
     81    INTEGER :: status
     82    INTEGER :: index
     83    INTEGER :: start(4)
     84    INTEGER :: count(4)
    8585
    8686    Index = GetFieldIndex(name)
    87     if (Index==-1) then
     87    if (Index==-1) THEN
    8888      CALL CreateNewField(name, dimx, dimy, dimz)
    8989      Index = GetFieldIndex(name)
     
    105105    status = nf90_sync(FieldId(Index))
    106106
    107   end subroutine WriteField_gen
     107  END SUBROUTINE WriteField_gen
    108108
    109109  subroutine CreateNewField(name, dimx, dimy, dimz)
    110110    IMPLICIT NONE
    111     character(len = *) :: name
    112     integer :: dimx, dimy, dimz
    113     integer :: TabDim(4)
    114     integer :: status
     111    CHARACTER(LEN = *) :: name
     112    INTEGER :: dimx, dimy, dimz
     113    INTEGER :: TabDim(4)
     114    INTEGER :: status
    115115
    116116    NbField = NbField + 1
     
    126126    status = nf90_enddef(FieldId(NbField))
    127127
    128   end subroutine CreateNewField
     128  END SUBROUTINE CreateNewField
    129129
    130130  subroutine write_field1D(name, Field)
     
    132132
    133133    integer, parameter :: MaxDim = 1
    134     character(len = *) :: name
     134    CHARACTER(LEN = *) :: name
    135135    real, dimension(:) :: Field
    136136    real, dimension(:), allocatable :: New_Field
    137     character(len = 20) :: str
     137    CHARACTER(LEN = 20) :: str
    138138    integer, dimension(MaxDim) :: Dim
    139     integer :: i, nb
     139    INTEGER :: i, nb
    140140    integer, parameter :: id = 10
    141141    integer, parameter :: NbCol = 4
    142     integer :: ColumnSize
    143     integer :: pos
    144     character(len = 255) :: form
    145     character(len = 255) :: MaxLen
     142    INTEGER :: ColumnSize
     143    INTEGER :: pos
     144    CHARACTER(LEN = 255) :: form
     145    CHARACTER(LEN = 255) :: MaxLen
    146146
    147147    open(unit = id, file = name // '.field', form = 'formatted', status = 'replace')
     
    155155      nb = nb + 1
    156156
    157       if (MOD(nb, NbCol)==0) then
     157      if (MOD(nb, NbCol)==0) THEN
    158158        form = '(t' // trim(int2str(pos)) // ',i' // trim(MaxLen) // '," ---> ",g22.16,/)'
    159159        Pos = 2
     
    167167    close(id)
    168168
    169   end subroutine write_field1D
     169  END SUBROUTINE write_field1D
    170170
    171171  subroutine write_field2D(name, Field)
     
    173173
    174174    integer, parameter :: MaxDim = 2
    175     character(len = *) :: name
     175    CHARACTER(LEN = *) :: name
    176176    real, dimension(:, :) :: Field
    177177    real, dimension(:, :), allocatable :: New_Field
    178     character(len = 20) :: str
     178    CHARACTER(LEN = 20) :: str
    179179    integer, dimension(MaxDim) :: Dim
    180     integer :: i, j, nb
     180    INTEGER :: i, j, nb
    181181    integer, parameter :: id = 10
    182182    integer, parameter :: NbCol = 4
    183     integer :: ColumnSize
    184     integer :: pos, offset
    185     character(len = 255) :: form
    186     character(len = 255) :: spacing
     183    INTEGER :: ColumnSize
     184    INTEGER :: pos, offset
     185    CHARACTER(LEN = 255) :: form
     186    CHARACTER(LEN = 255) :: spacing
    187187
    188188    open(unit = id, file = name // '.field', form = 'formatted', status = 'replace')
     
    201201        nb = nb + 1
    202202
    203         if (MOD(nb, NbCol)==0) then
     203        if (MOD(nb, NbCol)==0) THEN
    204204          form = '(t' // trim(int2str(pos)) // &
    205205                  ',"(' // trim(int2str(j)) // ','          &
     
    218218        write (id, form, advance = 'no') Field(j, i)
    219219      enddo
    220       if (MOD(nb, NbCol)==0) then
     220      if (MOD(nb, NbCol)==0) THEN
    221221        write (id, spacing)
    222222      else
     
    226226    enddo
    227227
    228   end subroutine write_field2D
     228  END SUBROUTINE write_field2D
    229229
    230230  subroutine write_field3D(name, Field)
     
    232232
    233233    integer, parameter :: MaxDim = 3
    234     character(len = *) :: name
     234    CHARACTER(LEN = *) :: name
    235235    real, dimension(:, :, :) :: Field
    236236    real, dimension(:, :, :), allocatable :: New_Field
    237237    integer, dimension(MaxDim) :: Dim
    238     integer :: i, j, k, nb
     238    INTEGER :: i, j, k, nb
    239239    integer, parameter :: id = 10
    240240    integer, parameter :: NbCol = 4
    241     integer :: ColumnSize
    242     integer :: pos, offset
    243     character(len = 255) :: form
    244     character(len = 255) :: spacing
     241    INTEGER :: ColumnSize
     242    INTEGER :: pos, offset
     243    CHARACTER(LEN = 255) :: form
     244    CHARACTER(LEN = 255) :: spacing
    245245
    246246    open(unit = id, file = name // '.field', form = 'formatted', status = 'replace')
     
    264264          nb = nb + 1
    265265
    266           if (MOD(nb, NbCol)==0) then
     266          if (MOD(nb, NbCol)==0) THEN
    267267            form = '(t' // trim(int2str(pos)) // &
    268268                    ',"(' // trim(int2str(k)) // ','          &
     
    284284          write (id, form, advance = 'no') Field(k, j, i)
    285285        enddo
    286         if (MOD(nb, NbCol)==0) then
     286        if (MOD(nb, NbCol)==0) THEN
    287287          write (id, spacing)
    288288        else
     
    296296    close(id)
    297297
    298   end subroutine write_field3D
     298  END SUBROUTINE write_field3D
    299299
    300300end module write_field
Note: See TracChangeset for help on using the changeset viewer.