Ignore:
Timestamp:
Nov 2, 2015 12:38:44 PM (6 years ago)
Author:
raasch
Message:

bugfix for output of single (*) xy-sections in case of parallel netcdf I/O

File:
1 edited

Legend:

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

    r1702 r1703  
    1919! Current revisions:
    2020! -----------------
    21 !
     21! bugfix for output of single (*) xy-sections in case of parallel netcdf I/O
    2222!
    2323! Former revisions:
     
    194194    INTEGER(iwp) ::  layer_xy  !<
    195195    INTEGER(iwp) ::  n         !<
     196    INTEGER(iwp) ::  nis       !<
    196197    INTEGER(iwp) ::  ns        !<
    197198    INTEGER(iwp) ::  nzb_do    !< lower limit of the data field (usually nzb)
     
    14781479!--                Hence exit loop of output levels.
    14791480                   IF ( two_d )  THEN
    1480                       two_d = .FALSE.
     1481                      IF ( netcdf_data_format < 5 )  two_d = .FALSE.
    14811482                      EXIT loop1
    14821483                   ENDIF
     
    19361937                   CASE ( 'xy' )
    19371938                      IF ( two_d ) THEN
    1938                          iis = 1
     1939                         nis = 1
     1940                         two_d = .FALSE.
    19391941                      ELSE
    1940                          iis = is-1
     1942                         nis = ns
    19411943                      ENDIF
    19421944!
     
    19471949                                                 id_var_do2d(av,if),           &
    19481950                                                 local_2d_sections(nxl:nxr+1,  &
    1949                                                     nys:nyn,1:ns),             &
     1951                                                    nys:nyn,1:nis),            &
    19501952                                                 start = (/ nxl+1, nys+1, 1,   &
    19511953                                                    do2d_xy_time_count(av) /), &
    19521954                                                 count = (/ nxr-nxl+2,         &
    1953                                                             nyn-nys+1, ns, 1   &
     1955                                                            nyn-nys+1, nis, 1  &
    19541956                                                          /) )
    19551957                      ELSEIF ( nxr /= nx  .AND.  nyn == ny )  THEN
     
    19571959                                                 id_var_do2d(av,if),           &
    19581960                                                 local_2d_sections(nxl:nxr,    &
    1959                                                     nys:nyn+1,1:ns),           &
     1961                                                    nys:nyn+1,1:nis),          &
    19601962                                                 start = (/ nxl+1, nys+1, 1,   &
    19611963                                                    do2d_xy_time_count(av) /), &
    19621964                                                 count = (/ nxr-nxl+1,         &
    1963                                                             nyn-nys+2, ns, 1   &
     1965                                                            nyn-nys+2, nis, 1  &
    19641966                                                          /) )
    19651967                      ELSEIF ( nxr == nx  .AND.  nyn == ny )  THEN
     
    19671969                                                 id_var_do2d(av,if),           &
    19681970                                                 local_2d_sections(nxl:nxr+1,  &
    1969                                                     nys:nyn+1,1:ns),           &
     1971                                                    nys:nyn+1,1:nis),          &
    19701972                                                 start = (/ nxl+1, nys+1, 1,   &
    19711973                                                    do2d_xy_time_count(av) /), &
    19721974                                                 count = (/ nxr-nxl+2,         &
    1973                                                             nyn-nys+2, ns, 1   &
     1975                                                            nyn-nys+2, nis, 1  &
    19741976                                                          /) )
    19751977                      ELSE
     
    19771979                                                 id_var_do2d(av,if),           &
    19781980                                                 local_2d_sections(nxl:nxr,    &
    1979                                                     nys:nyn,1:ns),             &
     1981                                                    nys:nyn,1:nis),            &
    19801982                                                 start = (/ nxl+1, nys+1, 1,   &
    19811983                                                    do2d_xy_time_count(av) /), &
    19821984                                                 count = (/ nxr-nxl+1,         &
    1983                                                             nyn-nys+1, ns, 1   &
     1985                                                            nyn-nys+1, nis, 1  &
    19841986                                                          /) )
    19851987                      ENDIF   
Note: See TracChangeset for help on using the changeset viewer.