Changeset 411 for palm/trunk/SOURCE


Ignore:
Timestamp:
Dec 11, 2009 2:15:58 PM (15 years ago)
Author:
heinze
Message:

Large scale vertical motion (subsidence/ascent) can be applied to the prognostic equation for the potential temperature

Location:
palm/trunk/SOURCE
Files:
1 added
9 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/CURRENT_MODIFICATIONS

    r407 r411  
    55(check_parameters, init_3d_model, parin)
    66
    7 check parameters, init_3d_model, parin
     7Large scale vertical motion (subsidence/ascent) can be applied to the
     8prognostic equation for the potential temperature. (check_parameters, header,
     9Makefile, modules, parin, prognostic_equations, read_var_list, subsidence,
     10write_var_list)
     11
     12check parameters, header, init_3d_model, Makefile, modules, parin prognostic equations, read_var_list, subsidence, write_var_list
    813
    914Changed:
  • palm/trunk/SOURCE/Makefile

    r410 r411  
    55# -----------------
    66# +set_particle_attributes, set_slicer_attributes_dvrp
     7# +subsidence
    78#
    89# Branch revisions:
     
    8182        set_particle_attributes.f90 set_slicer_attributes_dvrp.f90 \
    8283        singleton.f90 sor.f90 spline_x.f90 \
    83         spline_y.f90 spline_z.f90 sum_up_3d_data.f90 surface_coupler.f90 \
     84        spline_y.f90 spline_z.f90 subsidence.f90 \
     85        sum_up_3d_data.f90 surface_coupler.f90 \
    8486        swap_timelevel.f90 temperton_fft.f90 time_integration.f90 \
    8587        time_to_string.f90 timestep.f90 timestep_scheme_steering.f90 \
     
    124126        set_particle_attributes.o set_slicer_attributes_dvrp.o \
    125127        singleton.o sor.o spline_x.o spline_y.o \
    126         spline_z.o sum_up_3d_data.o surface_coupler.o swap_timelevel.o \
     128        spline_z.o subsidence.o sum_up_3d_data.o surface_coupler.o \
     129        swap_timelevel.o \
    127130        temperton_fft.o time_integration.o time_to_string.o \
    128131        timestep.o timestep_scheme_steering.o transpose.o \
     
    188191check_for_restart.o: modules.o
    189192check_open.o: modules.o
    190 check_parameters.o: modules.o
     193check_parameters.o: modules.o subsidence.o
    191194close_file.o: modules.o
    192195compute_vpt.o: modules.o
     
    260263        eqn_state_seawater.o impact_of_latent_heat.o \
    261264        plant_canopy_model.o production_e.o \
    262         user_actions.o
     265        subsidence.o user_actions.o
    263266random_gauss.o: random_function.o
    264267read_3d_binary.o: modules.o random_function.o
     
    272275spline_y.o: modules.o
    273276spline_z.o: modules.o
     277subsidence.o: modules.o
    274278sum_up_3d_data.o: modules.o
    275279surface_coupler.o: modules.o
  • palm/trunk/SOURCE/check_parameters.f90

    r410 r411  
    55! -----------------
    66! Enabled passive scalar/humidity wall fluxes for non-flat topography
     7! Initialization of large scale vertical motion (subsidence/ascent)
    78!
    89! Branch revisions:
     
    114115    USE pegrid
    115116    USE profil_parameter
     117    USE subsidence_mod
    116118    USE statistics
    117119    USE transpose_indices
     
    983985         
    984986    ENDIF
     987
     988!
     989!-- Initialize large scale subsidence if required
     990    IF ( ws_vertical_gradient_level(1) /= -9999999.9 )  THEN
     991       large_scale_subsidence = .TRUE.
     992       CALL init_w_subsidence
     993    END IF
     994 
    985995             
    986996!
  • palm/trunk/SOURCE/header.f90

    r410 r411  
    44! Current revisions:
    55! -----------------
     6! +large scale vertical motion (subsidence/ascent)
    67!
    78!
     
    8485! end of the run, then writing additional information about CPU-usage on file
    8586! header.
    86 !------------------------------------------------------------------------------!
     87!-----------------------------------------------------------------------------!
    8788
    8889    USE arrays_3d
     
    9697    USE particle_attributes
    9798    USE pegrid
     99    USE subsidence_mod
    98100    USE spectrum
    99101
     
    323325          WRITE ( io, 152 )  dpdxy, dp_level_b, '.'
    324326       ENDIF
     327    ENDIF
     328    IF ( large_scale_subsidence )  THEN
     329        WRITE ( io, 153 )
     330        WRITE ( io, 154 )
    325331    ENDIF
    326332    WRITE ( io, 99 )
     
    13571363
    13581364       WRITE ( io, 425 )  TRIM( coordinates ), TRIM( temperatures ), &
     1365                          TRIM( gradients ), TRIM( slices )
     1366    ENDIF
     1367
     1368!
     1369!-- Profile for the large scale vertial velocity
     1370!-- Building output strings, starting with surface value
     1371    IF ( large_scale_subsidence )  THEN
     1372       temperatures = '   0.0'
     1373       gradients = '------'
     1374       slices = '     0'
     1375       coordinates = '   0.0'
     1376       i = 1
     1377       DO  WHILE ( ws_vertical_gradient_level_ind(i) /= -9999 )
     1378
     1379          WRITE (coor_chr,'(E10.2,7X)')  &
     1380                                w_subs(ws_vertical_gradient_level_ind(i))
     1381          temperatures = TRIM( temperatures ) // ' ' // TRIM( coor_chr )
     1382
     1383          WRITE (coor_chr,'(E10.2,7X)')  ws_vertical_gradient(i)
     1384          gradients = TRIM( gradients ) // ' ' // TRIM( coor_chr )
     1385
     1386          WRITE (coor_chr,'(I10,7X)')  ws_vertical_gradient_level_ind(i)
     1387          slices = TRIM( slices ) // ' ' // TRIM( coor_chr )
     1388
     1389          WRITE (coor_chr,'(F10.2,7X)')  ws_vertical_gradient_level(i)
     1390          coordinates = TRIM( coordinates ) // ' '  // TRIM( coor_chr )
     1391
     1392          i = i + 1
     1393       ENDDO
     1394
     1395       WRITE ( io, 426 )  TRIM( coordinates ), TRIM( temperatures ), &
    13591396                          TRIM( gradients ), TRIM( slices )
    13601397    ENDIF
     
    15681605           /'     ',2(1X,E12.5),'Pa/m in x/y direction', &
    15691606           /'     starting from dp_level_b =', F8.3, 'm', A /)
     1607153 FORMAT (' --> Large-scale vertical motion is used in the ', &
     1608                  'prognostic equation for')
     1609154 FORMAT ('     the potential temperature')
    15701610200 FORMAT (//' Run time and time step information:'/ &
    15711611             ' ----------------------------------'/)
     
    18141854            '       Gradient:   ',A,'  psu/100m'/ &
    18151855            '       Gridpoint:  ',A)
     1856426 FORMAT (/'    Characteristic levels of the subsidence/ascent profile:'// &
     1857            '       Height:      ',A,'  m'/ &
     1858            '       w_subs:      ',A,'  m/s'/ &
     1859            '       Gradient:    ',A,'  (m/s)/100m'/ &
     1860            '       Gridpoint:   ',A)
    18161861450 FORMAT (//' LES / Turbulence quantities:'/ &
    18171862              ' ---------------------------'/)
  • palm/trunk/SOURCE/modules.f90

    r410 r411  
    88! initial data assignments to some dvrp arrays changed due to error messages
    99! from gfortran compiler
     10! +large_scale_subsidence, ws_vertical_gradient, ws_vertical_gradient_level,
     11! ws_vertical_gradient_level_ind, w_subs
    1012!
    1113! Branch revisions:
     
    155157          ddzu, dd2zu, dzu, ddzw, dzw, hyp, inflow_damping_factor, km_damp_x,  &
    156158          km_damp_y, lad, l_grid, pt_init, q_init, rdf, sa_init, ug, u_init,   &
    157           u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, zu, zw
     159          u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, w_subs, zu, zw
    158160
    159161    REAL, DIMENSION(:,:), ALLOCATABLE ::                                       &
     
    398400                section_xz(100) = -9999, section_yz(100) = -9999, &
    399401                ug_vertical_gradient_level_ind(10) = -9999, &
    400                 vg_vertical_gradient_level_ind(10) = -9999
     402                vg_vertical_gradient_level_ind(10) = -9999, &
     403                ws_vertical_gradient_level_ind(10) = -9999
    401404
    402405    INTEGER, DIMENSION(:), ALLOCATABLE ::  grid_level_count
     
    426429                humidity = .FALSE., humidity_remote = .FALSE., &
    427430                inflow_l = .FALSE., inflow_n = .FALSE., &
    428                 inflow_r = .FALSE., inflow_s = .FALSE., iso2d_output = .FALSE.,&
     431                inflow_r = .FALSE., inflow_s = .FALSE., &
     432                iso2d_output = .FALSE., large_scale_subsidence = .FALSE., &
    429433                mg_switch_to_pe0 = .FALSE., &
    430434                netcdf_output = .FALSE., netcdf_64bit = .FALSE., &
     
    545549             volume_flow_initial(1:2) = 0.0, wall_heatflux(0:4) = 0.0, &
    546550             wall_humidityflux(0:4) = 0.0, wall_qflux(0:4) = 0.0, &
    547              wall_salinityflux(0:4) = 0.0, wall_scalarflux(0:4) = 0.0
     551             wall_salinityflux(0:4) = 0.0, wall_scalarflux(0:4) = 0.0, &
     552             ws_vertical_gradient(10) = 0.0, &
     553             ws_vertical_gradient_level(10) = -9999999.9
    548554
    549555    REAL, DIMENSION(:), ALLOCATABLE ::  dp_smooth_factor
  • palm/trunk/SOURCE/parin.f90

    r410 r411  
    55! -----------------
    66! +wall_humidityflux, wall_scalarflux
     7! +ws_vertical_gradient, ws_vertical_gradient_level
    78!
    89! Branch revisions:
     
    137138             use_upstream_for_tke, vg_surface, vg_vertical_gradient, &
    138139             vg_vertical_gradient_level, v_bulk, wall_adjustment, &
    139              wall_heatflux, wall_humidityflux, wall_scalarflux
     140             wall_heatflux, wall_humidityflux, wall_scalarflux, &
     141             ws_vertical_gradient, ws_vertical_gradient_level
    140142
    141143
  • palm/trunk/SOURCE/prognostic_equations.f90

    r407 r411  
    44! Actual revisions:
    55! -----------------
     6! add call of subsidence in the prognostic equation for
     7! the potential temperature
    68!
    79!
     
    9496    USE plant_canopy_model_mod
    9597    USE production_e_mod
     98    USE subsidence_mod
    9699    USE user_actions_mod
    97100
     
    452455          IF ( plant_canopy .AND. ( cthf /= 0.0 ) ) THEN
    453456             CALL plant_canopy_model( i, j, 4 )
     457          ENDIF
     458
     459!
     460!--       If required compute influence of large-scale subsidence/ascent
     461          IF ( large_scale_subsidence ) THEN
     462             CALL subsidence ( i, j, tend, pt, pt_init )
    454463          ENDIF
    455464
     
    10941103          ENDIF
    10951104
     1105
     1106!--       If required compute influence of large-scale subsidence/ascent
     1107          IF ( large_scale_subsidence ) THEN
     1108             CALL subsidence ( i, j, tend, pt, pt_init )
     1109          ENDIF
     1110
     1111
    10961112          CALL user_actions( i, j, 'pt-tendency' )
    10971113
     
    16801696    ENDIF
    16811697
     1698!--If required compute influence of large-scale subsidence/ascent
     1699   IF ( large_scale_subsidence ) THEN
     1700      CALL subsidence ( tend, pt, pt_init )
     1701   ENDIF
    16821702
    16831703    CALL user_actions( 'pt-tendency' )
  • palm/trunk/SOURCE/read_var_list.f90

    r392 r411  
    44! Current revisions:
    55! -----------------
    6 !
     6! +large_scale_subsidence, ws_vertical_gradient, ws_vertical_gradient_level,
     7! ws_vertical_gradient_level_ind
    78!
    89! Former revisions:
     
    346347          CASE ( 'last_dt_change' )
    347348             READ ( 13 )  last_dt_change
     349           CASE ( 'large_scale_subsidence' )
     350             READ ( 13 )  large_scale_subsidence
    348351          CASE ( 'leaf_surface_concentration' )
    349352             READ ( 13 )  leaf_surface_concentration
     
    593596          CASE ( 'wall_adjustment' )
    594597             READ ( 13 )  wall_adjustment
     598          CASE ( 'ws_vertical_gradient' )
     599             READ ( 13 )  ws_vertical_gradient
     600          CASE ( 'ws_vertical_gradient_level' )
     601             READ ( 13 )  ws_vertical_gradient_level
     602          CASE ( 'ws_vertical_gradient_level_ind' )
     603             READ ( 13 )  ws_vertical_gradient_level_ind
    595604          CASE ( 'w_max' )
    596605             READ ( 13 )  w_max
  • palm/trunk/SOURCE/write_var_list.f90

    r392 r411  
    44! Actual revisions:
    55! -----------------
    6 !
     6! +large_scale_subsidence, ws_vertical_gradient, ws_vertical_gradient_level,
     7! ws_vertical_gradient_level_ind
    78!
    89! Former revisions:
     
    267268    WRITE ( 14 )  'last_dt_change                '
    268269    WRITE ( 14 )  last_dt_change
     270    WRITE ( 14 )  'large_scale_subsidence        '
     271    WRITE ( 14 )  large_scale_subsidence
    269272    WRITE ( 14 )  'leaf_surface_concentration    '
    270273    WRITE ( 14 )  leaf_surface_concentration
     
    511514    WRITE ( 14 )  'wall_adjustment               '
    512515    WRITE ( 14 )  wall_adjustment
     516    WRITE ( 14 )  'ws_vertical_gradient          '
     517    WRITE ( 14 )  ws_vertical_gradient
     518    WRITE ( 14 )  'ws_vertical_gradient_level    '
     519    WRITE ( 14 )  ws_vertical_gradient_level
     520    WRITE ( 14 )  'ws_vertical_gradient_level_ind'
     521    WRITE ( 14 )  ws_vertical_gradient_level_ind
    513522    WRITE ( 14 )  'w_max                         '
    514523    WRITE ( 14 )  w_max
Note: See TracChangeset for help on using the changeset viewer.