Changeset 4008
- Timestamp:
- May 30, 2019 9:50:11 AM (5 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/module_interface.f90
r4004 r4008 1231 1231 ENDIF 1232 1232 1233 IF ( .NOT. found .AND. radiation ) THEN 1234 CALL radiation_data_output_2d( & 1235 av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do& 1236 ) 1237 ENDIF 1238 1233 1239 IF ( .NOT. found .AND. salsa ) THEN 1234 1240 CALL salsa_data_output_2d( & 1235 av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do&1236 )1237 ENDIF1238 1239 IF ( .NOT. found .AND. radiation ) THEN1240 CALL radiation_data_output_2d( &1241 1241 av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do& 1242 1242 ) … … 1313 1313 ENDIF 1314 1314 1315 IF ( .NOT. found .AND. radiation ) THEN 1316 CALL radiation_data_output_3d( av, variable, found, local_pf, nzb_do, nzt_do ) 1317 resorted = .TRUE. 1318 ENDIF 1319 1315 1320 IF ( .NOT. found .AND. salsa ) THEN 1316 1321 CALL salsa_data_output_3d( av, variable, found, local_pf, nzb_do, nzt_do ) 1317 resorted = .TRUE.1318 ENDIF1319 1320 IF ( .NOT. found .AND. radiation ) THEN1321 CALL radiation_data_output_3d( av, variable, found, local_pf, nzb_do, nzt_do )1322 1322 resorted = .TRUE. 1323 1323 ENDIF -
palm/trunk/SOURCE/radiation_model_mod.f90
r3992 r4008 28 28 ! ----------------- 29 29 ! $Id$ 30 ! Bugfix in check variable when a variable's string is less than 3 31 ! characters is processed. All variables now are checked if they 32 ! belong to radiation 33 ! 34 ! 3992 2019-05-22 16:49:38Z suehring 30 35 ! Bugfix in rrtmg radiation branch in a nested run when the lowest prognistic 31 36 ! grid points in a child domain are all inside topography … … 1406 1411 INTEGER(iwp) :: i, k 1407 1412 INTEGER(iwp) :: ilen 1408 CHARACTER(LEN=varnamelength) :: var 1413 CHARACTER(LEN=varnamelength) :: var !< TRIM(variable) 1409 1414 1410 1415 var = TRIM(variable) 1416 1417 IF ( len(var) < 3_iwp ) THEN 1418 unit = 'illegal' 1419 RETURN 1420 ENDIF 1421 1422 IF ( var(1:3) /= 'rad' .AND. var(1:3) /= 'rtm' ) THEN 1423 unit = 'illegal' 1424 RETURN 1425 ENDIF 1411 1426 1412 1427 !-- first process diractional variables … … 10533 10548 10534 10549 found = .TRUE. 10550 var = TRIM(variable) 10551 10552 !-- check if variable belongs to radiation related variables (starts with rad or rtm) 10553 IF ( len(var) < 3_iwp ) THEN 10554 found = .FALSE. 10555 RETURN 10556 ENDIF 10557 10558 IF ( var(1:3) /= 'rad' .AND. var(1:3) /= 'rtm' ) THEN 10559 found = .FALSE. 10560 RETURN 10561 ENDIF 10535 10562 10536 10563 ids = -1 10537 var = TRIM(variable)10538 10564 DO i = 0, nd-1 10539 10565 k = len(TRIM(var)) 10540 10566 j = len(TRIM(dirname(i))) 10541 IF ( TRIM(var(k-j+1:k)) == TRIM(dirname(i)) ) THEN 10542 ids = i 10543 idsint_u = dirint_u(ids) 10544 idsint_l = dirint_l(ids) 10545 var = var(:k-j) 10546 EXIT 10567 IF ( k-j+1 >= 1_iwp ) THEN 10568 IF ( TRIM(var(k-j+1:k)) == TRIM(dirname(i)) ) THEN 10569 ids = i 10570 idsint_u = dirint_u(ids) 10571 idsint_l = dirint_l(ids) 10572 var = var(:k-j) 10573 EXIT 10574 ENDIF 10547 10575 ENDIF 10548 10576 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.