Changeset 4129 for palm/trunk/SOURCE/surface_data_output_mod.f90
- Timestamp:
- Jul 31, 2019 12:56:07 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/surface_data_output_mod.f90
r4029 r4129 25 25 ! ----------------- 26 26 ! $Id$ 27 ! - bugfix: corrected loop over horizontal default surfaces 28 ! - change default setting of to_vtk and to_netcdf 29 ! 30 ! 4029 2019-06-14 14:04:35Z raasch 27 31 ! netcdf variable NF90_NOFILL is used as argument instead of "1" in call to NF90_DEF_VAR_FILL 28 ! 32 ! 29 33 ! 3881 2019-04-10 09:31:22Z suehring 30 ! Check for zero output timestep (not allowed in parallel NetCDF output mode) 31 ! 34 ! Check for zero output timestep (not allowed in parallel NetCDF output mode) 35 ! 32 36 ! 3817 2019-03-26 13:53:57Z suehring 33 37 ! Correct output coordinates of vertical surface elements 34 ! 38 ! 35 39 ! 3766 2019-02-26 16:23:41Z raasch 36 40 ! bugfix in surface_data_output_rrd_local (variable k removed) 37 ! 41 ! 38 42 ! 3762 2019-02-25 16:54:16Z suehring 39 ! Remove unused variables and add preprocessor directives for variables that 40 ! are used only when netcdf4 is defined 41 ! 43 ! Remove unused variables and add preprocessor directives for variables that 44 ! are used only when netcdf4 is defined 45 ! 42 46 ! 3745 2019-02-15 18:57:56Z suehring 43 47 ! Output of waste_heat and innermost wall flux from indoor model 44 ! 48 ! 45 49 ! 3744 2019-02-15 18:38:58Z suehring 46 ! Add azimuth and zenith to output file; set long-name attributes; 50 ! Add azimuth and zenith to output file; set long-name attributes; 47 51 ! clean-up coding layout 48 ! 52 ! 49 53 ! 3735 2019-02-12 09:52:40Z suehring 50 54 ! - Split initialization into initialization of arrays and further initialization … … 196 200 197 201 LOGICAL :: first_output(0:1) = .FALSE. !< true if first output was already called 198 LOGICAL :: to_netcdf = . TRUE.!< flag indicating parallel NetCDF output199 LOGICAL :: to_vtk = . TRUE.!< flag indicating binary surface-data output that can be further202 LOGICAL :: to_netcdf = .FALSE. !< flag indicating parallel NetCDF output 203 LOGICAL :: to_vtk = .FALSE. !< flag indicating binary surface-data output that can be further 200 204 !< processed to VTK format 201 205 … … 323 327 324 328 IMPLICIT NONE 325 329 326 330 #if defined( __netcdf4_parallel ) 327 331 CHARACTER (LEN=100) :: filename !< name of output file … … 600 604 601 605 DO l = 0, 1 602 DO m = 1, surf_def_h( 0)%ns606 DO m = 1, surf_def_h(l)%ns 603 607 ! 604 608 !-- Determine the indices of the respective grid cell inside the 605 609 !-- topography. 606 i = surf_def_h( 0)%i(m) + surf_def_h(0)%ioff607 j = surf_def_h( 0)%j(m) + surf_def_h(0)%joff608 k = surf_def_h( 0)%k(m) + surf_def_h(0)%koff610 i = surf_def_h(l)%i(m) + surf_def_h(l)%ioff 611 j = surf_def_h(l)%j(m) + surf_def_h(l)%joff 612 k = surf_def_h(l)%k(m) + surf_def_h(l)%koff 609 613 ! 610 614 !-- Check if the vertices that define the surface element are … … 2802 2806 2803 2807 ENDIF 2804 2808 2805 2809 CASE ( 'uvw1' ) 2806 2810 ! … … 3789 3793 surf_lsm_v(3)%uvw_abs, & 3790 3794 surf_usm_v(3)%uvw_abs, n_out ) 3791 3795 3792 3796 CASE ( 'waste_heat' ) 3793 3797 CALL surface_data_output_sum_up( surf_def_h(0)%waste_heat, & … … 3807 3811 surf_lsm_v(3)%waste_heat, & 3808 3812 surf_usm_v(3)%waste_heat, n_out ) 3809 3813 3810 3814 CASE ( 'im_hf' ) 3811 3815 CALL surface_data_output_sum_up( surf_def_h(0)%iwghf_eb, & … … 4294 4298 INTEGER(iwp) :: ilen !< string length 4295 4299 INTEGER(iwp) :: n_out !< running index for number of output variables 4296 4300 ! 4301 !-- Check if any output file type is selected 4302 IF ( .NOT. to_vtk .AND. .NOT. to_netcdf ) THEN 4303 WRITE( message_string, * ) & 4304 'no output file type selected for surface-data output!&' // & 4305 'Set at least either "to_vtk" or "to_netcdf" to .TRUE.' 4306 CALL message( 'surface_data_output_check_parameters', & 4307 'PA0662', 1, 2, 0, 6, 0 ) 4308 ENDIF 4297 4309 ! 4298 4310 !-- Check the average interval … … 4324 4336 ! 4325 4337 !-- In case of parallel NetCDF output the output timestep must not be zero. 4326 !-- This is because the number of requiered output timesteps is 4327 !-- pre-calculated, which is not possible with zero output timestep. 4338 !-- This is because the number of requiered output timesteps is 4339 !-- pre-calculated, which is not possible with zero output timestep. 4328 4340 IF ( netcdf_data_format > 4 ) THEN 4329 4341 IF ( dt_dosurf == 0.0_wp ) THEN … … 4334 4346 1, 2, 0, 6, 0 ) 4335 4347 ENDIF 4336 4348 4337 4349 IF ( dt_dosurf_av == 0.0_wp ) THEN 4338 4350 message_string = 'dt_dosurf_av = 0.0 while using a ' // & … … 4434 4446 CASE ( 'r_a', 'r_canopy', 'r_soil', 'r_s' ) 4435 4447 unit = 's/m' 4436 4448 4437 4449 CASE ( 'waste_heat', 'im_hf' ) 4438 4450 IF ( .NOT. indoor_model ) THEN … … 4442 4454 'PA0588', 1, 2, 0, 6, 0 ) 4443 4455 ENDIF 4444 4456 4445 4457 unit = 'W/m2' 4446 4458
Note: See TracChangeset
for help on using the changeset viewer.