Ignore:
Timestamp:
Jun 12, 2018 7:03:02 AM (6 years ago)
Author:
Giersch
Message:

New vertical stretching procedure has been introduced

File:
1 edited

Legend:

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

    r3045 r3065  
    2525! -----------------
    2626! $Id$
     27! Header output concerning stretching revised
     28!
     29! 3045 2018-05-28 07:55:41Z Giersch
    2730! Error messages revised
    2831!
     
    800803!-- Computational grid
    801804    IF ( .NOT. ocean )  THEN
    802        WRITE ( io, 250 )  dx, dy, dz, (nx+1)*dx, (ny+1)*dy, zu(nzt+1)
    803        IF ( dz_stretch_level_index < nzt+1 )  THEN
    804           WRITE ( io, 252 )  dz_stretch_level, dz_stretch_level_index, &
    805                              dz_stretch_factor, dz_max
    806        ENDIF
     805       WRITE ( io, 250 )  dx, dy
     806       
     807       DO i = 1, number_stretch_level_start+1
     808          WRITE ( io, 253 )  i, dz(i)
     809       ENDDO
     810       
     811       WRITE( io, 251 ) (nx+1)*dx, (ny+1)*dy, zu(nzt+1)
     812       
     813       IF ( ANY( dz_stretch_level_start_index < nzt+1 ) )  THEN
     814          WRITE( io, '(A)', advance='no') ' Vertical stretching starts at height:'
     815          DO i = 1, number_stretch_level_start
     816             WRITE ( io, '(F10.1,A3)', advance='no' )  dz_stretch_level_start(i), ' m,'
     817          ENDDO
     818          WRITE( io, '(/,A)', advance='no') ' Vertical stretching starts at index: '
     819          DO i = 1, number_stretch_level_start
     820             WRITE ( io, '(I12,A1)', advance='no' )  dz_stretch_level_start_index(i), ','
     821          ENDDO
     822          WRITE( io, '(/,A)', advance='no') ' Vertical stretching ends at height:  '
     823          DO i = 1, number_stretch_level_start
     824             WRITE ( io, '(F10.1,A3)', advance='no' )  dz_stretch_level_end(i), ' m,'
     825          ENDDO
     826          WRITE( io, '(/,A)', advance='no') ' Vertical stretching ends at index:   '
     827          DO i = 1, number_stretch_level_start
     828             WRITE ( io, '(I12,A1)', advance='no' )  dz_stretch_level_end_index(i), ','
     829          ENDDO
     830          WRITE( io, '(/,A)', advance='no') ' Factor used for stretching:          '
     831          DO i = 1, number_stretch_level_start
     832             WRITE ( io, '(F12.3,A1)', advance='no' )  dz_stretch_factor_array(i), ','
     833          ENDDO
     834       ENDIF
     835       
    807836    ELSE
    808        WRITE ( io, 250 )  dx, dy, dz, (nx+1)*dx, (ny+1)*dy, zu(0)
    809        IF ( dz_stretch_level_index > 0 )  THEN
    810           WRITE ( io, 252 )  dz_stretch_level, dz_stretch_level_index, &
    811                              dz_stretch_factor, dz_max
    812        ENDIF
    813     ENDIF
    814     WRITE ( io, 254 )  nx, ny, nzt+1, MIN( nnx, nx+1 ), MIN( nny, ny+1 ), &
     837       WRITE ( io, 250 )  dx, dy
     838       DO i = 1, number_stretch_level_start+1
     839          WRITE ( io, 253 )  i, dz(i)
     840       ENDDO
     841       
     842       WRITE ( io, 251 ) (nx+1)*dx, (ny+1)*dy, zu(0)
     843       
     844       IF ( ANY( dz_stretch_level_start_index > 0 ) )  THEN
     845          WRITE( io, '(A)', advance='no') ' Vertical stretching starts at height:'
     846          DO i = 1, number_stretch_level_start
     847             WRITE ( io, '(F10.1,A3)', advance='no' )  dz_stretch_level_start(i), ' m,'
     848          ENDDO
     849          WRITE( io, '(/,A)', advance='no') ' Vertical stretching starts at index: '
     850          DO i = 1, number_stretch_level_start
     851             WRITE ( io, '(I12,A1)', advance='no' )  dz_stretch_level_start_index(i), ','
     852          ENDDO
     853          WRITE( io, '(/,A)', advance='no') ' Vertical stretching ends at height:  '
     854          DO i = 1, number_stretch_level_start
     855             WRITE ( io, '(F10.1,A3)', advance='no' )  dz_stretch_level_end(i), ' m,'
     856          ENDDO
     857          WRITE( io, '(/,A)', advance='no') ' Vertical stretching ends at index:   '
     858          DO i = 1, number_stretch_level_start
     859             WRITE ( io, '(I12,A1)', advance='no' )  dz_stretch_level_end_index(i), ','
     860          ENDDO
     861          WRITE( io, '(/,A)', advance='no') ' Factor used for stretching:          '
     862          DO i = 1, number_stretch_level_start
     863             WRITE ( io, '(F12.3,A1)', advance='no' )  dz_stretch_factor_array(i), ','
     864          ENDDO
     865       ENDIF
     866    ENDIF
     867    WRITE ( io, 254 )  nx, ny, nzt+1, MIN( nnx, nx+1 ), MIN( nny, ny+1 ),      &
    815868                       MIN( nnz+2, nzt+2 )
    816869    IF ( sloping_surface )  WRITE ( io, 260 )  alpha_surface
     
    20832136250 FORMAT (//' Computational grid and domain size:'/ &
    20842137              ' ----------------------------------'// &
    2085               ' Grid length:      dx =    ',F7.3,' m    dy =    ',F7.3, &
    2086               ' m    dz =    ',F7.3,' m'/ &
    2087               ' Domain size:       x = ',F10.3,' m     y = ',F10.3, &
     2138              ' Grid length:      dx =    ',F8.3,' m    dy =    ',F8.3, ' m')
     2139251 FORMAT (  /' Domain size:       x = ',F10.3,' m     y = ',F10.3, &
    20882140              ' m  z(u) = ',F10.3,' m'/)
    2089 252 FORMAT (' dz constant up to ',F10.3,' m (k=',I4,'), then stretched by', &
    2090               ' factor:',F6.3/ &
    2091             ' maximum dz not to be exceeded is dz_max = ',F10.3,' m'/)
    2092 254 FORMAT (' Number of gridpoints (x,y,z):  (0:',I4,', 0:',I4,', 0:',I4,')'/ &
     2141253 FORMAT ( '                dz(',I1,') =    ', F8.3, ' m')
     2142254 FORMAT (//' Number of gridpoints (x,y,z):  (0:',I4,', 0:',I4,', 0:',I4,')'/ &
    20932143            ' Subdomain size (x,y,z):        (  ',I4,',   ',I4,',   ',I4,')'/)
    20942144260 FORMAT (/' The model has a slope in x-direction. Inclination angle: ',F6.2,&
Note: See TracChangeset for help on using the changeset viewer.