Changeset 2995
- Timestamp:
- Apr 19, 2018 12:13:16 PM (7 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_3d_model.f90
r2977 r2995 25 25 ! ----------------- 26 26 ! $Id$ 27 ! CALL radiation_control is not necessary during initialization because 28 ! calculation of radiative fluxes at model start is done in radiation_init 29 ! in any case 30 ! 31 ! 2977 2018-04-17 10:27:57Z kanani 27 32 ! Implement changes from branch radiation (r2948-2971) with minor modifications 28 33 ! (moh.hefny): … … 514 519 USE radiation_model_mod, & 515 520 ONLY: average_radiation, & 516 radiation_init, radiation, radiation_ control, radiation_scheme,&521 radiation_init, radiation, radiation_scheme, & 517 522 radiation_calc_svf, radiation_write_svf, & 518 523 radiation_interaction, radiation_interactions, & … … 2435 2440 !-- Adjust radiative fluxes. In case of urban and land surfaces, also 2436 2441 !-- call an initial interaction. 2437 CALL radiation_control2438 2442 IF ( radiation_interactions ) THEN 2439 2443 CALL radiation_interaction 2440 2444 ENDIF 2441 2445 ENDIF 2442 2446 2443 2447 ! 2444 2448 !-- Temporary solution to add LSM and radiation time series to the default -
palm/trunk/SOURCE/parin.f90
r2980 r2995 25 25 ! ----------------- 26 26 ! $Id$ 27 ! time_since_reference_point must be calculated/initialized before the first 28 ! call of functions related to the radiation model which occur in 29 ! time_integration_spinup or time_integration 30 ! 31 ! 2980 2018-04-17 15:19:27Z suehring 27 32 ! Revise message call 28 33 ! … … 864 869 IF ( spinup_time > 0.0_wp ) THEN 865 870 coupling_start_time = spinup_time 871 time_since_reference_point = simulated_time - coupling_start_time 866 872 IF ( spinup_pt_mean == 9999999.9_wp ) THEN 867 873 spinup_pt_mean = pt_surface -
palm/trunk/SOURCE/radiation_model_mod.f90
r2977 r2995 28 28 ! ----------------- 29 29 ! $Id$ 30 ! IF-statement in radiation_init removed so that the calculation of radiative 31 ! fluxes at model start is done in any case, bugfix in 32 ! radiation_presimulate_solar_pos (end_time is the sum of end_time and the 33 ! spinup_time specified in the p3d_file ), list of variables/fields that have 34 ! to be written out or read in case of restarts has been extended 35 ! 36 ! 2977 2018-04-17 10:27:57Z kanani 30 37 ! Implement changes from branch radiation (r2948-2971) with minor modifications, 31 38 ! plus some formatting. … … 2162 2169 ! 2163 2170 !-- Calculate radiative fluxes at model start 2164 IF ( TRIM( initializing_actions ) /= 'read_restart_data' ) THEN 2165 2166 SELECT CASE ( radiation_scheme ) 2167 CASE ( 'rrtmg' ) 2168 CALL radiation_rrtmg 2169 CASE ( 'clear-sky' ) 2170 CALL radiation_clearsky 2171 CASE ( 'constant' ) 2172 CALL radiation_constant 2173 CASE DEFAULT 2174 END SELECT 2175 2176 ENDIF 2171 SELECT CASE ( TRIM( radiation_scheme ) ) 2172 2173 CASE ( 'rrtmg' ) 2174 CALL radiation_rrtmg 2175 2176 CASE ( 'clear-sky' ) 2177 CALL radiation_clearsky 2178 2179 CASE ( 'constant' ) 2180 CALL radiation_constant 2181 2182 CASE DEFAULT 2183 2184 END SELECT 2177 2185 2178 2186 RETURN … … 2209 2217 !-- Calculate sky transmissivity 2210 2218 sky_trans = 0.6_wp + 0.2_wp * zenith(0) 2219 2211 2220 ! 2212 2221 !-- Calculate value of the Exner function at model surface … … 2302 2311 exn1 = (hyp(k) / 100000.0_wp )**0.286_wp 2303 2312 2304 surf%rad_sw_in(m) = solar_constant * sky_trans * zenith(0) 2313 surf%rad_sw_in(m) = solar_constant * sky_trans * zenith(0) 2314 2305 2315 ! 2306 2316 !-- Weighted average according to surface fraction. … … 2361 2371 rad_lw_out(0,j,i) = surf%rad_lw_out(m) 2362 2372 ENDDO 2363 2373 2364 2374 END SUBROUTINE radiation_clearsky_surf 2365 2375 … … 6593 6603 ! 6594 6604 !-- Process simulation time 6595 DO it = 0, CEILING( end_time/ dt_radiation)6605 DO it = 0, CEILING(( end_time - spinup_time ) / dt_radiation) 6596 6606 time_since_reference_point = REAL(it, wp) * dt_radiation 6597 6607 CALL simulate_pos … … 6604 6614 dsidir(:,:) = dsidir_tmp(:, 1:ndsidir) 6605 6615 DEALLOCATE ( dsidir_tmp ) 6616 6606 6617 ALLOCATE ( dsitrans(nsurfl, ndsidir) ) 6607 6618 ALLOCATE ( dsitransc(npcbl, ndsidir) ) … … 6752 6763 6753 6764 !-- read nsvfl, ncsfl 6754 READ ( fsvf ) nsvfl, ncsfl, nsurfl_from_file 6765 READ ( fsvf ) nsvfl, ncsfl, nsurfl_from_file, npcbl, ndsidir 6755 6766 IF ( nsvfl < 0 .OR. ncsfl < 0 ) THEN 6756 6767 WRITE( message_string, * ) 'Wrong number of SVF or CSF' … … 6772 6783 READ(fsvf) skyvf 6773 6784 READ(fsvf) skyvft 6785 READ(fsvf) dsitrans 6774 6786 ENDIF 6775 6787 6788 IF ( plant_canopy .AND. npcbl > 0 ) THEN 6789 READ ( fsvf ) dsitransc 6790 ENDIF 6791 6776 6792 IF ( nsvfl > 0 ) THEN 6777 6793 IF ( .NOT. ALLOCATED( svf ) ) ALLOCATE( svf(ndsvf,nsvfl) ) … … 6825 6841 6826 6842 WRITE ( fsvf ) rad_version 6827 WRITE ( fsvf ) nsvfl, ncsfl, nsurfl 6843 WRITE ( fsvf ) nsvfl, ncsfl, nsurfl, npcbl, ndsidir 6828 6844 IF ( nsurfl > 0 ) THEN 6829 6845 WRITE ( fsvf ) skyvf 6830 6846 WRITE ( fsvf ) skyvft 6847 WRITE ( fsvf ) dsitrans 6848 ENDIF 6849 IF ( npcbl > 0 ) THEN 6850 WRITE ( fsvf ) dsitransc 6831 6851 ENDIF 6832 6852 IF ( nsvfl > 0 ) THEN
Note: See TracChangeset
for help on using the changeset viewer.