Changeset 959


Ignore:
Timestamp:
Jul 24, 2012 1:13:41 PM (12 years ago)
Author:
hoffmann
Message:

bugfixes in palmplot and cross_profiles

Location:
palm/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/NCL/profiles.ncl

    r958 r959  
    381381
    382382      ;************************************************************************
    383       ; currently, more than 3 plots cannot be drawn together
     383      ; currently, more than 3 plots cannot be drawn together. the profiles
     384      ; are split to a maximum of 3 plots per panel.
    384385      ;***********************************************************************
    385386
     
    387388         if(number_comb_all(com_i) .GT. 3) then
    388389            print(" ")
    389             print("Currently, it is not possible to plot more than three"+\
    390                   "profiles together. Hence, they are split to a maximum"+\
    391                   "of three profiles per coordinate plane.")
     390            print("Currently, it is not possible to plot more than three "+\
     391                  "profiles together ("+c_var_all(com_i)+"). Hence, they "+\
     392                  "are split to a maximum of three profiles per "+\
     393                  "coordinate plane.")
    392394            print(" ")
    393395            c_var_all_temp = c_var_all
     
    410412            end do
    411413            number_comb_all(com_i+1) = max(dimsizes(c_var_long)) - 3
    412             c_var_all(com_i+2:max_com_i) = c_var_all_temp(com_i+1:max_com_i-1)
    413             number_comb_all(com_i+2:max_com_i) = number_comb_all_temp(com_i+1:max_com_i-1)
     414            if (com_i+2 .le. max_com_i) then
     415               c_var_all(com_i+2:max_com_i) = c_var_all_temp(com_i+1:max_com_i-1)
     416               number_comb_all(com_i+2:max_com_i) = number_comb_all_temp(com_i+1:max_com_i-1)
     417            end if
    414418            delete(c_var_all_temp)
    415419            delete(number_comb_all_temp)
  • palm/trunk/SOURCE/netcdf.f90

    r952 r959  
    77! Current revisions:
    88! ------------------
    9 !
     9! Bugfix in cross_profiles. It is not possible to arrange more than 100
     10! profiles with cross_profiles.
    1011!
    1112! Former revisions:
     
    117118    CHARACTER (LEN=10)             ::  netcdf_var_name, precision, var
    118119    CHARACTER (LEN=80)             ::  time_average_text
    119     CHARACTER (LEN=2000)           ::  char_cross_profiles, var_list, &
    120                                        var_list_old
     120    CHARACTER (LEN=2000)           ::  char_cross_profiles,     &
     121                                       message_cross_profiles,  &
     122                                       var_list, var_list_old
    121123
    122124    CHARACTER (LEN=100), DIMENSION(1:crmax) :: cross_profiles_adj,   &
     
    31693171            IF ( TRIM( cross_profiles_adj(i) ) == ' ' )  EXIT
    31703172            delim_old = 0
    3171             DO   j = 1, 100
     3173            DO   j = 1, crmax
    31723174              delim = INDEX( cross_profiles_adj(i)(delim_old+1:), ' ' )
    31733175              IF (delim .EQ. 1)  EXIT
    3174               cross_profiles_char(k) = cross_profiles_adj(i)(delim_old+1:    &
    3175                                        delim_old+delim-1)
    3176               cross_profiles_numb(k) = i
     3176              cross_profiles_char( MIN( crmax, k ) ) = cross_profiles_adj(i)  &
     3177                                       (delim_old+1:delim_old+delim-1)
     3178              cross_profiles_numb( MIN( crmax, k ) ) = i
    31773179              k = k+1
    31783180              cross_profiles_maxi  = i
     
    31813183          ENDDO
    31823184
    3183           cross_profiles_count = k-1
     3185          cross_profiles_count = MIN( crmax, k-1 )
    31843186         
    31853187!
     
    31923194          DO  i = 1, cross_profiles_count
    31933195            DO  j = 1, dopr_n
    3194               IF ( TRIM(cross_profiles_char(i)) == TRIM(data_output_pr(j)) ) &
     3196              IF ( TRIM(cross_profiles_char(i) ) == TRIM(data_output_pr(j)) ) &
    31953197                 EXIT
    31963198              IF ( j == dopr_n)  THEN
     
    32233225                cross_profiles_count = cross_profiles_count + 1
    32243226                cross_profiles_maxi  = cross_profiles_maxi  + 1
    3225                 cross_profiles_char( cross_profiles_count ) =                  &
     3227                cross_profiles_char( MIN( crmax, cross_profiles_count ) ) =    &
    32263228                                                      TRIM( data_output_pr(i) )
    3227                 cross_profiles_numb(cross_profiles_count) = cross_profiles_maxi
     3229                cross_profiles_numb( MIN( crmax, cross_profiles_count ) ) =    &
     3230                                                      cross_profiles_maxi
    32283231                cross_profiles_log = .TRUE.
    3229                 message_string = TRIM( message_string ) // ', ' //             &
    3230                                  TRIM( data_output_pr(i) )
     3232                message_string = TRIM( message_string ) // ', '&
     3233                                         // TRIM( data_output_pr(i) )
    32313234              ENDIF
    32323235            ENDDO
     
    32343237
    32353238          IF ( cross_profiles_log )  THEN
    3236             message_string = TRIM(message_string(2:)) // ' has/have been' //  &
    3237                              ' added to cross_profiles.'
     3239            message_string = TRIM(message_string(2:)) //               &
     3240                             ' has/have been added to cross_profiles.'
    32383241            CALL message( 'define_netcdf_header', 'PA0353', 0, 0, 0, 6, 0 )
     3242          ENDIF
     3243
     3244          IF ( cross_profiles_count .ge. crmax )  THEN
     3245            message_string = 'It is not possible to arrange more than '&
     3246                             // '100 profiles with cross_profiles.'
     3247            CALL message( 'define_netcdf_header', 'PA0354', 0, 0, 0, 6, 0 )
    32393248          ENDIF
    32403249
Note: See TracChangeset for help on using the changeset viewer.