Changeset 4509 for palm/trunk/SOURCE/average_3d_data.f90
- Timestamp:
- Apr 26, 2020 3:57:55 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/average_3d_data.f90
r4457 r4509 1 1 !> @file average_3d_data.f90 2 !------------------------------------------------------------------------------ !2 !--------------------------------------------------------------------------------------------------! 3 3 ! This file is part of the PALM model system. 4 4 ! 5 ! PALM is free software: you can redistribute it and/or modify it under the 6 ! terms of the GNU General Public License as published by the Free Software 7 ! Foundation, either version 3 of the License, or (at your option) any later 8 ! version. 9 ! 10 ! PALM is distributed in the hope that it will be useful, but WITHOUT ANY 11 ! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 ! A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 ! 14 ! You should have received a copy of the GNU General Public License along with 15 ! PALM. If not, see <http://www.gnu.org/licenses/>. 5 ! PALM is free software: you can redistribute it and/or modify it under the terms of the GNU General 6 ! Public License as published by the Free Software Foundation, either version 3 of the License, or 7 ! (at your option) any later version. 8 ! 9 ! PALM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the 10 ! implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 11 ! Public License for more details. 12 ! 13 ! You should have received a copy of the GNU General Public License along with PALM. If not, see 14 ! <http://www.gnu.org/licenses/>. 16 15 ! 17 16 ! Copyright 1997-2020 Leibniz Universitaet Hannover 18 !------------------------------------------------------------------------------ !17 !--------------------------------------------------------------------------------------------------! 19 18 ! 20 19 ! Current revisions: … … 25 24 ! ----------------- 26 25 ! $Id$ 26 ! file re-formatted to follow the PALM coding standard 27 ! 28 ! 4457 2020-03-11 14:20:43Z raasch 27 29 ! use statement for exchange horiz added, 28 30 ! bugfix for call of exchange horiz 2d … … 59 61 ! ------------ 60 62 !> Time-averaging of 3d-data-arrays. 61 !------------------------------------------------------------------------------ !63 !--------------------------------------------------------------------------------------------------! 62 64 SUBROUTINE average_3d_data 63 65 … … 65 67 USE averaging 66 68 67 USE control_parameters, &69 USE control_parameters, & 68 70 ONLY: average_count_3d, doav, doav_n, varnamelength 69 71 70 USE cpulog, &72 USE cpulog, & 71 73 ONLY: cpu_log, log_point 72 74 73 USE exchange_horiz_mod, &75 USE exchange_horiz_mod, & 74 76 ONLY: exchange_horiz_2d 75 77 76 USE indices, &78 USE indices, & 77 79 ONLY: nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt 78 80 79 81 USE kinds 80 82 81 USE module_interface, &83 USE module_interface, & 82 84 ONLY: module_interface_3d_data_averaging 83 85 … … 112 114 113 115 CASE ( 'e' ) 114 IF ( ALLOCATED( e_av ) ) THEN116 IF ( ALLOCATED( e_av ) ) THEN 115 117 DO i = nxlg, nxrg 116 118 DO j = nysg, nyng … … 123 125 124 126 CASE ( 'ghf*' ) 125 IF ( ALLOCATED( ghf_av ) ) THEN127 IF ( ALLOCATED( ghf_av ) ) THEN 126 128 DO i = nxl, nxr 127 129 DO j = nys, nyn 128 ghf_av(j,i) = ghf_av(j,i) & 129 / REAL( average_count_3d, KIND=wp ) 130 ghf_av(j,i) = ghf_av(j,i) / REAL( average_count_3d, KIND=wp ) 130 131 ENDDO 131 132 ENDDO … … 134 135 135 136 CASE ( 'qsws*' ) 136 IF ( ALLOCATED( qsws_av ) ) THEN137 IF ( ALLOCATED( qsws_av ) ) THEN 137 138 DO i = nxlg, nxrg 138 139 DO j = nysg, nyng … … 144 145 145 146 CASE ( 'thetal' ) 146 IF ( ALLOCATED( lpt_av ) ) THEN147 IF ( ALLOCATED( lpt_av ) ) THEN 147 148 DO i = nxlg, nxrg 148 149 DO j = nysg, nyng … … 155 156 156 157 CASE ( 'lwp*' ) 157 IF ( ALLOCATED( lwp_av ) ) THEN158 IF ( ALLOCATED( lwp_av ) ) THEN 158 159 DO i = nxlg, nxrg 159 160 DO j = nysg, nyng … … 164 165 165 166 CASE ( 'ol*' ) 166 IF ( ALLOCATED( ol_av ) ) THEN167 IF ( ALLOCATED( ol_av ) ) THEN 167 168 DO i = nxlg, nxrg 168 169 DO j = nysg, nyng … … 174 175 175 176 CASE ( 'p' ) 176 IF ( ALLOCATED( p_av ) ) THEN177 IF ( ALLOCATED( p_av ) ) THEN 177 178 DO i = nxlg, nxrg 178 179 DO j = nysg, nyng … … 185 186 186 187 CASE ( 'pc' ) 187 IF ( ALLOCATED( pc_av ) ) THEN188 IF ( ALLOCATED( pc_av ) ) THEN 188 189 DO i = nxl, nxr 189 190 DO j = nys, nyn … … 196 197 197 198 CASE ( 'pr' ) 198 IF ( ALLOCATED( pr_av ) ) THEN199 IF ( ALLOCATED( pr_av ) ) THEN 199 200 DO i = nxl, nxr 200 201 DO j = nys, nyn … … 207 208 208 209 CASE ( 'theta' ) 209 IF ( ALLOCATED( pt_av ) ) THEN210 IF ( ALLOCATED( pt_av ) ) THEN 210 211 DO i = nxlg, nxrg 211 212 DO j = nysg, nyng … … 218 219 219 220 CASE ( 'q' ) 220 IF ( ALLOCATED( q_av ) ) THEN221 IF ( ALLOCATED( q_av ) ) THEN 221 222 DO i = nxlg, nxrg 222 223 DO j = nysg, nyng … … 229 230 230 231 CASE ( 'ql' ) 231 IF ( ALLOCATED( ql_av ) ) THEN232 IF ( ALLOCATED( ql_av ) ) THEN 232 233 DO i = nxlg, nxrg 233 234 DO j = nysg, nyng … … 240 241 241 242 CASE ( 'ql_c' ) 242 IF ( ALLOCATED( ql_c_av ) ) THEN243 IF ( ALLOCATED( ql_c_av ) ) THEN 243 244 DO i = nxlg, nxrg 244 245 DO j = nysg, nyng … … 251 252 252 253 CASE ( 'ql_v' ) 253 IF ( ALLOCATED( ql_v_av ) ) THEN254 IF ( ALLOCATED( ql_v_av ) ) THEN 254 255 DO i = nxlg, nxrg 255 256 DO j = nysg, nyng … … 262 263 263 264 CASE ( 'ql_vp' ) 264 IF ( ALLOCATED( ql_vp_av ) ) THEN 265 DO i = nxlg, nxrg 266 DO j = nysg, nyng 267 DO k = nzb, nzt+1 268 ql_vp_av(k,j,i) = ql_vp_av(k,j,i) / & 269 REAL( average_count_3d, KIND=wp ) 265 IF ( ALLOCATED( ql_vp_av ) ) THEN 266 DO i = nxlg, nxrg 267 DO j = nysg, nyng 268 DO k = nzb, nzt+1 269 ql_vp_av(k,j,i) = ql_vp_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 270 270 ENDDO 271 271 ENDDO … … 274 274 275 275 CASE ( 'qv' ) 276 IF ( ALLOCATED( qv_av ) ) THEN276 IF ( ALLOCATED( qv_av ) ) THEN 277 277 DO i = nxlg, nxrg 278 278 DO j = nysg, nyng … … 285 285 286 286 CASE ( 'r_a*' ) 287 IF ( ALLOCATED( r_a_av ) ) THEN287 IF ( ALLOCATED( r_a_av ) ) THEN 288 288 DO i = nxlg, nxrg 289 289 DO j = nysg, nyng … … 295 295 296 296 CASE ( 's' ) 297 IF ( ALLOCATED( s_av ) ) THEN297 IF ( ALLOCATED( s_av ) ) THEN 298 298 DO i = nxlg, nxrg 299 299 DO j = nysg, nyng … … 306 306 307 307 CASE ( 'shf*' ) 308 IF ( ALLOCATED( shf_av ) ) THEN308 IF ( ALLOCATED( shf_av ) ) THEN 309 309 DO i = nxlg, nxrg 310 310 DO j = nysg, nyng … … 316 316 317 317 CASE ( 'ssws*' ) 318 IF ( ALLOCATED( ssws_av ) ) THEN318 IF ( ALLOCATED( ssws_av ) ) THEN 319 319 DO i = nxlg, nxrg 320 320 DO j = nysg, nyng … … 326 326 327 327 CASE ( 't*' ) 328 IF ( ALLOCATED( ts_av ) ) THEN328 IF ( ALLOCATED( ts_av ) ) THEN 329 329 DO i = nxlg, nxrg 330 330 DO j = nysg, nyng … … 336 336 337 337 CASE ( 'tsurf*' ) 338 IF ( ALLOCATED( tsurf_av ) ) THEN338 IF ( ALLOCATED( tsurf_av ) ) THEN 339 339 DO i = nxlg, nxrg 340 340 DO j = nysg, nyng … … 346 346 347 347 CASE ( 'u' ) 348 IF ( ALLOCATED( u_av ) ) THEN348 IF ( ALLOCATED( u_av ) ) THEN 349 349 DO i = nxlg, nxrg 350 350 DO j = nysg, nyng … … 357 357 358 358 CASE ( 'us*' ) 359 IF ( ALLOCATED( us_av ) ) THEN359 IF ( ALLOCATED( us_av ) ) THEN 360 360 DO i = nxlg, nxrg 361 361 DO j = nysg, nyng … … 367 367 368 368 CASE ( 'v' ) 369 IF ( ALLOCATED( v_av ) ) THEN369 IF ( ALLOCATED( v_av ) ) THEN 370 370 DO i = nxlg, nxrg 371 371 DO j = nysg, nyng … … 378 378 379 379 CASE ( 'thetav' ) 380 IF ( ALLOCATED( vpt_av ) ) THEN380 IF ( ALLOCATED( vpt_av ) ) THEN 381 381 DO i = nxlg, nxrg 382 382 DO j = nysg, nyng … … 389 389 390 390 CASE ( 'w' ) 391 IF ( ALLOCATED( w_av ) ) THEN391 IF ( ALLOCATED( w_av ) ) THEN 392 392 DO i = nxlg, nxrg 393 393 DO j = nysg, nyng … … 400 400 401 401 CASE ( 'z0*' ) 402 IF ( ALLOCATED( z0_av ) ) THEN402 IF ( ALLOCATED( z0_av ) ) THEN 403 403 DO i = nxlg, nxrg 404 404 DO j = nysg, nyng … … 410 410 411 411 CASE ( 'z0h*' ) 412 IF ( ALLOCATED( z0h_av ) ) THEN412 IF ( ALLOCATED( z0h_av ) ) THEN 413 413 DO i = nxlg, nxrg 414 414 DO j = nysg, nyng … … 420 420 421 421 CASE ( 'z0q*' ) 422 IF ( ALLOCATED( z0q_av ) ) THEN422 IF ( ALLOCATED( z0q_av ) ) THEN 423 423 DO i = nxlg, nxrg 424 424 DO j = nysg, nyng
Note: See TracChangeset
for help on using the changeset viewer.