Ignore:
Timestamp:
Feb 14, 2020 10:04:39 AM (4 years ago)
Author:
gronemeier
Message:

write fill_value attribute in virtual-measurements module; enable character-array output in data-output module

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/data_output_binary_module.f90

    r4232 r4408  
    2525! -----------------
    2626! $Id$
     27! Enable character-array output
     28!
     29! 4232 2019-09-20 09:34:22Z knoop
    2730! Bugfix: INCLUDE "mpif.h" must be placed after IMPLICIT NONE statement
    2831!
     
    532535               file_id, variable_id, bounds_start, value_counts, bounds_origin,        &
    533536               is_global,                                                              &
     537               values_char_0d,   values_char_1d,   values_char_2d,   values_char_3d,   &
    534538               values_int8_0d,   values_int8_1d,   values_int8_2d,   values_int8_3d,   &
    535539               values_int16_0d,  values_int16_1d,  values_int16_2d,  values_int16_3d,  &
     
    544548
    545549    CHARACTER(LEN=*), PARAMETER ::  routine_name = 'binary_write_variable'  !< name of this routine
     550
     551    CHARACTER(LEN=1), POINTER,             INTENT(IN), OPTIONAL                   ::  values_char_0d  !< output variable
     552    CHARACTER(LEN=1), POINTER, CONTIGUOUS, INTENT(IN), OPTIONAL, DIMENSION(:)     ::  values_char_1d  !< output variable
     553    CHARACTER(LEN=1), POINTER, CONTIGUOUS, INTENT(IN), OPTIONAL, DIMENSION(:,:)   ::  values_char_2d  !< output variable
     554    CHARACTER(LEN=1), POINTER, CONTIGUOUS, INTENT(IN), OPTIONAL, DIMENSION(:,:,:) ::  values_char_3d  !< output variable
    546555
    547556    INTEGER, INTENT(IN)  ::  file_id       !< file ID
     
    599608       WRITE( file_id )  bounds_origin
    600609!
     610!--    character output
     611       IF ( PRESENT( values_char_0d ) )  THEN
     612          output_string = 'char'
     613          WRITE( file_id )  output_string
     614          WRITE( file_id )  values_char_0d
     615       ELSEIF ( PRESENT( values_char_1d ) )  THEN
     616          output_string = 'char'
     617          WRITE( file_id )  output_string
     618          WRITE( file_id )  values_char_1d
     619       ELSEIF ( PRESENT( values_char_2d ) )  THEN
     620          output_string = 'char'
     621          WRITE( file_id )  output_string
     622          WRITE( file_id )  values_char_2d
     623       ELSEIF ( PRESENT( values_char_3d ) )  THEN
     624          output_string = 'char'
     625          WRITE( file_id )  output_string
     626          WRITE( file_id )  values_char_3d
     627!
    601628!--    8bit integer output
    602        IF ( PRESENT( values_int8_0d ) )  THEN
     629       ELSEIF ( PRESENT( values_int8_0d ) )  THEN
    603630          output_string = 'int8'
    604631          WRITE( file_id )  output_string
Note: See TracChangeset for help on using the changeset viewer.