Changeset 3404
- Timestamp:
- Oct 23, 2018 1:29:11 PM (6 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_3d_model.f90
r3347 r3404 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Set bottom boundary condition for geostrophic wind components in inifor 28 ! initialization 29 ! 30 ! 3347 2018-10-15 14:21:08Z suehring 27 31 ! - Separate offline nesting from large_scale_nudging_mod 28 32 ! - Improve the synthetic turbulence generator … … 1214 1218 vg(:) = init_3d%vg_init(:) 1215 1219 ENDIF 1216 1220 ! 1221 !-- Set bottom and top boundary condition for geostrophic wind 1217 1222 ug(nzt+1) = ug(nzt) 1218 1223 vg(nzt+1) = vg(nzt) 1224 ug(nzb) = ug(nzb+1) 1225 vg(nzb) = vg(nzb+1) 1219 1226 ! 1220 1227 !-- Set inital w to 0 -
palm/trunk/SOURCE/nesting_offl_mod.f90
r3364 r3404 25 25 ! ----------------- 26 26 ! 27 ! Consider time-dependent geostrophic wind components in offline nesting 28 ! 29 ! 27 30 ! Initial Revision: 28 31 ! - separate offline nesting from large_scale_nudging_mod … … 656 659 ! 657 660 !-- Update geostrophic wind components from dynamic input file. 658 !-- Note, at the moment this is not available. As a workaround, use reference 659 !-- profiles derived from the boundary values. 660 !-- This will be revised as soon as geostrophic wind components are provided by 661 !-- dynamic input file. 662 ug = u_init 663 vg = v_init 661 DO k = nzb+1, nzt 662 ug(k) = interpolate_in_time( nest_offl%ug(0,k), nest_offl%ug(1,k), & 663 fac_dt ) 664 vg(k) = interpolate_in_time( nest_offl%vg(0,k), nest_offl%vg(1,k), & 665 fac_dt ) 666 ENDDO 667 ug(nzt+1) = ug(nzt) 668 vg(nzt+1) = vg(nzt) 664 669 665 670 CALL cpu_log( log_point(58), 'offline nesting', 'stop' ) … … 959 964 960 965 !-- Allocate arrays for geostrophic wind components. Arrays will 961 !-- incorporate 2 time levels in order to interpolate in between. Please 962 !-- note, forcing using geostrophic wind components is only required in 963 !-- case of cyclic boundary conditions. 964 ! IF ( bc_lr_cyc .AND. bc_ns_cyc ) THEN 965 ! ALLOCATE( nest_offl%ug(0:1,nzb:nzt+1) ) 966 ! ALLOCATE( nest_offl%vg(0:1,nzb:nzt+1) ) 967 ! ENDIF 966 !-- incorporate 2 time levels in order to interpolate in between. 967 ALLOCATE( nest_offl%ug(0:1,1:nzt) ) 968 ALLOCATE( nest_offl%vg(0:1,1:nzt) ) 968 969 ! 969 970 !-- Allocate arrays for reading boundary values. Arrays will incorporate 2 … … 1008 1009 CALL netcdf_data_input_offline_nesting 1009 1010 ! 1010 !-- Initialize boundary data 1011 !-- Initialize boundary data. 1011 1012 IF ( bc_dirichlet_l ) THEN 1012 1013 u(nzb+1:nzt,nys:nyn,0) = nest_offl%u_left(0,nzb+1:nzt,nys:nyn) … … 1046 1047 ENDIF 1047 1048 ! 1049 !-- Initialize geostrophic wind components. Actually this is already done in 1050 !-- init_3d_model when initializing_action = 'inifor', however, in speical 1051 !-- case of user-defined initialization this will be done here again, in 1052 !-- order to have a consistent initialization. 1053 ug(nzb+1:nzt) = nest_offl%ug(0,nzb+1:nzt) 1054 vg(nzb+1:nzt) = nest_offl%vg(0,nzb+1:nzt) 1055 ! 1056 !-- Set bottom and top boundary condition for geostrophic wind components 1057 ug(nzt+1) = ug(nzt) 1058 vg(nzt+1) = vg(nzt) 1059 ug(nzb) = ug(nzb+1) 1060 vg(nzb) = vg(nzb+1) 1061 ! 1048 1062 !-- Initial calculation of the boundary layer depth from the prescribed 1049 1063 !-- boundary data. This is requiered for initialize the synthetic turbulence -
palm/trunk/SOURCE/netcdf_data_input_mod.f90
r3376 r3404 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Consider time-dependent geostrophic wind components in offline nesting 28 ! 29 ! 3376 2018-10-19 10:15:32Z suehring 27 30 ! Additional check for consistent building initialization implemented 28 31 ! … … 3088 3091 USE control_parameters, & 3089 3092 ONLY: bc_dirichlet_l, bc_dirichlet_n, bc_dirichlet_r, & 3090 bc_dirichlet_s, bc_lr_cyc, bc_ns_cyc, humidity,&3091 neutral, nesting_offline,time_since_reference_point3093 bc_dirichlet_s, humidity, neutral, nesting_offline, & 3094 time_since_reference_point 3092 3095 3093 3096 USE indices, & … … 3170 3173 nest_offl%tind_p = nest_offl%tind + 1 3171 3174 ! 3172 !-- Read geostrophic wind components. In case of forcing, this is only 3173 !-- required if cyclic boundary conditions are applied. 3174 IF ( bc_lr_cyc .AND. bc_ns_cyc ) THEN 3175 DO t = nest_offl%tind, nest_offl%tind_p 3176 ! CALL get_variable_pr( id_dynamic, 'tend_ug', t+1, & 3177 ! nest_offl%ug(t-nest_offl%tind,:) ) 3178 ! CALL get_variable_pr( id_dynamic, 'tend_vg', t+1, & 3179 ! nest_offl%ug(t-nest_offl%tind,:) ) 3180 CALL get_variable_pr( id_dynamic, 'ls_forcing_ug', t+1, & 3181 nest_offl%ug(t-nest_offl%tind,:) ) 3182 CALL get_variable_pr( id_dynamic, 'ls_forcing_vg', t+1, & 3183 nest_offl%ug(t-nest_offl%tind,:) ) 3184 ENDDO 3185 ENDIF 3175 !-- Read geostrophic wind components 3176 DO t = nest_offl%tind, nest_offl%tind_p 3177 CALL get_variable_pr( id_dynamic, 'ls_forcing_ug', t+1, & 3178 nest_offl%ug(t-nest_offl%tind,nzb+1:nzt) ) 3179 CALL get_variable_pr( id_dynamic, 'ls_forcing_vg', t+1, & 3180 nest_offl%vg(t-nest_offl%tind,nzb+1:nzt) ) 3181 ENDDO 3186 3182 ! 3187 3183 !-- Read data at lateral and top boundaries. Please note, at left and
Note: See TracChangeset
for help on using the changeset viewer.