Changeset 4180 for palm/trunk/SOURCE/radiation_model_mod.f90
- Timestamp:
- Aug 21, 2019 2:37:54 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/radiation_model_mod.f90
r4179 r4180 143 143 ! 3655 2019-01-07 16:51:22Z knoop 144 144 ! nopointer option removed 145 !146 ! 3633 2018-12-17 16:17:57Z schwenkel147 ! Include check for rrtmg files148 !149 ! 3630 2018-12-17 11:04:17Z knoop150 ! - fix initialization of date and time after calling zenith151 ! - fix a bug in radiation_solar_pos152 !153 ! 3616 2018-12-10 09:44:36Z Salim154 ! fix manipulation of time variables in radiation_presimulate_solar_pos155 !156 ! 3608 2018-12-07 12:59:57Z suehring $157 ! Bugfix radiation output158 !159 ! 3607 2018-12-07 11:56:58Z suehring160 ! Output of radiation-related quantities migrated to radiation_model_mod.161 !162 ! 3589 2018-11-30 15:09:51Z suehring163 ! Remove erroneous UTF encoding164 !165 ! 3572 2018-11-28 11:40:28Z suehring166 ! Add filling the short- and longwave radiation flux arrays (e.g. diffuse,167 ! direct, reflected, resedual) for all surfaces. This is required to surface168 ! outputs in suface_output_mod. (M. Salim)169 !170 ! 3571 2018-11-28 09:24:03Z moh.hefny171 ! Add an epsilon value to compare values in if statement to fix possible172 ! precsion related errors in raytrace routines.173 !174 ! 3524 2018-11-14 13:36:44Z raasch175 ! missing cpp-directives added176 !177 ! 3495 2018-11-06 15:22:17Z kanani178 ! Resort control_parameters ONLY list,179 ! From branch radiation@3491 moh.hefny:180 ! bugfix in calculating the apparent solar positions by updating181 ! the simulated time so that the actual time is correct.182 !183 ! 3464 2018-10-30 18:08:55Z kanani184 ! From branch resler@3462, pavelkrc:185 ! add MRT shaping function for human186 !187 ! 3449 2018-10-29 19:36:56Z suehring188 ! New RTM version 3.0: (Pavel Krc, Jaroslav Resler, ICS, Prague)189 ! - Interaction of plant canopy with LW radiation190 ! - Transpiration from resolved plant canopy dependent on radiation191 ! called from RTM192 !193 !194 ! 3435 2018-10-26 18:25:44Z gronemeier195 ! - workaround: return unit=illegal in check_data_output for certain variables196 ! when check called from init_masks197 ! - Use pointer in masked output to reduce code redundancies198 ! - Add terrain-following masked output199 !200 ! 3424 2018-10-25 07:29:10Z gronemeier201 ! bugfix: add rad_lw_in, rad_lw_out, rad_sw_out to radiation_check_data_output202 !203 ! 3378 2018-10-19 12:34:59Z kanani204 ! merge from radiation branch (r3362) into trunk205 ! (moh.hefny):206 ! - removed read/write_svf_on_init and read_dist_max_svf (not used anymore)207 ! - bugfix nzut > nzpt in calculating maxboxes208 !209 ! 3372 2018-10-18 14:03:19Z raasch210 ! bugfix: kind type of 2nd argument of mpi_win_allocate changed, misplaced211 ! __parallel directive212 !213 ! 3351 2018-10-15 18:40:42Z suehring214 ! Do not overwrite values of spectral and broadband albedo during initialization215 ! if they are already initialized in the urban-surface model via ASCII input.216 !217 ! 3337 2018-10-12 15:17:09Z kanani218 ! - New RTM version 2.9: (Pavel Krc, Jaroslav Resler, ICS, Prague)219 ! added calculation of the MRT inside the RTM module220 ! MRT fluxes are consequently used in the new biometeorology module221 ! for calculation of biological indices (MRT, PET)222 ! Fixes of v. 2.5 and SVN trunk:223 ! - proper initialization of rad_net_l224 ! - make arrays nsurfs and surfstart TARGET to prevent some MPI problems225 ! - initialization of arrays used in MPI one-sided operation as 1-D arrays226 ! to prevent problems with some MPI/compiler combinations227 ! - fix indexing of target displacement in subroutine request_itarget to228 ! consider nzub229 ! - fix LAD dimmension range in PCB calculation230 ! - check ierr in all MPI calls231 ! - use proper per-gridbox sky and diffuse irradiance232 ! - fix shading for reflected irradiance233 ! - clear away the residuals of "atmospheric surfaces" implementation234 ! - fix rounding bug in raytrace_2d introduced in SVN trunk235 ! - New RTM version 2.5: (Pavel Krc, Jaroslav Resler, ICS, Prague)236 ! can use angular discretization for all SVF237 ! (i.e. reflected and emitted radiation in addition to direct and diffuse),238 ! allowing for much better scaling wih high resoltion and/or complex terrain239 ! - Unite array grow factors240 ! - Fix slightly shifted terrain height in raytrace_2d241 ! - Use more efficient MPI_Win_allocate for reverse gridsurf index242 ! - Fix random MPI RMA bugs on Intel compilers243 ! - Fix approx. double plant canopy sink values for reflected radiation244 ! - Fix mostly missing plant canopy sinks for direct radiation245 ! - Fix discretization errors for plant canopy sink in diffuse radiation246 ! - Fix rounding errors in raytrace_2d247 !248 ! 3274 2018-09-24 15:42:55Z knoop249 ! Modularization of all bulk cloud physics code components250 !251 ! 3272 2018-09-24 10:16:32Z suehring252 ! - split direct and diffusion shortwave radiation using RRTMG rather than using253 ! calc_diffusion_radiation, in case of RRTMG254 ! - removed the namelist variable split_diffusion_radiation. Now splitting depends255 ! on the choise of radiation radiation scheme256 ! - removed calculating the rdiation flux for surfaces at the radiation scheme257 ! in case of using RTM since it will be calculated anyway in the radiation258 ! interaction routine.259 ! - set SW radiation flux for surfaces to zero at night in case of no RTM is used260 ! - precalculate the unit vector yxdir of ray direction to avoid the temporarly261 ! array allocation during the subroutine call262 ! - fixed a bug in calculating the max number of boxes ray can cross in the domain263 !264 ! 3264 2018-09-20 13:54:11Z moh.hefny265 ! Bugfix in raytrace_2d calls266 !267 ! 3248 2018-09-14 09:42:06Z sward268 ! Minor formating changes269 !270 ! 3246 2018-09-13 15:14:50Z sward271 ! Added error handling for input namelist via parin_fail_message272 !273 ! 3241 2018-09-12 15:02:00Z raasch274 ! unused variables removed or commented275 !276 ! 3233 2018-09-07 13:21:24Z schwenkel277 ! Adapted for the use of cloud_droplets278 !279 ! 3230 2018-09-05 09:29:05Z schwenkel280 ! Bugfix in radiation_constant_surf: changed (10.0 - emissivity_urb) to281 ! (1.0 - emissivity_urb)282 !283 ! 3226 2018-08-31 12:27:09Z suehring284 ! Bugfixes in calculation of sky-view factors and canopy-sink factors.285 !286 ! 3186 2018-07-30 17:07:14Z suehring287 ! Remove print statement288 !289 ! 3180 2018-07-27 11:00:56Z suehring290 ! Revise concept for calculation of effective radiative temperature and mapping291 ! of radiative heating292 !293 ! 3175 2018-07-26 14:07:38Z suehring294 ! Bugfix for commit 3172295 !296 ! 3173 2018-07-26 12:55:23Z suehring297 ! Revise output of surface radiation quantities in case of overhanging298 ! structures299 !300 ! 3172 2018-07-26 12:06:06Z suehring301 ! Bugfixes:302 ! - temporal work-around for calculation of effective radiative surface303 ! temperature304 ! - prevent positive solar radiation during nighttime305 !306 ! 3170 2018-07-25 15:19:37Z suehring307 ! Bugfix, map signle-column radiation forcing profiles on top of any topography308 !309 ! 3156 2018-07-19 16:30:54Z knoop310 ! Bugfix: replaced usage of the pt array with the surf%pt_surface array311 !312 ! 3137 2018-07-17 06:44:21Z maronga313 ! String length for trace_names fixed314 !315 ! 3127 2018-07-15 08:01:25Z maronga316 ! A few pavement parameters updated.317 !318 ! 3123 2018-07-12 16:21:53Z suehring319 ! Correct working precision for INTEGER number320 !321 ! 3122 2018-07-11 21:46:41Z maronga322 ! Bugfix: maximum distance for raytracing was set to -999 m by default,323 ! effectively switching off all surface reflections when max_raytracing_dist324 ! was not explicitly set in namelist325 !326 ! 3117 2018-07-11 09:59:11Z maronga327 ! Bugfix: water vapor was not transfered to RRTMG when bulk_cloud_model = .F.328 ! Bugfix: changed the calculation of RRTMG boundary conditions (Mohamed Salim)329 ! Bugfix: dry residual atmosphere is replaced by standard RRTMG atmosphere330 !331 ! 3116 2018-07-10 14:31:58Z suehring332 ! Output of long/shortwave radiation at surface333 !334 ! 3107 2018-07-06 15:55:51Z suehring335 ! Bugfix, missing index for dz336 !337 ! 3066 2018-06-12 08:55:55Z Giersch338 ! Error message revised339 !340 ! 3065 2018-06-12 07:03:02Z Giersch341 ! dz was replaced by dz(1), error message concerning vertical stretching was342 ! added343 !344 ! 3049 2018-05-29 13:52:36Z Giersch345 ! Error messages revised346 !347 ! 3045 2018-05-28 07:55:41Z Giersch348 ! Error message revised349 !350 ! 3026 2018-05-22 10:30:53Z schwenkel351 ! Changed the name specific humidity to mixing ratio, since we are computing352 ! mixing ratios.353 !354 ! 3016 2018-05-09 10:53:37Z Giersch355 ! Revised structure of reading svf data according to PALM coding standard:356 ! svf_code_field/len and fsvf removed, error messages PA0493 and PA0494 added,357 ! allocation status of output arrays checked.358 !359 ! 3014 2018-05-09 08:42:38Z maronga360 ! Introduced plant canopy height similar to urban canopy height to limit361 ! the memory requirement to allocate lad.362 ! Deactivated automatic setting of minimum raytracing distance.363 !364 ! 3004 2018-04-27 12:33:25Z Giersch365 ! Further allocation checks implemented (averaged data will be assigned to fill366 ! values if no allocation happened so far)367 !368 ! 2995 2018-04-19 12:13:16Z Giersch369 ! IF-statement in radiation_init removed so that the calculation of radiative370 ! fluxes at model start is done in any case, bugfix in371 ! radiation_presimulate_solar_pos (end_time is the sum of end_time and the372 ! spinup_time specified in the p3d_file ), list of variables/fields that have373 ! to be written out or read in case of restarts has been extended374 !375 ! 2977 2018-04-17 10:27:57Z kanani376 ! Implement changes from branch radiation (r2948-2971) with minor modifications,377 ! plus some formatting.378 ! (moh.hefny):379 ! - replaced plant_canopy by npcbl to check tree existence to avoid weird380 ! allocation of related arrays (after domain decomposition some domains381 ! contains no trees although plant_canopy (global parameter) is still TRUE).382 ! - added a namelist parameter to force RTM settings383 ! - enabled the option to switch radiation reflections off384 ! - renamed surf_reflections to surface_reflections385 ! - removed average_radiation flag from the namelist (now it is implicitly set386 ! in init_3d_model according to RTM)387 ! - edited read and write sky view factors and CSF routines to account for388 ! the sub-domains which may not contain any of them389 !390 ! 2967 2018-04-13 11:22:08Z raasch391 ! bugfix: missing parallel cpp-directives added392 !393 ! 2964 2018-04-12 16:04:03Z Giersch394 ! Error message PA0491 has been introduced which could be previously found in395 ! check_open. The variable numprocs_previous_run is only known in case of396 ! initializing_actions == read_restart_data397 !398 ! 2963 2018-04-12 14:47:44Z suehring399 ! - Introduce index for vegetation/wall, pavement/green-wall and water/window400 ! surfaces, for clearer access of surface fraction, albedo, emissivity, etc. .401 ! - Minor bugfix in initialization of albedo for window surfaces402 !403 ! 2944 2018-04-03 16:20:18Z suehring404 ! Fixed bad commit405 !406 ! 2943 2018-04-03 16:17:10Z suehring407 ! No read of nsurfl from SVF file since it is calculated in408 ! radiation_interaction_init,409 ! allocation of arrays in radiation_read_svf only if not yet allocated,410 ! update of 2920 revision comment.411 !412 ! 2932 2018-03-26 09:39:22Z maronga413 ! renamed radiation_par to radiation_parameters414 !415 ! 2930 2018-03-23 16:30:46Z suehring416 ! Remove default surfaces from radiation model, does not make much sense to417 ! apply radiation model without energy-balance solvers; Further, add check for418 ! this.419 !420 ! 2920 2018-03-22 11:22:01Z kanani421 ! - Bugfix: Initialize pcbl array (=-1)422 ! RTM version 2.0 (Jaroslav Resler, Pavel Krc, Mohamed Salim):423 ! - new major version of radiation interactions424 ! - substantially enhanced performance and scalability425 ! - processing of direct and diffuse solar radiation separated from reflected426 ! radiation, removed virtual surfaces427 ! - new type of sky discretization by azimuth and elevation angles428 ! - diffuse radiation processed cumulatively using sky view factor429 ! - used precalculated apparent solar positions for direct irradiance430 ! - added new 2D raytracing process for processing whole vertical column at once431 ! to increase memory efficiency and decrease number of MPI RMA operations432 ! - enabled limiting the number of view factors between surfaces by the distance433 ! and value434 ! - fixing issues induced by transferring radiation interactions from435 ! urban_surface_mod to radiation_mod436 ! - bugfixes and other minor enhancements437 !438 ! 2906 2018-03-19 08:56:40Z Giersch439 ! NAMELIST paramter read/write_svf_on_init have been removed, functions440 ! check_open and close_file are used now for opening/closing files related to441 ! svf data, adjusted unit number and error numbers442 !443 ! 2894 2018-03-15 09:17:58Z Giersch444 ! Calculations of the index range of the subdomain on file which overlaps with445 ! the current subdomain are already done in read_restart_data_mod446 ! radiation_read_restart_data was renamed to radiation_rrd_local and447 ! radiation_last_actions was renamed to radiation_wrd_local, variable named448 ! found has been introduced for checking if restart data was found, reading449 ! of restart strings has been moved completely to read_restart_data_mod,450 ! radiation_rrd_local is already inside the overlap loop programmed in451 ! read_restart_data_mod, the marker *** end rad *** is not necessary anymore,452 ! strings and their respective lengths are written out and read now in case of453 ! restart runs to get rid of prescribed character lengths (Giersch)454 !455 ! 2809 2018-02-15 09:55:58Z suehring456 ! Bugfix for gfortran: Replace the function C_SIZEOF with STORAGE_SIZE457 !458 ! 2753 2018-01-16 14:16:49Z suehring459 ! Tile approach for spectral albedo implemented.460 !461 ! 2746 2018-01-15 12:06:04Z suehring462 ! Move flag plant canopy to modules463 !464 ! 2724 2018-01-05 12:12:38Z maronga465 ! Set default of average_radiation to .FALSE.466 !467 ! 2723 2018-01-05 09:27:03Z maronga468 ! Bugfix in calculation of rad_lw_out (clear-sky). First grid level was used469 ! instead of the surface value470 !471 ! 2718 2018-01-02 08:49:38Z maronga472 ! Corrected "Former revisions" section473 !474 ! 2707 2017-12-18 18:34:46Z suehring475 ! Changes from last commit documented476 !477 ! 2706 2017-12-18 18:33:49Z suehring478 ! Bugfix, in average radiation case calculate exner function before using it.479 !480 ! 2701 2017-12-15 15:40:50Z suehring481 ! Changes from last commit documented482 !483 ! 2698 2017-12-14 18:46:24Z suehring484 ! Bugfix in get_topography_top_index485 !486 ! 2696 2017-12-14 17:12:51Z kanani487 ! - Change in file header (GPL part)488 ! - Improved reading/writing of SVF from/to file (BM)489 ! - Bugfixes concerning RRTMG as well as average_radiation options (M. Salim)490 ! - Revised initialization of surface albedo and some minor bugfixes (MS)491 ! - Update net radiation after running radiation interaction routine (MS)492 ! - Revisions from M Salim included493 ! - Adjustment to topography and surface structure (MS)494 ! - Initialization of albedo and surface emissivity via input file (MS)495 ! - albedo_pars extended (MS)496 !497 ! 2604 2017-11-06 13:29:00Z schwenkel498 ! bugfix for calculation of effective radius using morrison microphysics499 !500 ! 2601 2017-11-02 16:22:46Z scharf501 ! added emissivity to namelist502 !503 ! 2575 2017-10-24 09:57:58Z maronga504 ! Bugfix: calculation of shortwave and longwave albedos for RRTMG swapped505 !506 ! 2547 2017-10-16 12:41:56Z schwenkel507 ! extended by cloud_droplets option, minor bugfix and correct calculation of508 ! cloud droplet number concentration509 !510 ! 2544 2017-10-13 18:09:32Z maronga511 ! Moved date and time quantitis to separate module date_and_time_mod512 !513 ! 2512 2017-10-04 08:26:59Z raasch514 ! upper bounds of cross section and 3d output changed from nx+1,ny+1 to nx,ny515 ! no output of ghost layer data516 !517 ! 2504 2017-09-27 10:36:13Z maronga518 ! Updates pavement types and albedo parameters519 !520 ! 2328 2017-08-03 12:34:22Z maronga521 ! Emissivity can now be set individually for each pixel.522 ! Albedo type can be inferred from land surface model.523 ! Added default albedo type for bare soil524 !525 ! 2318 2017-07-20 17:27:44Z suehring526 ! Get topography top index via Function call527 !528 ! 2317 2017-07-20 17:27:19Z suehring529 ! Improved syntax layout530 !531 ! 2298 2017-06-29 09:28:18Z raasch532 ! type of write_binary changed from CHARACTER to LOGICAL533 !534 ! 2296 2017-06-28 07:53:56Z maronga535 ! Added output of rad_sw_out for radiation_scheme = 'constant'536 !537 ! 2270 2017-06-09 12:18:47Z maronga538 ! Numbering changed (2 timeseries removed)539 !540 ! 2249 2017-06-06 13:58:01Z sward541 ! Allow for RRTMG runs without humidity/cloud physics542 !543 ! 2248 2017-06-06 13:52:54Z sward544 ! Error no changed545 !546 ! 2233 2017-05-30 18:08:54Z suehring547 !548 ! 2232 2017-05-30 17:47:52Z suehring549 ! Adjustments to new topography concept550 ! Bugfix in read restart551 !552 ! 2200 2017-04-11 11:37:51Z suehring553 ! Bugfix in call of exchange_horiz_2d and read restart data554 !555 ! 2163 2017-03-01 13:23:15Z schwenkel556 ! Bugfix in radiation_check_data_output557 !558 ! 2157 2017-02-22 15:10:35Z suehring559 ! Bugfix in read_restart data560 !561 ! 2011 2016-09-19 17:29:57Z kanani562 ! Removed CALL of auxiliary SUBROUTINE get_usm_info,563 ! flag urban_surface is now defined in module control_parameters.564 !565 ! 2007 2016-08-24 15:47:17Z kanani566 ! Added calculation of solar directional vector for new urban surface567 ! model,568 ! accounted for urban_surface model in radiation_check_parameters,569 ! correction of comments for zenith angle.570 !571 ! 2000 2016-08-20 18:09:15Z knoop572 ! Forced header and separation lines into 80 columns573 !574 ! 1976 2016-07-27 13:28:04Z maronga575 ! Output of 2D/3D/masked data is now directly done within this module. The576 ! radiation schemes have been simplified for better usability so that577 ! rad_lw_in, rad_lw_out, rad_sw_in, and rad_sw_out are available independent of578 ! the radiation code used.579 !580 ! 1856 2016-04-13 12:56:17Z maronga581 ! Bugfix: allocation of rad_lw_out for radiation_scheme = 'clear-sky'582 !583 ! 1853 2016-04-11 09:00:35Z maronga584 ! Added routine for radiation_scheme = constant.585 !586 ! 1849 2016-04-08 11:33:18Z hoffmann587 ! Adapted for modularization of microphysics588 !589 ! 1826 2016-04-07 12:01:39Z maronga590 ! Further modularization.591 !592 ! 1788 2016-03-10 11:01:04Z maronga593 ! Added new albedo class for pavements / roads.594 !595 ! 1783 2016-03-06 18:36:17Z raasch596 ! palm-netcdf-module removed in order to avoid a circular module dependency,597 ! netcdf-variables moved to netcdf-module, new routine netcdf_handle_error_rad598 ! added599 !600 ! 1757 2016-02-22 15:49:32Z maronga601 ! Added parameter unscheduled_radiation_calls. Bugfix: interpolation of sounding602 ! profiles for pressure and temperature above the LES domain.603 !604 ! 1709 2015-11-04 14:47:01Z maronga605 ! Bugfix: set initial value for rrtm_lwuflx_dt to zero, small formatting606 ! corrections607 !608 ! 1701 2015-11-02 07:43:04Z maronga609 ! Bugfixes: wrong index for output of timeseries, setting of nz_snd_end610 !611 ! 1691 2015-10-26 16:17:44Z maronga612 ! Added option for spin-up runs without radiation (skip_time_do_radiation). Bugfix613 ! in calculation of pressure profiles. Bugfix in calculation of trace gas profiles.614 ! Added output of radiative heating rates.615 !616 ! 1682 2015-10-07 23:56:08Z knoop617 ! Code annotations made doxygen readable618 !619 ! 1606 2015-06-29 10:43:37Z maronga620 ! Added preprocessor directive __netcdf to allow for compiling without netCDF.621 ! Note, however, that RRTMG cannot be used without netCDF.622 !623 ! 1590 2015-05-08 13:56:27Z maronga624 ! Bugfix: definition of character strings requires same length for all elements625 !626 ! 1587 2015-05-04 14:19:01Z maronga627 ! Added albedo class for snow628 !629 ! 1585 2015-04-30 07:05:52Z maronga630 ! Added support for RRTMG631 !632 ! 1571 2015-03-12 16:12:49Z maronga633 ! Added missing KIND attribute. Removed upper-case variable names634 !635 ! 1551 2015-03-03 14:18:16Z maronga636 ! Added support for data output. Various variables have been renamed. Added637 ! interface for different radiation schemes (currently: clear-sky, constant, and638 ! RRTM (not yet implemented).639 !640 ! 1496 2014-12-02 17:25:50Z maronga641 ! Initial revision642 145 ! 643 146 !
Note: See TracChangeset
for help on using the changeset viewer.