Ignore:
Timestamp:
Oct 1, 2018 2:37:10 AM (6 years ago)
Author:
raasch
Message:

modularization of the ocean code

File:
1 edited

Legend:

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

    r3274 r3294  
    2525! -----------------
    2626! $Id$
     27! changes concerning modularization of ocean option
     28!
     29! 3274 2018-09-24 15:42:55Z knoop
    2730! Modularization of all bulk cloud physics code components
    2831!
     
    149152    USE control_parameters,                                                    &
    150153        ONLY:  air_chemistry, average_count_3d, doav, doav_n, land_surface,    &
    151                urban_surface, varnamelength
     154               ocean_mode, urban_surface, varnamelength
    152155
    153156    USE cpulog,                                                                &
     
    165168        ONLY:  lsm_3d_data_averaging
    166169
     170    USE ocean_mod,                                                             &
     171        ONLY:  ocean_3d_data_averaging
     172
    167173    USE radiation_model_mod,                                                   &
    168174        ONLY:  radiation, radiation_3d_data_averaging
     
    179185    IMPLICIT NONE
    180186
    181     INTEGER(iwp) ::  i  !< running index
    182     INTEGER(iwp) ::  ii !< running index
    183     INTEGER(iwp) ::  j  !< running index
    184     INTEGER(iwp) ::  k  !< running index
     187    INTEGER(iwp) ::  i   !< loop index
     188    INTEGER(iwp) ::  ii  !< loop index
     189    INTEGER(iwp) ::  j   !< loop index
     190    INTEGER(iwp) ::  k   !< loop index
    185191
    186192    CHARACTER (LEN=varnamelength) ::  trimvar  !< TRIM of output-variable string
     
    392398             ENDIF
    393399
    394           CASE ( 'rho_ocean' )
    395              IF ( ALLOCATED( rho_ocean_av ) ) THEN
    396                 DO  i = nxlg, nxrg
    397                    DO  j = nysg, nyng
    398                       DO  k = nzb, nzt+1
    399                          rho_ocean_av(k,j,i) = rho_ocean_av(k,j,i) / REAL( average_count_3d, KIND=wp )
    400                       ENDDO
    401                    ENDDO
    402                 ENDDO
    403              ENDIF
    404 
    405400          CASE ( 's' )
    406401             IF ( ALLOCATED( s_av ) ) THEN
     
    414409             ENDIF
    415410
    416           CASE ( 'sa' )
    417              IF ( ALLOCATED( sa_av ) ) THEN
    418                 DO  i = nxlg, nxrg
    419                    DO  j = nysg, nyng
    420                       DO  k = nzb, nzt+1
    421                          sa_av(k,j,i) = sa_av(k,j,i) / REAL( average_count_3d, KIND=wp )
    422                       ENDDO
    423                    ENDDO
    424                 ENDDO
    425              ENDIF
    426 
    427411         CASE ( 'shf*' )
    428412             IF ( ALLOCATED( shf_av ) ) THEN
     
    549533             ENDIF
    550534
     535          CASE ( 'usm_output' )
    551536!             
    552 !--       Block of urban surface model outputs   
    553           CASE ( 'usm_output' )
     537!--          Block of urban surface model outputs
    554538             CALL usm_average_3d_data( 'average', doav(ii) )
    555539
    556540          CASE DEFAULT
    557541!
    558 !--          Turbulence closure module
    559              CALL tcm_3d_data_averaging( 'average', doav(ii) )
    560 !
    561 !--          microphysics module quantities
     542!--          Averaging of data from other modules
     543             IF ( air_chemistry )  THEN
     544                CALL chem_3d_data_averaging( 'average', doav(ii) )
     545             ENDIF
     546
    562547             IF ( bulk_cloud_model )  THEN
    563548                CALL bcm_3d_data_averaging( 'average', doav(ii) )
    564549             ENDIF
    565 !
    566 !--          Land surface quantity
     550
     551             IF ( gust_module_enabled )  THEN
     552                CALL gust_3d_data_averaging( 'average', doav(ii) )
     553             ENDIF
     554
    567555             IF ( land_surface )  THEN
    568556                CALL lsm_3d_data_averaging( 'average', doav(ii) )
    569557             ENDIF
    570 !
    571 !--          Radiation quantity
     558
     559             IF ( ocean_mode )  THEN
     560                CALL ocean_3d_data_averaging( 'average', doav(ii) )
     561             ENDIF
     562
    572563             IF ( radiation )  THEN
    573564                CALL radiation_3d_data_averaging( 'average', doav(ii) )
    574565             ENDIF
    575 !
    576 !--          Gust module quantities
    577              IF ( gust_module_enabled )  THEN
    578                 CALL gust_3d_data_averaging( 'average', doav(ii) )
    579              ENDIF
    580 !
    581 !--          Chemistry quantity
    582              IF ( air_chemistry )  THEN
    583                 CALL chem_3d_data_averaging( 'average', doav(ii) )
    584              ENDIF
    585 !
    586 !--          User-defined quantity
     566
     567             CALL tcm_3d_data_averaging( 'average', doav(ii) )
     568!
     569!--          User-defined quantities
    587570             CALL user_3d_data_averaging( 'average', doav(ii) )
    588571
Note: See TracChangeset for help on using the changeset viewer.