Changeset 410 for palm/trunk/SOURCE/header.f90
- Timestamp:
- Dec 4, 2009 5:05:40 PM (14 years ago)
- Location:
- palm/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk
-
Property
svn:mergeinfo
set to
False
/palm/branches/letzel/masked_output 296-409
-
Property
svn:mergeinfo
set to
False
-
palm/trunk/SOURCE/header.f90
r392 r410 6 6 ! 7 7 ! 8 ! Branch revisions: 9 ! ----------------- 10 ! Masked data output: + dt_domask, mask_01~20_x|y|z, mask_01~20_x|y|z_loop, 11 ! mask_scale|_x|y|z, masks, netcdf_format_mask[_av], skip_time_domask 12 ! 8 13 ! Former revisions: 9 14 ! ----------------- … … 105 110 CHARACTER (LEN=70) :: char1, char2, dopr_chr, & 106 111 do2d_xy, do2d_xz, do2d_yz, do3d_chr, & 107 run_classification112 domask_chr, run_classification 108 113 CHARACTER (LEN=86) :: coordinates, gradients, learde, slices, & 109 114 temperatures, ugcomponent, vgcomponent 110 115 CHARACTER (LEN=85) :: roben, runten 111 116 112 INTEGER :: av, bh, blx, bly, bxl, bxr, byn, bys, ch, cwx, cwy, cxl, cxr, & 113 cyn, cys, i, ihost, io, j, l, ll, m, mpi_type 117 CHARACTER (LEN=1), DIMENSION(1:3) :: dir = (/ 'x', 'y', 'z' /) 118 119 INTEGER :: av, bh, blx, bly, bxl, bxr, byn, bys, ch, count, cwx, cwy, & 120 cxl, cxr, cyn, cys, dim, i, ihost, io, j, l, ll, m, mpi_type 114 121 REAL :: cpuseconds_per_simulated_second 115 122 … … 988 995 ENDIF 989 996 997 ENDDO 998 999 ! 1000 !-- masked arrays 1001 IF ( masks > 0 ) WRITE ( io, 345 ) & 1002 mask_scale_x, mask_scale_y, mask_scale_z 1003 DO mid = 1, masks 1004 DO av = 0, 1 1005 1006 i = 1 1007 domask_chr = '' 1008 DO WHILE ( domask(mid,av,i) /= ' ' ) 1009 domask_chr = TRIM( domask_chr ) // ' ' // & 1010 TRIM( domask(mid,av,i) ) // ',' 1011 i = i + 1 1012 ENDDO 1013 1014 IF ( domask_chr /= '' ) THEN 1015 IF ( av == 0 ) THEN 1016 WRITE ( io, 346 ) '', mid 1017 ELSE 1018 WRITE ( io, 346 ) ' (time-averaged)', mid 1019 ENDIF 1020 1021 output_format = '' 1022 IF ( netcdf_output ) THEN 1023 SELECT CASE ( nc_format_mask(mid,av) ) 1024 CASE ( 1 ) 1025 output_format = 'netcdf (classic format)' 1026 CASE ( 2 ) 1027 output_format = 'netcdf (64bit offset format)' 1028 CASE ( 3 ) 1029 output_format = 'netcdf (NetCDF 4 format)' 1030 CASE ( 4 ) 1031 output_format = 'netcdf (NetCDF 4 classic model format)' 1032 END SELECT 1033 ENDIF 1034 WRITE ( io, 344 ) output_format 1035 1036 IF ( av == 0 ) THEN 1037 WRITE ( io, 347 ) domask_chr, dt_domask(mid) 1038 ELSE 1039 WRITE ( io, 348 ) domask_chr, dt_data_output_av, & 1040 averaging_interval, dt_averaging_input 1041 ENDIF 1042 1043 IF ( av == 0 ) THEN 1044 IF ( skip_time_domask(mid) /= 0.0 ) THEN 1045 WRITE ( io, 339 ) skip_time_domask(mid) 1046 ENDIF 1047 ELSE 1048 IF ( skip_time_data_output_av /= 0.0 ) THEN 1049 WRITE ( io, 339 ) skip_time_data_output_av 1050 ENDIF 1051 ENDIF 1052 ! 1053 !-- output locations 1054 DO dim = 1, 3 1055 IF ( mask(mid,dim,1) >= 0.0 ) THEN 1056 count = 0 1057 DO WHILE ( mask(mid,dim,count+1) >= 0.0 ) 1058 count = count + 1 1059 ENDDO 1060 WRITE ( io, 349 ) dir(dim), dir(dim), mid, dir(dim), & 1061 mask(mid,dim,:count) 1062 ELSEIF ( mask_loop(mid,dim,1) < 0.0 .AND. & 1063 mask_loop(mid,dim,2) < 0.0 .AND. & 1064 mask_loop(mid,dim,3) == 0.0 ) THEN 1065 WRITE ( io, 350 ) dir(dim), dir(dim) 1066 ELSEIF ( mask_loop(mid,dim,3) == 0.0 ) THEN 1067 WRITE ( io, 351 ) dir(dim), dir(dim), mid, dir(dim), & 1068 mask_loop(mid,dim,1:2) 1069 ELSE 1070 WRITE ( io, 351 ) dir(dim), dir(dim), mid, dir(dim), & 1071 mask_loop(mid,dim,1:3) 1072 ENDIF 1073 ENDDO 1074 ENDIF 1075 1076 ENDDO 990 1077 ENDDO 991 1078 … … 1619 1706 ' Upper output limit at ',F8.2,' m (GP ',I4,')'/) 1620 1707 344 FORMAT (' Output format: ',A/) 1708 345 FORMAT (/' Scaling lengths for output locations of all subsequent mask IDs:',/ & 1709 ' mask_scale_x (in x-direction): ',F9.3, ' m',/ & 1710 ' mask_scale_y (in y-direction): ',F9.3, ' m',/ & 1711 ' mask_scale_z (in z-direction): ',F9.3, ' m' ) 1712 346 FORMAT (/' Masked data output',A,' for mask ID ',I2, ':') 1713 347 FORMAT (' Variables: ',A/ & 1714 ' Output every ',F8.2,' s') 1715 348 FORMAT (' Variables: ',A/ & 1716 ' Output every ',F8.2,' s'/ & 1717 ' Time averaged over ',F8.2,' s'/ & 1718 ' Averaging input every ',F8.2,' s') 1719 349 FORMAT (/' Output locations in ',A,'-direction in multiples of ', & 1720 'mask_scale_',A,' predefined by array mask_',I2.2,'_',A,':'/ & 1721 13(' ',8(F8.2,',')/) ) 1722 350 FORMAT (/' Output locations in ',A,'-direction: ', & 1723 'all gridpoints along ',A,'-direction (default).' ) 1724 351 FORMAT (/' Output locations in ',A,'-direction in multiples of ', & 1725 'mask_scale_',A,' constructed from array mask_',I2.2,'_',A,'_loop:'/ & 1726 ' loop begin:',F8.2,', end:',F8.2,', stride:',F8.2 ) 1621 1727 #if defined( __dvrp_graphics ) 1622 1728 360 FORMAT (' Plot-Sequence with dvrp-software:'/ &
Note: See TracChangeset
for help on using the changeset viewer.