Ignore:
Timestamp:
Apr 3, 2018 1:51:09 PM (6 years ago)
Author:
suehring
Message:

Bugfix in assigning surface element data after restart.

File:
1 edited

Legend:

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

    r2940 r2942  
    2626! -----------------
    2727! $Id$
     28! Bugfix in assigning surface element data after restart
     29!
     30! 2940 2018-04-03 11:22:42Z suehring
    2831! Bugfix in reading restart data of vertical surface elements
    2932!
     
    39283931                   DO  m = surf_h(l)%start_index(j,i),                         &
    39293932                           surf_h(l)%end_index(j,i)
    3930                       CALL restore_surface_elements( surf_def_h(l),            &
    3931                                                      mm, surf_h(l), m )
     3933                      IF ( surf_def_h(l)%end_index(jc,ic) >= mm )              &
     3934                         CALL restore_surface_elements( surf_def_h(l),         &
     3935                                                        mm, surf_h(l), m )
    39323936                      mm = mm + 1
    39333937                   ENDDO
     
    39383942                   DO  m = surf_h(l)%start_index(j,i),                         &
    39393943                           surf_h(l)%end_index(j,i)
    3940                       CALL restore_surface_elements( surf_lsm_h,               &
    3941                                                      mm, surf_h(l), m )
     3944                      IF ( surf_lsm_h%end_index(jc,ic) >= mm )                 &
     3945                         CALL restore_surface_elements( surf_lsm_h,            &
     3946                                                        mm, surf_h(l), m )
    39423947                      mm = mm + 1
    39433948                   ENDDO
     
    39483953                   DO  m = surf_h(l)%start_index(j,i),                         &
    39493954                           surf_h(l)%end_index(j,i)
    3950                       CALL restore_surface_elements( surf_usm_h,               &
    3951                                                      mm, surf_h(l), m )
     3955                      IF ( surf_usm_h%end_index(jc,ic) >= mm )                 &
     3956                         CALL restore_surface_elements( surf_usm_h,            &
     3957                                                        mm, surf_h(l), m )
    39523958                      mm = mm + 1
    39533959                   ENDDO
     
    39773983                   DO  m = surf_v(l)%start_index(j,i),                         &
    39783984                           surf_v(l)%end_index(j,i)
    3979                       CALL restore_surface_elements( surf_def_v(l),            &
    3980                                                      mm, surf_v(l), m )
     3985                      IF ( surf_def_v(l)%end_index(jc,ic) >= mm )              &
     3986                         CALL restore_surface_elements( surf_def_v(l),         &
     3987                                                        mm, surf_v(l), m )
    39813988                      mm = mm + 1
    39823989                   ENDDO
     
    39873994                   DO  m = surf_v(l)%start_index(j,i),                         &
    39883995                           surf_v(l)%end_index(j,i)
    3989                       CALL restore_surface_elements( surf_lsm_v(l),            &
    3990                                                      mm, surf_v(l), m )
     3996                      IF ( surf_lsm_v(l)%end_index(jc,ic) >= mm )              &
     3997                         CALL restore_surface_elements( surf_lsm_v(l),         &
     3998                                                        mm, surf_v(l), m )
    39913999                      mm = mm + 1
    39924000                   ENDDO
     
    39974005                   DO  m = surf_v(l)%start_index(j,i),                         &
    39984006                           surf_v(l)%end_index(j,i)
    3999                       CALL restore_surface_elements( surf_usm_v(l),            &
    4000                                                      mm, surf_v(l), m )
     4007                      IF ( surf_usm_v(l)%end_index(jc,ic) >= mm )              &
     4008                         CALL restore_surface_elements( surf_usm_v(l),         &
     4009                                                        mm, surf_v(l), m )
    40014010                      mm = mm + 1
    40024011                   ENDDO
     
    40274036             TYPE( surf_type ) ::  surf_target !< target surface type
    40284037             TYPE( surf_type ) ::  surf_file   !< surface type on file
     4038
    40294039
    40304040             IF ( INDEX( restart_string(1:length), '%us' ) /= 0 )  THEN
Note: See TracChangeset for help on using the changeset viewer.