Changeset 3641


Ignore:
Timestamp:
Dec 23, 2018 10:10:01 PM (3 years ago)
Author:
knoop
Message:

Small change to gust_mod interface data_output calls

Location:
palm/trunk/SOURCE
Files:
2 edited

Legend:

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

    r3635 r3641  
    393393!> Subroutine defining 2D output variables
    394394!------------------------------------------------------------------------------!
    395     SUBROUTINE gust_data_output_2d( av, variable, found, grid, local_pf,       &
    396                                     two_d, nzb_do, nzt_do )
    397 
    398 
    399        IMPLICIT NONE
    400 
    401        CHARACTER (LEN=*) ::  grid     !<
    402        CHARACTER (LEN=*) ::  variable !<
    403 
    404        INTEGER(iwp) ::  av     !< flag to control data output of instantaneous or time-averaged data
    405        INTEGER(iwp) ::  nzb_do !< lower limit of the data output (usually 0)
    406        INTEGER(iwp) ::  nzt_do !< vertical upper limit of the data output (usually nz_do3d)
    407 
    408        LOGICAL      ::  found !<
    409        LOGICAL      ::  two_d !< flag parameter that indicates 2D variables (horizontal cross sections)
    410 
    411        REAL(wp) ::  fill_value = -999.0_wp    !< value for the _FillValue attribute
    412 
    413        REAL(wp), DIMENSION(nxl:nxr,nys:nyn,nzb_do:nzt_do) ::  local_pf !<
     395    SUBROUTINE gust_data_output_2d( av, variable, found, grid, mode, local_pf, &
     396                                    two_d, nzb_do, nzt_do, fill_value )
     397
     398
     399       IMPLICIT NONE
     400
     401       CHARACTER (LEN=*), INTENT(INOUT) ::  grid       !< name of vertical grid
     402       CHARACTER (LEN=*), INTENT(IN) ::  mode       !< either 'xy', 'xz' or 'yz'
     403       CHARACTER (LEN=*), INTENT(IN) ::  variable   !< name of variable
     404
     405       INTEGER(iwp), INTENT(IN) ::  av        !< flag for (non-)average output
     406       INTEGER(iwp), INTENT(IN) ::  nzb_do    !< vertical output index (bottom)
     407       INTEGER(iwp), INTENT(IN) ::  nzt_do    !< vertical output index (top)
     408
     409       LOGICAL, INTENT(INOUT) ::  found   !< flag if output variable is found
     410       LOGICAL, INTENT(INOUT) ::  two_d !< flag parameter that indicates 2D variables (horizontal cross sections)
     411
     412       REAL(wp), INTENT(IN) ::  fill_value !< value for the _FillValue attribute
     413
     414       REAL(wp), DIMENSION(nxl:nxr,nys:nyn,nzb_do:nzt_do), INTENT(INOUT) ::  local_pf !< local
     415          !< array to which output data is resorted to
    414416
    415417
     
    423425!> Subroutine defining 3D output variables
    424426!------------------------------------------------------------------------------!
    425     SUBROUTINE gust_data_output_3d( av, variable, found, local_pf, nzb_do, nzt_do )
    426 
    427 
    428        IMPLICIT NONE
    429 
    430        CHARACTER (LEN=*) ::  variable !<
    431 
    432        INTEGER(iwp) ::  av    !<
    433        INTEGER(iwp) ::  nzb_do !< lower limit of the data output (usually 0)
    434        INTEGER(iwp) ::  nzt_do !< vertical upper limit of the data output (usually nz_do3d)
    435 
    436        LOGICAL      ::  found !<
    437 
    438        REAL(wp) ::  fill_value = -999.0_wp    !< value for the _FillValue attribute
    439 
    440        REAL(sp), DIMENSION(nxl:nxr,nys:nyn,nzb_do:nzt_do) ::  local_pf !<
     427    SUBROUTINE gust_data_output_3d( av, variable, found, local_pf, fill_value, nzb_do, nzt_do )
     428
     429
     430       IMPLICIT NONE
     431
     432       CHARACTER (LEN=*), INTENT(IN) ::  variable   !< name of variable
     433
     434       INTEGER(iwp), INTENT(IN) ::  av        !< flag for (non-)average output
     435       INTEGER(iwp), INTENT(IN) ::  nzb_do    !< lower limit of the data output (usually 0)
     436       INTEGER(iwp), INTENT(IN) ::  nzt_do    !< vertical upper limit of the data output (usually nz_do3d)
     437
     438       LOGICAL, INTENT(INOUT) ::  found     !< flag if output variable is found
     439
     440       REAL(wp), INTENT(IN) ::  fill_value !< value for the _FillValue attribute
     441
     442       REAL(sp), DIMENSION(nxl:nxr,nys:nyn,nzb_do:nzt_do), INTENT(INOUT) ::  local_pf   !< local
     443          !< array to which output data is resorted to
    441444
    442445
  • palm/trunk/SOURCE/module_interface.f90

    r3637 r3641  
    695695   CHARACTER (LEN=*), INTENT(IN)  ::  variable !< variable name
    696696   LOGICAL,           INTENT(OUT) ::  found    !< flag if output variable is found
    697    CHARACTER (LEN=*), INTENT(OUT) ::  grid     !< name of vertical grid
     697   CHARACTER (LEN=*), INTENT(INOUT) ::  grid     !< name of vertical grid
    698698   CHARACTER (LEN=*), INTENT(IN)  ::  mode     !< either 'xy', 'xz' or 'yz'
    699699   LOGICAL,           INTENT(OUT) ::  two_d    !< flag for 2D variables
     
    725725   IF ( .NOT. found  .AND.  gust_module_enabled )  THEN
    726726      CALL gust_data_output_2d(                                                &
    727               av, variable, found, grid, local_pf, two_d, nzb_do, nzt_do      &
     727              av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do, fill_value &
    728728           )
    729729   ENDIF
     
    799799
    800800   IF ( .NOT. found  .AND.  gust_module_enabled )  THEN
    801       CALL gust_data_output_3d( av, variable, found, local_pf, nzb_do, nzt_do )
     801      CALL gust_data_output_3d( av, variable, found, local_pf, fill_value, nzb_do, nzt_do )
    802802      resorted = .TRUE.
    803803   ENDIF
Note: See TracChangeset for help on using the changeset viewer.