Changeset 3524
- Timestamp:
- Nov 14, 2018 1:36:44 PM (6 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/chemistry_model_mod.f90
r3458 r3524 27 27 ! ----------------- 28 28 ! $Id$ 29 ! working precision added to make code Fortran 2008 conform 30 ! 31 ! 3458 2018-10-30 14:51:23Z kanani 29 32 ! from chemistry branch r3443, banzhafs, basit: 30 33 ! replace surf_lsm_h%qv1(m) by q(k,j,i) for mixing ratio in chem_depo … … 4780 4783 4781 4784 ! vapour pressure deficit influence 4782 F_vpd = min(1.,((1.-F_min(lu))*(vpd_min(lu)-vpd)/(vpd_min(lu)-vpd_max(lu)) + F_min(lu) ))4785 F_vpd = MIN( 1.0_wp, ((1.0_wp-F_min(lu))*(vpd_min(lu)-vpd)/(vpd_min(lu)-vpd_max(lu)) + F_min(lu) ) ) 4783 4786 F_vpd = max(F_vpd,F_min(lu)) 4784 4787 … … 4861 4864 4862 4865 ! Compute visible and near-infrared radiation 4863 rv =max(0.1,rdu+rdv)4864 rn =max(0.01,rdm+rdn)4866 rv = MAX( 0.1_wp, rdu+rdv ) 4867 rn = MAX( 0.01_wp, rdm+rdn ) 4865 4868 4866 4869 ! Compute ratio between input global radiation and total radiation computed here 4867 ratio =min(0.9,glrad/(rv+rn))4870 ratio = MIN( 0.9_wp, glrad/(rv+rn) ) 4868 4871 4869 4872 ! Calculate total visible radiation … … 4871 4874 4872 4875 ! Calculate fraction of PAR in the direct beam 4873 fv =min(0.99, (0.9-ratio)/0.7) ! help variable4874 fv =max(0.01,rdu/rv*(1.0-fv**0.6667)) ! fraction of PAR in the direct beam4876 fv = MIN( 0.99_wp, (0.9_wp-ratio)/0.7_wp ) ! help variable 4877 fv = MAX( 0.01_wp, rdu/rv*(1.0_wp-fv**0.6667_wp) ) ! fraction of PAR in the direct beam 4875 4878 4876 4879 ! Compute direct and diffuse parts of PAR -
palm/trunk/SOURCE/header.f90
r3467 r3524 25 25 ! ----------------- 26 26 ! $Id$ 27 ! unused variables removed 28 ! 29 ! 3467 2018-10-30 19:05:21Z suehring 27 30 ! Implementation of a new aerosol module salsa. 28 31 ! … … 402 405 403 406 USE basic_constants_and_equations_mod, & 404 ONLY: g, kappa, l_v , r_d407 ONLY: g, kappa, l_v 405 408 406 409 USE biometeorology_mod, & -
palm/trunk/SOURCE/indoor_model_mod.f90
r3469 r3524 26 26 ! ----------------- 27 27 ! $Id$ 28 ! working precision added to make code Fortran 2008 conform 29 ! 30 ! 3469 2018-10-30 20:05:07Z kanani 28 31 ! Initial revision (tlang, suehring, kanani, srissman) 29 32 ! … … 979 982 !-- not less than 0.01 W/K to provide division by 0 in further calculations 980 983 !-- with heat capacity of air 0.33 Wh/m2K 981 h_ve = MAX( 0.01 , ( air_change * indoor_volume_per_facade * &982 0.33 * (1 - eta_ve ) ) ) !< [W/K] from ISO 13789 Eq.(10)984 h_ve = MAX( 0.01_wp , ( air_change * indoor_volume_per_facade * & 985 0.33_wp * (1 - eta_ve ) ) ) !< [W/K] from ISO 13789 Eq.(10) 983 986 984 987 !-- Heat transfer coefficient auxiliary variables … … 1171 1174 !-- not less than 0.01 W/K to provide division by 0 in further calculations 1172 1175 !-- with heat capacity of air 0.33 Wh/m2K 1173 h_ve = MAX( 0.01 , ( air_change * indoor_volume_per_facade * &1174 0.33 * (1 - eta_ve ) ) ) !< [W/K] from ISO 13789 Eq.(10)1176 h_ve = MAX( 0.01_wp , ( air_change * indoor_volume_per_facade * & 1177 0.33_wp * (1 - eta_ve ) ) ) !< [W/K] from ISO 13789 Eq.(10) 1175 1178 1176 1179 !-- Heat transfer coefficient auxiliary variables -
palm/trunk/SOURCE/init_3d_model.f90
r3473 r3524 25 25 ! ----------------- 26 26 ! $Id$ 27 ! preprocessor directive added to avoid the compiler to complain about unused 28 ! variable 29 ! 30 ! 3473 2018-10-30 20:50:15Z suehring 27 31 ! Add virtual measurement module 28 32 ! … … 615 619 ONLY: pcm_init 616 620 621 #if defined( __parallel ) 617 622 USE pmc_interface, & 618 623 ONLY: nested_run 624 #endif 619 625 620 626 USE radiation_model_mod, & -
palm/trunk/SOURCE/lpm_init.f90
r3361 r3524 25 25 ! ----------------- 26 26 ! $Id$ 27 ! added missing working precision 28 ! 29 ! 3361 2018-10-16 20:39:37Z knoop 27 30 ! ocean renamed ocean_mode 28 31 ! … … 804 807 ! 805 808 !-- Determine the grid indices of the particle position 806 ip = tmp_particle%x * ddx807 jp = tmp_particle%y * ddy808 kp = tmp_particle%z / dz(1) + 1 + offset_ocean_nzt809 ip = INT( tmp_particle%x * ddx ) 810 jp = INT( tmp_particle%y * ddy ) 811 kp = INT( tmp_particle%z / dz(1) + 1 + offset_ocean_nzt ) 809 812 DO WHILE( zw(kp) < tmp_particle%z ) 810 813 kp = kp + 1 … … 1184 1187 IF ( particles(n)%weight_factor - FLOOR(particles(n)%weight_factor,KIND=wp) & 1185 1188 .GT. random_function( iran_part ) ) THEN 1186 particles(n)%weight_factor = FLOOR(particles(n)%weight_factor,KIND=wp) + 1.0 1189 particles(n)%weight_factor = FLOOR(particles(n)%weight_factor,KIND=wp) + 1.0_wp 1187 1190 ELSE 1188 1191 particles(n)%weight_factor = FLOOR(particles(n)%weight_factor,KIND=wp) -
palm/trunk/SOURCE/palm.f90
r3494 r3524 25 25 ! ----------------- 26 26 ! $Id$ 27 ! unused variable removed 28 ! 29 ! 3494 2018-11-06 14:51:27Z suehring 27 30 ! Last actions for surface output added 28 31 ! … … 281 284 USE control_parameters, & 282 285 ONLY: air_chemistry, constant_diffusion, child_domain, & 283 coupling_char, coupling_mode, do2d_at_begin, do3d_at_begin, & 284 humidity, initializing_actions, io_blocks, io_group, & 285 message_string, & 286 coupling_char, do2d_at_begin, do3d_at_begin, humidity, & 287 initializing_actions, io_blocks, io_group, message_string, & 286 288 neutral, passive_scalar, runnr, simulated_time_chr, spinup, & 287 289 time_since_reference_point, user_interface_current_revision, & … … 392 394 #if defined( __parallel ) 393 395 CALL MPI_COMM_RANK( comm_palm, myid, ierr ) 394 !395 !-- TEST OUTPUT (TO BE REMOVED)396 WRITE(9,*) '*** coupling_mode = "', TRIM( coupling_mode ), '"'397 FLUSH( 9 )398 IF ( TRIM( coupling_mode ) /= 'uncoupled' ) THEN399 PRINT*, '*** PE', myid, ' Global target PE:', target_id, &400 TRIM( coupling_mode )401 ENDIF402 396 #endif 403 397 -
palm/trunk/SOURCE/plant_canopy_model_mod.f90
r3498 r3524 27 27 ! ----------------- 28 28 ! $Id$ 29 ! working precision added to make code Fortran 2008 conform 30 ! 31 ! 3498 2018-11-07 10:53:03Z gronemeier 29 32 ! corrected revisions section 30 33 ! … … 403 406 temp = pt(k,j,i) * exner(k) - degc_to_k 404 407 !-- Coefficient for conversion of radiation to grid to radiation to unit leaves surface 405 v_lad = 1.0_wp / ( MAX( lad_s(kk,j,i), 1.0e-10) * dx * dy * dz(1) )408 v_lad = 1.0_wp / ( MAX( lad_s(kk,j,i), 1.0e-10_wp ) * dx * dy * dz(1) ) 406 409 !-- Magnus formula for the saturation pressure (see Ngao, Adam and Saudreau (2017) eq. 1) 407 410 !-- There are updated formulas available, kept consistent with the rest of the parametrization -
palm/trunk/SOURCE/pmc_interface_mod.f90
r3484 r3524 25 25 ! ----------------- 26 26 ! $Id$ 27 ! declaration statements rearranged to avoid compile time errors 28 ! 29 ! 3484 2018-11-02 14:41:25Z hellstea 27 30 ! Introduction of reversibility correction to the interpolation routines in order to 28 31 ! guarantee mass and scalar conservation through the nest boundaries. Several errors … … 5416 5419 IMPLICIT NONE 5417 5420 5421 INTEGER(iwp) :: nzt_topo_nestbc !< 5422 5418 5423 REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg), & 5419 5424 INTENT(INOUT) :: f !< … … 5448 5453 !AH INTEGER(iwp), DIMENSION(0:kct,jcs:jcn,icl:icr), INTENT(IN) :: ijkfc !< number of child grid points contributing to a parent grid box 5449 5454 INTEGER(iwp), DIMENSION(0:cg%nz+1,jcs:jcn,icl:icr), INTENT(IN) :: ijkfc !< number of child grid points contributing to a parent grid box 5450 5451 INTEGER(iwp) :: nzt_topo_nestbc !<5452 5455 5453 5456 CHARACTER(LEN=1), INTENT(IN) :: edge !< … … 5706 5709 IMPLICIT NONE 5707 5710 5711 INTEGER(iwp) :: nzt_topo_nestbc !< 5712 5708 5713 REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg), & 5709 5714 INTENT(INOUT) :: f !< … … 5737 5742 !AH INTEGER(iwp), DIMENSION(0:kct,jcs:jcn,icl:icr), INTENT(IN) :: ijkfc !< number of child grid points contributing to a parent grid box 5738 5743 INTEGER(iwp), DIMENSION(0:cg%nz+1,jcs:jcn,icl:icr), INTENT(IN) :: ijkfc !< number of child grid points contributing to a parent grid box 5739 5740 INTEGER(iwp) :: nzt_topo_nestbc !<5741 5744 5742 5745 CHARACTER(LEN=1), INTENT(IN) :: edge !< -
palm/trunk/SOURCE/poismg_mod.f90
r3241 r3524 25 25 ! ----------------- 26 26 ! $Id$ 27 ! mpi_abort arguments replaced to avoid compile errors 28 ! 29 ! 3241 2018-09-12 15:02:00Z raasch 27 30 ! unused variables removed 28 31 ! … … 1191 1194 IF ( ind /= ind_even_odd ) THEN 1192 1195 WRITE (0,*) 'ERROR ==> illegal ind_even_odd ',ind,ind_even_odd,l 1193 CALL MPI_ABORT( MPI_COMM_WORLD,i,j)1196 CALL MPI_ABORT( MPI_COMM_WORLD, 9999, ierr ) 1194 1197 ENDIF 1195 1198 #endif -
palm/trunk/SOURCE/radiation_model_mod.f90
r3495 r3524 28 28 ! ----------------- 29 29 ! $Id$ 30 ! missing cpp-directives added 31 ! 32 ! 3495 2018-11-06 15:22:17Z kanani 30 33 ! Resort control_parameters ONLY list, 31 34 ! From branch radiation@3491 moh.hefny: … … 2307 2310 !-- Calculate initial surface albedo for different surfaces 2308 2311 IF ( .NOT. constant_albedo ) THEN 2312 #if defined( __netcdf ) 2309 2313 ! 2310 2314 !-- Horizontally aligned natural and urban surfaces … … 2317 2321 CALL calc_albedo( surf_usm_v(l) ) 2318 2322 ENDDO 2323 #endif 2319 2324 ELSE 2320 2325 ! … … 3089 3094 !-- Calculate surface albedo. In case average radiation is applied, 3090 3095 !-- this is not required. 3096 #if defined( __netcdf ) 3091 3097 IF ( .NOT. constant_albedo ) THEN 3092 3098 ! … … 3101 3107 ENDDO 3102 3108 ENDIF 3109 #endif 3103 3110 3104 3111 ! -
palm/trunk/SOURCE/salsa_mod.f90
r3483 r3524 25 25 ! ----------------- 26 26 ! $Id$ 27 ! missing comma separator inserted 28 ! 29 ! 3483 2018-11-02 14:19:26Z raasch 27 30 ! bugfix: directives added to allow compilation without netCDF 28 31 ! … … 875 878 14 FORMAT (/' dry deposition (on vegetation = ', L1, & 876 879 ' and on topography = ', L1, ')') 877 8 FORMAT (/' Aerosol bin subrange limits (in metres): ', 3(ES10.2E3) /&880 8 FORMAT (/' Aerosol bin subrange limits (in metres): ', 3(ES10.2E3), / & 878 881 ' Number of size bins for each aerosol subrange: ', 2I3,/ & 879 882 ' Aerosol bin limits (in metres): ', *(ES10.2E3)) -
palm/trunk/SOURCE/time_integration.f90
r3484 r3524 25 25 ! ----------------- 26 26 ! $Id$ 27 ! unused variables removed 28 ! 29 ! 3484 2018-11-02 14:41:25Z hellstea 27 30 ! pmci_ensure_nest_mass_conservation is premanently removed 28 31 ! … … 422 425 423 426 USE chem_modules, & 424 ONLY: bc_cs_t_val, call_chem_at_all_substeps, cs_name, & 425 constant_csflux, do_emis, nspec, nspec_out 427 ONLY: bc_cs_t_val, cs_name, do_emis, nspec, nspec_out 426 428 427 429 USE chemistry_model_mod, & -
palm/trunk/SOURCE/urban_surface_mod.f90
r3502 r3524 28 28 ! ----------------- 29 29 ! $Id$ 30 ! bugfix concerning allocation of t_surf_wall_v 31 ! 32 ! 3502 2018-11-07 14:45:23Z suehring 30 33 ! Disable initialization of building roofs with ground-floor-level properties, 31 34 ! since this causes strong oscillations of surface temperature during the … … 7373 7376 IF ( k == 1 ) THEN 7374 7377 IF ( .NOT. ALLOCATED( t_surf_wall_v(0)%t ) ) & 7375 ALLOCATE( t_surf_ v(0)%t(1:surf_usm_v(0)%ns) )7378 ALLOCATE( t_surf_wall_v(0)%t(1:surf_usm_v(0)%ns) ) 7376 7379 READ ( 13 ) tmp_surf_wall_v(0)%t 7377 7380 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.