c***************************************************** SUBROUTINE csv_write_dble( lun, value, advance ) ! write a single double-precision real to the CSV-file c Auteurs: T.Guillot, P.Morel (adaptation à CESAM2k) Laboratoire Lagrange, OCA c---------------------------------------------------------------- USE mod_kind IMPLICIT NONE INTEGER, INTENT(in) :: lun REAL(kind=dp), INTENT(in) :: value LOGICAL, INTENT(in) :: advance CHARACTER(len=40) :: buffer c-------------------------------------------------------- IF (value == 0.d0) THEN WRITE( buffer, '("0.")') ELSE WRITE( buffer, '(G20.12)' ) value ENDIF buffer = adjustl(buffer) IF ( advance ) THEN WRITE(lun,'(a)') trim(buffer) ELSE ! Most probably: write the comma only when needed - depends on other actions WRITE(lun,'(a,a)',advance='no') trim(buffer), ',' ENDIF RETURN END SUBROUTINE csv_write_dble