Changeset 1976 for palm/trunk/SOURCE/read_3d_binary.f90
- Timestamp:
- Jul 27, 2016 1:28:04 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/read_3d_binary.f90
r1973 r1976 19 19 ! Current revisions: 20 20 ! ----------------- 21 ! 21 ! Bugfix: read of land surface data only when module is switched on. 22 ! Radiation parts are now done in the respective module. 23 ! Binary version increased to 4.5. 22 24 ! 23 25 ! Former revisions: … … 138 140 139 141 USE radiation_model_mod, & 140 ONLY: rad_net, rad_net_av, rad_lw_in, rad_lw_in_av, rad_lw_out, & 141 rad_lw_cs_hr, rad_lw_cs_hr_av, rad_lw_hr, rad_lw_hr_av, & 142 rad_lw_out_av, rad_lw_out_change_0, rad_sw_in, rad_sw_in_av, & 143 rad_sw_out, rad_sw_out_av, rad_sw_cs_hr, rad_sw_cs_hr_av, & 144 rad_sw_hr, rad_sw_hr_av 142 ONLY: radiation, radiation_read_restart_data 145 143 146 144 USE random_function_mod, & … … 328 326 !-- First compare the version numbers 329 327 READ ( 13 ) version_on_file 330 binary_version = '4. 4'328 binary_version = '4.5' 331 329 IF ( TRIM( version_on_file ) /= TRIM( binary_version ) ) THEN 332 330 WRITE( message_string, * ) 'version mismatch concerning data ', & … … 698 696 qv_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 699 697 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 700 701 CASE ( 'rad_net' )702 IF ( .NOT. ALLOCATED( rad_net ) ) THEN703 ALLOCATE( rad_net(nysg:nyng,nxlg:nxrg) )704 ENDIF705 IF ( k == 1 ) READ ( 13 ) tmp_2d706 rad_net(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &707 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)708 709 CASE ( 'rad_net_av' )710 IF ( .NOT. ALLOCATED( rad_net_av ) ) THEN711 ALLOCATE( rad_net_av(nysg:nyng,nxlg:nxrg) )712 ENDIF713 IF ( k == 1 ) READ ( 13 ) tmp_2d714 rad_net_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &715 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)716 CASE ( 'rad_lw_in' )717 IF ( .NOT. ALLOCATED( rad_lw_in ) ) THEN718 ALLOCATE( rad_lw_in(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )719 ENDIF720 IF ( k == 1 ) READ ( 13 ) tmp_3d721 rad_lw_in(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &722 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)723 724 CASE ( 'rad_lw_in_av' )725 IF ( .NOT. ALLOCATED( rad_lw_in_av ) ) THEN726 ALLOCATE( rad_lw_in_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )727 ENDIF728 IF ( k == 1 ) READ ( 13 ) tmp_3d729 rad_lw_in_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &730 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)731 732 CASE ( 'rad_lw_out' )733 IF ( .NOT. ALLOCATED( rad_lw_out ) ) THEN734 ALLOCATE( rad_lw_out(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )735 ENDIF736 IF ( k == 1 ) READ ( 13 ) tmp_3d737 rad_lw_out(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &738 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)739 740 CASE ( 'rad_lw_out_av' )741 IF ( .NOT. ALLOCATED( rad_lw_out_av ) ) THEN742 ALLOCATE( rad_lw_out_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )743 ENDIF744 IF ( k == 1 ) READ ( 13 ) tmp_3d745 rad_lw_out_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &746 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)747 748 CASE ( 'rad_lw_out_change_0' )749 IF ( .NOT. ALLOCATED( rad_lw_out_change_0 ) ) THEN750 ALLOCATE( rad_lw_out_change_0(nysg:nyng,nxlg:nxrg) )751 ENDIF752 IF ( k == 1 ) READ ( 13 ) tmp_2d753 rad_lw_out_change_0(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp)&754 = tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)755 756 CASE ( 'rad_lw_cs_hr' )757 IF ( .NOT. ALLOCATED( rad_lw_cs_hr ) ) THEN758 ALLOCATE( rad_lw_cs_hr(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )759 ENDIF760 IF ( k == 1 ) READ ( 13 ) tmp_3d761 rad_lw_cs_hr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &762 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)763 764 CASE ( 'rad_lw_cs_hr_av' )765 IF ( .NOT. ALLOCATED( rad_lw_cs_hr_av ) ) THEN766 ALLOCATE( rad_lw_cs_hr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )767 ENDIF768 IF ( k == 1 ) READ ( 13 ) tmp_3d769 rad_lw_cs_hr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &770 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)771 772 CASE ( 'rad_lw_hr' )773 IF ( .NOT. ALLOCATED( rad_lw_hr ) ) THEN774 ALLOCATE( rad_lw_hr(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )775 ENDIF776 IF ( k == 1 ) READ ( 13 ) tmp_3d777 rad_lw_hr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &778 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)779 780 CASE ( 'rad_lw_hr_av' )781 IF ( .NOT. ALLOCATED( rad_lw_hr_av ) ) THEN782 ALLOCATE( rad_lw_hr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )783 ENDIF784 IF ( k == 1 ) READ ( 13 ) tmp_3d785 rad_lw_hr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &786 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)787 788 CASE ( 'rad_sw_in' )789 IF ( .NOT. ALLOCATED( rad_sw_in ) ) THEN790 ALLOCATE( rad_sw_in(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )791 ENDIF792 IF ( k == 1 ) READ ( 13 ) tmp_3d793 rad_sw_in(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &794 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)795 796 CASE ( 'rad_sw_in_av' )797 IF ( .NOT. ALLOCATED( rad_sw_in_av ) ) THEN798 ALLOCATE( rad_sw_in_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )799 ENDIF800 IF ( k == 1 ) READ ( 13 ) tmp_3d801 rad_sw_in_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &802 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)803 804 CASE ( 'rad_sw_out' )805 IF ( .NOT. ALLOCATED( rad_sw_out ) ) THEN806 ALLOCATE( rad_sw_out(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )807 ENDIF808 IF ( k == 1 ) READ ( 13 ) tmp_3d809 rad_sw_out(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &810 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)811 812 CASE ( 'rad_sw_out_av' )813 IF ( .NOT. ALLOCATED( rad_sw_out_av ) ) THEN814 ALLOCATE( rad_sw_out_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )815 ENDIF816 IF ( k == 1 ) READ ( 13 ) tmp_3d817 rad_sw_out_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &818 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)819 820 CASE ( 'rad_sw_cs_hr' )821 IF ( .NOT. ALLOCATED( rad_sw_cs_hr ) ) THEN822 ALLOCATE( rad_sw_cs_hr(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )823 ENDIF824 IF ( k == 1 ) READ ( 13 ) tmp_3d825 rad_sw_cs_hr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &826 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)827 828 CASE ( 'rad_sw_cs_hr_av' )829 IF ( .NOT. ALLOCATED( rad_sw_cs_hr_av ) ) THEN830 ALLOCATE( rad_sw_cs_hr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )831 ENDIF832 IF ( k == 1 ) READ ( 13 ) tmp_3d833 rad_sw_cs_hr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &834 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)835 836 CASE ( 'rad_sw_hr' )837 IF ( .NOT. ALLOCATED( rad_sw_hr ) ) THEN838 ALLOCATE( rad_sw_hr(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )839 ENDIF840 IF ( k == 1 ) READ ( 13 ) tmp_3d841 rad_sw_hr(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &842 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)843 844 CASE ( 'rad_sw_hr_av' )845 IF ( .NOT. ALLOCATED( rad_sw_hr_av ) ) THEN846 ALLOCATE( rad_sw_hr_av(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )847 ENDIF848 IF ( k == 1 ) READ ( 13 ) tmp_3d849 rad_lw_hr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &850 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)851 698 852 699 CASE ( 'random_iv' ) ! still unresolved issue … … 1274 1121 ! 1275 1122 !-- Read land surface restart data 1276 CALL lsm_read_restart_data( i, nxlfa, nxl_on_file, nxrfa, nxr_on_file, & 1277 nynfa, nyn_on_file, nysfa, nys_on_file, & 1278 offset_xa, offset_ya, overlap_count(i), & 1279 tmp_2d ) 1123 IF ( land_surface ) THEN 1124 CALL lsm_read_restart_data( i, nxlfa, nxl_on_file, nxrfa, & 1125 nxr_on_file, nynfa, nyn_on_file, nysfa, & 1126 nys_on_file, offset_xa, offset_ya, & 1127 overlap_count(i), tmp_2d ) 1128 ENDIF 1129 1130 ! 1131 !-- Read radiation restart data 1132 IF ( radiation ) THEN 1133 CALL radiation_read_restart_data( i, nxlfa, nxl_on_file, nxrfa, & 1134 nxr_on_file, nynfa, nyn_on_file, & 1135 nysfa, nys_on_file, offset_xa, & 1136 offset_ya, overlap_count(i), & 1137 tmp_2d, tmp_3d ) 1138 ENDIF 1280 1139 1281 1140 !
Note: See TracChangeset
for help on using the changeset viewer.