Ignore:
Timestamp:
Apr 13, 2020 8:11:20 PM (4 years ago)
Author:
raasch
Message:

restart data handling with MPI-IO added, first part

File:
1 edited

Legend:

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

    r4471 r4495  
    2525! -----------------
    2626! $Id$
     27! restart data handling with MPI-IO added
     28!
     29! 4471 2020-03-24 12:08:06Z schwenkel
    2730! Bugfix in lpm_droplet_interactions_ptq
    2831!
     
    164167               intermediate_timestep_count, intermediate_timestep_count_max,   &
    165168               message_string, molecular_viscosity, ocean_mode,                &
    166                particle_maximum_age, iran,                                     &
     169               particle_maximum_age, iran, restart_data_format_output,         &
    167170               simulated_time, topography, dopts_time_count,                   &
    168171               time_since_reference_point, rho_surface, u_gtrans, v_gtrans,    &
     
    205208    USE random_function_mod,                                                   &
    206209        ONLY:  random_function
     210
     211    USE restart_data_mpi_io_mod,                                                                   &
     212        ONLY:  rrd_mpi_io, wrd_mpi_io
    207213
    208214    USE statistics,                                                            &
     
    402408
    403409    INTERFACE lpm_rrd_global
    404        MODULE PROCEDURE lpm_rrd_global
     410       MODULE PROCEDURE lpm_rrd_global_ftn
     411       MODULE PROCEDURE lpm_rrd_global_mpi
    405412    END INTERFACE lpm_rrd_global
    406413
     
    31753182 SUBROUTINE lpm_wrd_global
    31763183 
    3177     CALL wrd_write_string( 'curvature_solution_effects' )
    3178     WRITE ( 14 )  curvature_solution_effects
    3179 
    3180     CALL wrd_write_string( 'interpolation_simple_corrector' )
    3181     WRITE ( 14 )  interpolation_simple_corrector
    3182 
    3183     CALL wrd_write_string( 'interpolation_simple_predictor' )
    3184     WRITE ( 14 )  interpolation_simple_predictor
    3185 
    3186     CALL wrd_write_string( 'interpolation_trilinear' )
    3187     WRITE ( 14 )  interpolation_trilinear
     3184    IF ( TRIM( restart_data_format_output ) == 'fortran_binary' )  THEN
     3185
     3186       CALL wrd_write_string( 'curvature_solution_effects' )
     3187       WRITE ( 14 )  curvature_solution_effects
     3188
     3189       CALL wrd_write_string( 'interpolation_simple_corrector' )
     3190       WRITE ( 14 )  interpolation_simple_corrector
     3191
     3192       CALL wrd_write_string( 'interpolation_simple_predictor' )
     3193       WRITE ( 14 )  interpolation_simple_predictor
     3194
     3195       CALL wrd_write_string( 'interpolation_trilinear' )
     3196       WRITE ( 14 )  interpolation_trilinear
     3197
     3198    ELSEIF ( TRIM( restart_data_format_output ) == 'mpi' )  THEN
     3199
     3200       CALL wrd_mpi_io( 'curvature_solution_effects', curvature_solution_effects )
     3201       CALL wrd_mpi_io( 'interpolation_simple_corrector', interpolation_simple_corrector )
     3202       CALL wrd_mpi_io( 'interpolation_simple_predictor', interpolation_simple_predictor )
     3203       CALL wrd_mpi_io( 'interpolation_trilinear', interpolation_trilinear )
     3204
     3205    ENDIF
    31883206
    31893207 END SUBROUTINE lpm_wrd_global
     
    31933211! Description:
    31943212! ------------
    3195 !> This routine writes the respective restart data for the lpm.
     3213!> Read module-specific global restart data (Fortran binary format).
    31963214!------------------------------------------------------------------------------!
    3197  SUBROUTINE lpm_rrd_global( found )
     3215 SUBROUTINE lpm_rrd_global_ftn( found )
    31983216 
    31993217    USE control_parameters,                            &
     
    32183236          READ ( 13 )  interpolation_trilinear
    32193237
    3220 !          CASE ( 'global_paramter' )
    3221 !             READ ( 13 )  global_parameter
    3222 !          CASE ( 'global_array' )
    3223 !             IF ( .NOT. ALLOCATED( global_array ) )  ALLOCATE( global_array(1:10) )
    3224 !             READ ( 13 )  global_array
    3225 
    32263238       CASE DEFAULT
    32273239
     
    32303242    END SELECT
    32313243   
    3232  END SUBROUTINE lpm_rrd_global
     3244 END SUBROUTINE lpm_rrd_global_ftn
     3245
     3246
     3247!------------------------------------------------------------------------------!
     3248! Description:
     3249! ------------
     3250!> Read module-specific global restart data (MPI-IO).
     3251!------------------------------------------------------------------------------!
     3252 SUBROUTINE lpm_rrd_global_mpi
     3253
     3254    CALL rrd_mpi_io( 'curvature_solution_effects', curvature_solution_effects )
     3255    CALL rrd_mpi_io( 'interpolation_simple_corrector', interpolation_simple_corrector )
     3256    CALL rrd_mpi_io( 'interpolation_simple_predictor', interpolation_simple_predictor )
     3257    CALL rrd_mpi_io( 'interpolation_trilinear', interpolation_trilinear )
     3258
     3259 END SUBROUTINE lpm_rrd_global_mpi
    32333260
    32343261
Note: See TracChangeset for help on using the changeset viewer.