Changeset 2007 for palm/trunk/SOURCE/netcdf_interface_mod.f90
- Timestamp:
- Aug 24, 2016 3:47:17 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/netcdf_interface_mod.f90
r2001 r2007 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Added support for new urban surface model (temporary modifications of 23 ! SELECT CASE ( ) necessary, see variable trimvar), 24 ! increased DIMENSION of do2d_unit, do3d_unit, id_var_do2d, id_var_do3d, 25 ! increased LEN of char_cross_profiles, var_list, var_list_old 23 26 ! 24 27 ! Former revisions: … … 240 243 CHARACTER (LEN=9), DIMENSION(300) :: dopr_unit = 'unknown' 241 244 242 CHARACTER (LEN=7), DIMENSION(0:1, 100) :: do2d_unit, do3d_unit245 CHARACTER (LEN=7), DIMENSION(0:1,500) :: do2d_unit, do3d_unit 243 246 244 247 CHARACTER (LEN=16), DIMENSION(25) :: prt_var_names = & … … 319 322 320 323 INTEGER(iwp), DIMENSION(dopts_num,0:10) :: id_var_dopts 321 INTEGER(iwp), DIMENSION(0:1, 100) :: id_var_do2d, id_var_do3d324 INTEGER(iwp), DIMENSION(0:1,500) :: id_var_do2d, id_var_do3d 322 325 INTEGER(iwp), DIMENSION(100,0:9) :: id_dim_z_pr, id_var_dopr, & 323 326 id_var_z_pr … … 441 444 ONLY: hom, statistic_regions 442 445 446 USE urban_surface_mod, & 447 ONLY: urban_surface, usm_define_netcdf_grid 448 443 449 444 450 IMPLICIT NONE … … 454 460 CHARACTER (LEN=10) :: precision !< 455 461 CHARACTER (LEN=10) :: var !< 462 CHARACTER (LEN=20) :: trimvar !< TRIM of output-variable string 456 463 CHARACTER (LEN=80) :: time_average_text !< 457 CHARACTER (LEN= 2000) :: char_cross_profiles !<458 CHARACTER (LEN= 2000) :: var_list !<459 CHARACTER (LEN= 2000) :: var_list_old !<464 CHARACTER (LEN=4000) :: char_cross_profiles !< 465 CHARACTER (LEN=4000) :: var_list !< 466 CHARACTER (LEN=4000) :: var_list_old !< 460 467 461 468 CHARACTER (LEN=100), DIMENSION(1:crmax) :: cross_profiles_adj !< … … 506 513 REAL(wp), DIMENSION(:), ALLOCATABLE :: netcdf_data !< 507 514 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: netcdf_data_2d !< 515 508 516 509 517 ! … … 746 754 747 755 DO WHILE ( domask(mid,av,i)(1:1) /= ' ' ) 748 756 ! 757 !-- Temporary solution to account for data output within the new urban 758 !-- surface model (urban_surface_mod.f90), see also SELECT CASE ( trimvar ) 759 trimvar = TRIM( domask(mid,av,i) ) 760 IF ( urban_surface .AND. trimvar(1:3) == 'us_' ) THEN 761 trimvar = 'usm_output' 762 ENDIF 749 763 ! 750 764 !-- Check for the grid 751 765 found = .FALSE. 752 SELECT CASE ( domask(mid,av,i))766 SELECT CASE ( trimvar ) 753 767 ! 754 768 !-- Most variables are defined on the scalar grid … … 782 796 grid_z = 'zw' 783 797 798 ! 799 !-- Block of urban surface model outputs 800 CASE ( 'usm_output' ) 801 802 CALL usm_define_netcdf_grid( domask(mid,av,i), found, & 803 grid_x, grid_y, grid_z ) 784 804 785 805 CASE DEFAULT … … 806 826 grid_x, grid_y, grid_z ) 807 827 ENDIF 808 828 809 829 IF ( .NOT. found ) THEN 810 830 WRITE ( message_string, * ) 'no grid defined for', & … … 1256 1276 1257 1277 DO WHILE ( do3d(av,i)(1:1) /= ' ' ) 1258 1278 ! 1279 !-- Temporary solution to account for data output within the new urban 1280 !-- surface model (urban_surface_mod.f90), see also SELECT CASE ( trimvar ) 1281 trimvar = TRIM( do3d(av,i) ) 1282 IF ( urban_surface .AND. trimvar(1:3) == 'us_' ) THEN 1283 trimvar = 'usm_output' 1284 ENDIF 1259 1285 ! 1260 1286 !-- Check for the grid 1261 1287 found = .FALSE. 1262 SELECT CASE ( do3d(av,i))1288 SELECT CASE ( trimvar ) 1263 1289 ! 1264 1290 !-- Most variables are defined on the scalar grid … … 1292 1318 grid_z = 'zw' 1293 1319 1320 ! 1321 !-- Block of urban surface model outputs 1322 CASE ( 'usm_output' ) 1323 CALL usm_define_netcdf_grid( do3d(av,i), found, & 1324 grid_x, grid_y, grid_z ) 1294 1325 1295 1326 CASE DEFAULT … … 1315 1346 grid_y, grid_z ) 1316 1347 ENDIF 1317 1348 1318 1349 IF ( .NOT. found ) THEN 1319 1350 WRITE ( message_string, * ) 'no grid defined for varia', &
Note: See TracChangeset
for help on using the changeset viewer.