Changeset 4874


Ignore:
Timestamp:
Feb 15, 2021 5:21:20 PM (3 years ago)
Author:
raasch
Message:

bugfix for writing restart radiation arrays with MPI-IO

File:
1 edited

Legend:

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

    r4867 r4874  
    2727! -----------------
    2828! $Id$
     29! bugfix for writing restart radiation arrays with MPI-IO
     30!
     31! 4867 2021-02-06 09:28:31Z moh.hefny
    2932! bugfix in allocating rad_lw_out_av
    3033!
     
    1239512398    IMPLICIT NONE
    1239612399
     12400    REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  tmp  !< temporary array for reading from file
     12401
    1239712402
    1239812403    IF ( TRIM( restart_data_format_output ) == 'fortran_binary' )  THEN
     
    1251012515       IF ( ALLOCATED( rad_sw_in_xy_av ) )  CALL wrd_mpi_io( 'rad_sw_in_xy_av', rad_sw_in_xy_av )
    1251112516       IF ( ALLOCATED( rad_sw_out_xy_av ) )  CALL wrd_mpi_io( 'rad_sw_out_xy_av', rad_sw_out_xy_av )
    12512        IF ( ALLOCATED( rad_lw_in ) )  CALL wrd_mpi_io( 'rad_lw_in', rad_lw_in )
    12513        IF ( ALLOCATED( rad_lw_in_av ) )  CALL wrd_mpi_io( 'rad_lw_in_av', rad_lw_in_av )
    12514        IF ( ALLOCATED( rad_lw_out ) )  CALL wrd_mpi_io( 'rad_lw_out', rad_lw_out )
    12515        IF ( ALLOCATED( rad_lw_out_av) )  CALL wrd_mpi_io( 'rad_lw_out_av', rad_lw_out_av )
     12517       IF ( radiation_scheme == 'clear-sky'  .OR.  radiation_scheme == 'constant'  .OR.            &
     12518            radiation_scheme == 'external' )                                                       &
     12519       THEN
     12520          IF ( ALLOCATED( rad_lw_in ) )  THEN
     12521             tmp = rad_lw_in(0,:,:)
     12522             CALL wrd_mpi_io( 'rad_lw_in', tmp )
     12523          ENDIF
     12524          IF ( ALLOCATED( rad_lw_in_av ) )  THEN
     12525             tmp = rad_lw_in_av(0,:,:)
     12526             CALL wrd_mpi_io( 'rad_lw_in_av', tmp )
     12527          ENDIF
     12528          IF ( ALLOCATED( rad_lw_out ) )  THEN
     12529             tmp = rad_lw_out(0,:,:)
     12530             CALL wrd_mpi_io( 'rad_lw_out', tmp )
     12531          ENDIF
     12532          IF ( ALLOCATED( rad_lw_out_av ) )  THEN
     12533             tmp = rad_lw_out_av(0,:,:)
     12534             CALL wrd_mpi_io( 'rad_lw_out_av', tmp )
     12535          ENDIF
     12536       ELSE
     12537          IF ( ALLOCATED( rad_lw_in ) )  CALL wrd_mpi_io( 'rad_lw_in', rad_lw_in )
     12538          IF ( ALLOCATED( rad_lw_in_av ) )  CALL wrd_mpi_io( 'rad_lw_in_av', rad_lw_in_av )
     12539          IF ( ALLOCATED( rad_lw_out ) )  CALL wrd_mpi_io( 'rad_lw_out', rad_lw_out )
     12540          IF ( ALLOCATED( rad_lw_out_av) )  CALL wrd_mpi_io( 'rad_lw_out_av', rad_lw_out_av )
     12541       ENDIF
    1251612542       IF ( ALLOCATED( rad_lw_cs_hr) )  CALL wrd_mpi_io( 'rad_lw_cs_hr', rad_lw_cs_hr )
    1251712543       IF ( ALLOCATED( rad_lw_cs_hr_av) )  CALL wrd_mpi_io( 'rad_lw_cs_hr_av', rad_lw_cs_hr_av )
    1251812544       IF ( ALLOCATED( rad_lw_hr) )  CALL wrd_mpi_io( 'rad_lw_hr', rad_lw_hr )
    1251912545       IF ( ALLOCATED( rad_lw_hr_av) )  CALL wrd_mpi_io( 'rad_lw_hr_av', rad_lw_hr_av )
    12520        IF ( ALLOCATED( rad_sw_in) )  CALL wrd_mpi_io( 'rad_sw_in', rad_sw_in )
    12521        IF ( ALLOCATED( rad_sw_in_av) )  CALL wrd_mpi_io( 'rad_sw_in_av', rad_sw_in_av )
    12522        IF ( ALLOCATED( rad_sw_out) )  CALL wrd_mpi_io( 'rad_sw_out', rad_sw_out )
    12523        IF ( ALLOCATED( rad_sw_out_av) )  CALL wrd_mpi_io( 'rad_sw_out_av', rad_sw_out_av )
     12546       IF ( radiation_scheme == 'clear-sky'  .OR.  radiation_scheme == 'constant'  .OR.            &
     12547            radiation_scheme == 'external' )                                                       &
     12548       THEN
     12549          IF ( ALLOCATED( rad_sw_in ) )  THEN
     12550             tmp = rad_sw_in(0,:,:)
     12551             CALL wrd_mpi_io( 'rad_sw_in', tmp )
     12552          ENDIF
     12553          IF ( ALLOCATED( rad_sw_in_av ) )  THEN
     12554             tmp = rad_sw_in_av(0,:,:)
     12555             CALL wrd_mpi_io( 'rad_sw_in_av', tmp )
     12556          ENDIF
     12557          IF ( ALLOCATED( rad_sw_out ) )  THEN
     12558             tmp = rad_sw_out(0,:,:)
     12559             CALL wrd_mpi_io( 'rad_sw_out', tmp )
     12560          ENDIF
     12561          IF ( ALLOCATED( rad_sw_out_av ) )  THEN
     12562             tmp = rad_sw_out_av(0,:,:)
     12563             CALL wrd_mpi_io( 'rad_sw_out_av', tmp )
     12564          ENDIF
     12565       ELSE
     12566          IF ( ALLOCATED( rad_sw_in) )  CALL wrd_mpi_io( 'rad_sw_in', rad_sw_in )
     12567          IF ( ALLOCATED( rad_sw_in_av) )  CALL wrd_mpi_io( 'rad_sw_in_av', rad_sw_in_av )
     12568          IF ( ALLOCATED( rad_sw_out) )  CALL wrd_mpi_io( 'rad_sw_out', rad_sw_out )
     12569          IF ( ALLOCATED( rad_sw_out_av) )  CALL wrd_mpi_io( 'rad_sw_out_av', rad_sw_out_av )
     12570       ENDIF
    1252412571       IF ( ALLOCATED( rad_sw_cs_hr) )  CALL wrd_mpi_io( 'rad_sw_cs_hr', rad_sw_cs_hr )
    1252512572       IF ( ALLOCATED( rad_sw_cs_hr_av) )  CALL wrd_mpi_io( 'rad_sw_cs_hr_av', rad_sw_cs_hr_av )
Note: See TracChangeset for help on using the changeset viewer.