Changeset 3837


Ignore:
Timestamp:
Mar 28, 2019 4:55:58 PM (5 years ago)
Author:
knoop
Message:

Added module_interface for prognostic_equations

Location:
palm/trunk/SOURCE
Files:
3 edited

Legend:

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

    r3767 r3837  
    8585       gust_header, &
    8686       gust_actions, &
     87       gust_prognostic_equations, &
    8788       gust_swap_timelevel, &
    8889       gust_3d_data_averaging, &
     
    137138    END INTERFACE gust_actions
    138139
     140    INTERFACE gust_prognostic_equations
     141       MODULE PROCEDURE gust_prognostic_equations
     142       MODULE PROCEDURE gust_prognostic_equations_ij
     143    END INTERFACE gust_prognostic_equations
     144
    139145    INTERFACE gust_swap_timelevel
    140146       MODULE PROCEDURE gust_swap_timelevel
     
    380386
    381387    END SUBROUTINE gust_actions_ij
     388
     389
     390!------------------------------------------------------------------------------!
     391! Description:
     392! ------------
     393!> Call for all grid points
     394!------------------------------------------------------------------------------!
     395    SUBROUTINE gust_prognostic_equations()
     396
     397!
     398!--    Next line is just to avoid compiler warnings about unused variables. You may remove it.
     399       IF ( dummy_logical )  idum = 1
     400
     401    END SUBROUTINE gust_prognostic_equations
     402
     403
     404!------------------------------------------------------------------------------!
     405! Description:
     406! ------------
     407!> Call for grid point i,j
     408!------------------------------------------------------------------------------!
     409    SUBROUTINE gust_prognostic_equations_ij( i, j, i_omp_start, tn )
     410
     411
     412       INTEGER(iwp), INTENT(IN) ::  i            !< grid index in x-direction
     413       INTEGER(iwp), INTENT(IN) ::  j            !< grid index in y-direction
     414       INTEGER(iwp), INTENT(IN) ::  i_omp_start  !< first loop index of i-loop in prognostic_equations
     415       INTEGER(iwp), INTENT(IN) ::  tn           !< task number of openmp task
     416
     417!
     418!--    Next line is just to avoid compiler warnings about unused variables. You may remove it.
     419       IF ( dummy_logical )  idum = i + j + i_omp_start + tn
     420
     421    END SUBROUTINE gust_prognostic_equations_ij
    382422
    383423
  • palm/trunk/SOURCE/module_interface.f90

    r3806 r3837  
    185185               gust_header,                                                    &
    186186               gust_actions,                                                   &
     187               gust_prognostic_equations,                                      &
    187188               gust_swap_timelevel,                                            &
    188189               gust_3d_data_averaging,                                         &
     
    372373       module_interface_header,                                                &
    373374       module_interface_actions,                                               &
     375       module_interface_prognostic_equations,                                  &
    374376       module_interface_swap_timelevel,                                        &
    375377       module_interface_3d_data_averaging,                                     &
     
    432434       MODULE PROCEDURE module_interface_actions_ij
    433435    END INTERFACE module_interface_actions
     436
     437    INTERFACE module_interface_prognostic_equations
     438       MODULE PROCEDURE module_interface_prognostic_equations
     439       MODULE PROCEDURE module_interface_prognostic_equations_ij
     440    END INTERFACE module_interface_prognostic_equations
    434441
    435442    INTERFACE module_interface_swap_timelevel
     
    894901! Description:
    895902! ------------
     903!> Compute module-specific prognostic_equations (cache-optimized)
     904!------------------------------------------------------------------------------!
     905 SUBROUTINE module_interface_prognostic_equations()
     906
     907
     908    IF ( gust_module_enabled )  CALL gust_prognostic_equations()
     909
     910
     911 END SUBROUTINE module_interface_prognostic_equations
     912
     913
     914!------------------------------------------------------------------------------!
     915! Description:
     916! ------------
     917!> Compute module-specific prognostic_equations (vector-optimized)
     918!------------------------------------------------------------------------------!
     919 SUBROUTINE module_interface_prognostic_equations_ij( i, j, i_omp_start, tn )
     920
     921
     922    INTEGER(iwp), INTENT(IN) ::  i            !< grid index in x-direction
     923    INTEGER(iwp), INTENT(IN) ::  j            !< grid index in y-direction
     924    INTEGER(iwp), INTENT(IN) ::  i_omp_start  !< first loop index of i-loop in prognostic_equations
     925    INTEGER(iwp), INTENT(IN) ::  tn           !< task number of openmp task
     926
     927
     928    IF ( gust_module_enabled )  CALL gust_prognostic_equations( i, j, i_omp_start, tn )
     929
     930
     931 END SUBROUTINE module_interface_prognostic_equations_ij
     932
     933
     934!------------------------------------------------------------------------------!
     935! Description:
     936! ------------
    896937!> Swap the timelevel pointers for module-specific arrays
    897938!------------------------------------------------------------------------------!
  • palm/trunk/SOURCE/prognostic_equations.f90

    r3833 r3837  
    432432
    433433    USE module_interface,                                                      &
    434         ONLY:  module_interface_actions
     434        ONLY:  module_interface_actions, &
     435               module_interface_prognostic_equations
    435436
    436437    USE ocean_mod,                                                             &
     
    14201421!--       Calculate prognostic equations for turbulence closure
    14211422          CALL tcm_prognostic_equations( i, j, i_omp_start, tn )
     1423!
     1424!--       Calculate prognostic equations for all other modules
     1425          CALL module_interface_prognostic_equations( i, j, i_omp_start, tn )
    14221426
    14231427!
     
    26422646!-- Calculate prognostic equations for turbulence closure
    26432647    CALL tcm_prognostic_equations()
     2648!
     2649!-- Calculate prognostic equations for all other modules
     2650    CALL module_interface_prognostic_equations()
    26442651
    26452652!
Note: See TracChangeset for help on using the changeset viewer.