Ignore:
Timestamp:
May 3, 2020 2:29:30 PM (14 months ago)
Author:
raasch
Message:

added restart with MPI-IO for reading local arrays

File:
1 edited

Legend:

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

    r4457 r4517  
    110110               data_output,                                                    &
    111111               message_string,                                                 &
     112               restart_data_format_output,                                     &
    112113               varnamelength
    113114!
     
    19421943!> Note: With the current structure reading of non-standard array is not
    19431944!> possible
     1945!> COMMENT:  these arrays should be given standard index bounds! (Siggi)
    19441946!------------------------------------------------------------------------------!
    19451947!  SUBROUTINE doq_rrd_local( k, nxlf, nxlc, nxl_on_file, nxrf, nxrc,             &
     
    20482050    IMPLICIT NONE
    20492051
    2050     IF ( ALLOCATED( pt_2m_av ) )  THEN
    2051        CALL wrd_write_string( 'pt_2m_av' )
    2052        WRITE ( 14 )  pt_2m_av
     2052    IF ( TRIM( restart_data_format_output ) == 'fortran_binary' )  THEN
     2053
     2054       IF ( ALLOCATED( pt_2m_av ) )  THEN
     2055          CALL wrd_write_string( 'pt_2m_av' )
     2056          WRITE ( 14 )  pt_2m_av
     2057       ENDIF
     2058
     2059       IF ( ALLOCATED( ti_av ) )  THEN
     2060          CALL wrd_write_string( 'ti_av' )
     2061          WRITE ( 14 )  ti_av
     2062       ENDIF
     2063
     2064       IF ( ALLOCATED( uu_av ) )  THEN
     2065          CALL wrd_write_string( 'uu_av' )
     2066          WRITE ( 14 )  uu_av
     2067       ENDIF
     2068
     2069       IF ( ALLOCATED( uv_10m_av ) )  THEN
     2070          CALL wrd_write_string( 'uv_10m_av' )
     2071          WRITE ( 14 )  uv_10m_av
     2072       ENDIF
     2073
     2074       IF ( ALLOCATED( vv_av ) )  THEN
     2075          CALL wrd_write_string( 'vv_av' )
     2076          WRITE ( 14 )  vv_av
     2077       ENDIF
     2078
     2079       IF ( ALLOCATED( ww_av ) )  THEN
     2080          CALL wrd_write_string( 'ww_av' )
     2081          WRITE ( 14 )  ww_av
     2082       ENDIF
     2083
     2084       IF ( ALLOCATED( wu_av ) )  THEN
     2085          CALL wrd_write_string( 'wu_av' )
     2086          WRITE ( 14 )  wu_av
     2087       ENDIF
     2088
     2089       IF ( ALLOCATED( wv_av ) )  THEN
     2090          CALL wrd_write_string( 'wv_av' )
     2091          WRITE ( 14 )  wv_av
     2092       ENDIF
     2093
     2094       IF ( ALLOCATED( wtheta_av ) )  THEN
     2095          CALL wrd_write_string( 'wtheta_av' )
     2096          WRITE ( 14 )  wtheta_av
     2097       ENDIF
     2098
     2099       IF ( ALLOCATED( wq_av ) )  THEN
     2100          CALL wrd_write_string( 'wq_av' )
     2101          WRITE ( 14 )  wq_av
     2102       ENDIF
     2103
     2104       IF ( ALLOCATED( wspeed_av ) )  THEN
     2105          CALL wrd_write_string( 'wspeed_av' )
     2106          WRITE ( 14 )  wspeed_av
     2107       ENDIF
     2108
     2109       IF ( ALLOCATED( u_center_av ) )  THEN
     2110          CALL wrd_write_string( 'u_center_av' )
     2111          WRITE ( 14 )  u_center_av
     2112       ENDIF
     2113
     2114       IF ( ALLOCATED( v_center_av ) )  THEN
     2115          CALL wrd_write_string( 'v_center_av' )
     2116          WRITE ( 14 )  v_center_av
     2117       ENDIF
     2118
     2119    ELSEIF ( TRIM( restart_data_format_output ) == 'mpi' )  THEN
     2120
     2121       STOP 'mpi-io for doq_wrd_local not realized'
     2122
    20532123    ENDIF
    20542124
    2055     IF ( ALLOCATED( ti_av ) )  THEN
    2056        CALL wrd_write_string( 'ti_av' )
    2057        WRITE ( 14 )  ti_av
    2058     ENDIF
    2059 
    2060     IF ( ALLOCATED( uu_av ) )  THEN
    2061        CALL wrd_write_string( 'uu_av' )
    2062        WRITE ( 14 )  uu_av
    2063     ENDIF
    2064 
    2065     IF ( ALLOCATED( uv_10m_av ) )  THEN
    2066        CALL wrd_write_string( 'uv_10m_av' )
    2067        WRITE ( 14 )  uv_10m_av
    2068     ENDIF
    2069 
    2070     IF ( ALLOCATED( vv_av ) )  THEN
    2071        CALL wrd_write_string( 'vv_av' )
    2072        WRITE ( 14 )  vv_av
    2073     ENDIF
    2074 
    2075     IF ( ALLOCATED( ww_av ) )  THEN
    2076        CALL wrd_write_string( 'ww_av' )
    2077        WRITE ( 14 )  ww_av
    2078     ENDIF
    2079 
    2080     IF ( ALLOCATED( wu_av ) )  THEN
    2081        CALL wrd_write_string( 'wu_av' )
    2082        WRITE ( 14 )  wu_av
    2083     ENDIF
    2084 
    2085     IF ( ALLOCATED( wv_av ) )  THEN
    2086        CALL wrd_write_string( 'wv_av' )
    2087        WRITE ( 14 )  wv_av
    2088     ENDIF
    2089 
    2090     IF ( ALLOCATED( wtheta_av ) )  THEN
    2091        CALL wrd_write_string( 'wtheta_av' )
    2092        WRITE ( 14 )  wtheta_av
    2093     ENDIF
    2094 
    2095     IF ( ALLOCATED( wq_av ) )  THEN
    2096        CALL wrd_write_string( 'wq_av' )
    2097        WRITE ( 14 )  wq_av
    2098     ENDIF
    2099 
    2100     IF ( ALLOCATED( wspeed_av ) )  THEN
    2101        CALL wrd_write_string( 'wspeed_av' )
    2102        WRITE ( 14 )  wspeed_av
    2103     ENDIF
    2104 
    2105     IF ( ALLOCATED( u_center_av ) )  THEN
    2106        CALL wrd_write_string( 'u_center_av' )
    2107        WRITE ( 14 )  u_center_av
    2108     ENDIF
    2109 
    2110     IF ( ALLOCATED( v_center_av ) )  THEN
    2111        CALL wrd_write_string( 'v_center_av' )
    2112        WRITE ( 14 )  v_center_av
    2113     ENDIF
    2114 
    21152125 END SUBROUTINE doq_wrd_local
    21162126
Note: See TracChangeset for help on using the changeset viewer.