Ignore:
Timestamp:
Mar 6, 2007 12:28:36 PM (15 years ago)
Author:
raasch
Message:

preliminary version, several changes to be explained later

File:
1 edited

Legend:

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

    r4 r48  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Collection of time series quantities moved to routine flow_statistics,
     7! output for "profil" removed
    78!
    89! Former revisions:
     
    3738
    3839    INTEGER ::  file_id, i, j, sr
    39     REAL    ::  ts_value(30)
    4040
    4141
     
    7070!--    applicable)
    7171       DO  sr = 0, statistic_regions
    72 !
    73 !--       Open file for time series output.
    74           IF ( profil_output )  THEN
    75              file_id = 50 + sr
    76              CALL check_open( file_id )
    77           ENDIF
    78 
    79 !
    80 !--       Collect and printout all time series quantities in a single line.
    81           ts_value(1) = hom(nzb+4,1,var_hom,sr)     ! E
    82           ts_value(2) = hom(nzb+5,1,var_hom,sr)     ! E*
    83           ts_value(3) = dt_3d
    84           ts_value(4) = hom(nzb,1,var_hom,sr)       ! u*
    85           ts_value(5) = hom(nzb+3,1,var_hom,sr)     ! th*
    86           ts_value(6) = u_max
    87           ts_value(7) = v_max
    88           ts_value(8) = w_max
    89           ts_value(9) = hom(nzb+10,1,var_sum,sr)    ! new divergence
    90           ts_value(10) = hom(nzb+9,1,var_hom,sr)    ! old Divergence
    91           ts_value(11) = hom(nzb+6,1,var_hom,sr)    ! z_i(1)
    92           ts_value(12) = hom(nzb+7,1,var_hom,sr)    ! z_i(2)
    93           ts_value(13) = hom(nzb+8,1,var_hom,sr)    ! w*
    94           ts_value(14) = hom(nzb,1,16,sr)           ! w'pt'   at k=0
    95           ts_value(15) = hom(nzb+1,1,16,sr)         ! w'pt'   at k=1
    96           ts_value(16) = hom(nzb+1,1,18,sr)         ! wpt     at k=1
    97           ts_value(17) = hom(nzb,1,4,sr)            ! pt(0)
    98           ts_value(18) = hom(nzb+1,1,4,sr)          ! pt(zp)
    99           ts_value(19) = hom(nzb+9,1,var_hom-1,sr)  ! splptx
    100           ts_value(20) = hom(nzb+10,1,var_hom-1,sr) ! splpty
    101           ts_value(21) = hom(nzb+11,1,var_hom-1,sr) ! splptz
    102           IF ( ts_value(5) /= 0.0 )  THEN
    103              ts_value(22) = ts_value(4)**2 / &
    104                             ( kappa * g * ts_value(5) / ts_value(18) )  ! L
    105           ELSE
    106              ts_value(22) = 10000.0
    107           ENDIF
    10872
    10973#if defined( __netcdf )
     
    11175             DO  i = 1, dots_num
    11276                nc_stat = NF90_PUT_VAR( id_set_ts, id_var_dots(i,sr),  &
    113                                         (/ ts_value(i) /),             &
     77                                        (/ ts_value(i,sr) /),          &
    11478                                        start = (/ dots_time_count /), &
    11579                                        count = (/ 1 /) )
     
    11983#endif
    12084
    121           IF ( profil_output )  THEN
    122              WRITE ( file_id, 500 )  simulated_time, ts_value(1:22)
    123 !
    124 !--          y-value range of the crosses to be drawn by PROFIL
    125 !--          If required, enlarge them, provided they have not yet been
    126 !--          specified in
    127 !--          check_parameters
    128              DO  i = 1, dots_n
    129 
    130                 j = dots_crossindex(i)
    131 
    132                 IF ( cross_ts_uymin(j) == 999.999 )  THEN
    133 !
    134 !--                When the value range of the first line in the corresponding
    135 !--                cross is determined, its value range is simply adopted.
    136                    IF ( cross_ts_uymin_computed(j) == 999.999 ) &
    137                    THEN
    138                       cross_ts_uymin_computed(j) = ts_value(dots_index(i))
    139                    ELSE
    140                       cross_ts_uymin_computed(j) = &
    141                          MIN(cross_ts_uymin_computed(j),ts_value(dots_index(i)))
    142                    ENDIF
    143                 ENDIF
    144 
    145                 IF ( cross_ts_uymax(j) == 999.999 )  THEN
    146 !
    147 !--                When the value range of the first line in the corresponding
    148 !--                cross is determined, its value range is simply adopted.
    149                    IF ( cross_ts_uymax_computed(j) == 999.999 ) &
    150                    THEN
    151                       cross_ts_uymax_computed(j) = ts_value(dots_index(i))
    152                    ELSE
    153                       cross_ts_uymax_computed(j) = &
    154                          MAX(cross_ts_uymax_computed(j),ts_value(dots_index(i)))
    155                    ENDIF
    156                 ENDIF
    157 
    158              ENDDO
    159 
    160           ENDIF
    161 
    162        ENDDO   ! Loop of subregions.
     85       ENDDO
    16386
    16487    ENDIF
Note: See TracChangeset for help on using the changeset viewer.