Changeset 4180 for palm/trunk/SOURCE/land_surface_model_mod.f90
- Timestamp:
- Aug 21, 2019 2:37:54 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/land_surface_model_mod.f90
r4118 r4180 107 107 ! nopointer option removed 108 108 ! 109 ! 3620 2018-12-11 12:29:43Z moh.hefny110 ! update the 3d rad_lw_out array111 !112 ! 3597 2018-12-04 08:40:18Z maronga113 ! Added pt_2m / theta_2m. Removed unncessary _eb strings.114 !115 ! 3486 2018-11-05 06:20:18Z maronga116 ! Bugfix for liquid water treatment on pavements117 !118 ! 3361 2018-10-16 20:39:37Z knoop119 ! Bugfix in initialization of soil properties from dynamic input file120 !121 ! 3347 2018-10-15 14:21:08Z suehring122 ! Assign real value instead of integer123 !124 ! 3341 2018-10-15 10:31:27Z suehring125 ! Modularization of all bulk cloud physics code components126 !127 ! 3271 2018-09-24 08:20:34Z suehring128 ! Several bugfixes:129 ! - Initialization of pt_surface array with soil temperature in the uppermost130 ! soil layer, else heat fluxes at the very first time step become quite large131 ! - Default initialization of vertical surface elements in special case terrain132 ! height changes are larger than adjacent building heights.133 !134 ! 3256 2018-09-17 12:20:07Z suehring135 ! Enable initialization of z0q for vegetation, pavement and water surfaces via136 ! namelist input.137 !138 ! 3248 2018-09-14 09:42:06Z sward139 ! Minor formating changes140 !141 ! 3246 2018-09-13 15:14:50Z sward142 ! Added error handling for input namelist via parin_fail_message143 !144 ! 3241 2018-09-12 15:02:00Z raasch145 ! unused variables removed146 !147 ! 3233 2018-09-07 13:21:24Z schwenkel148 ! Adapted for the use of cloud_droplets149 !150 ! 3222 2018-08-30 13:35:35Z suehring151 ! - Introduction of surface array for type and its names152 ! - Bugfix in intialization of pavement surfaces153 !154 ! 3215 2018-08-29 09:58:59Z suehring155 ! Enable optional initialization of soil properties directly from dynamic156 ! input file.157 !158 ! 3209 2018-08-27 16:58:37Z suehring159 ! Added maximum aerodynamic resistance of 300.160 !161 ! 3161 2018-07-23 09:30:10Z maronga162 ! Increased roughness of asphalt surfaces to account for turbulence production163 ! by traffic and other obstacles164 !165 ! 3152 2018-07-19 13:26:52Z suehring166 ! Further adjustments for q_surface167 !168 ! 3147 2018-07-18 22:38:11Z maronga169 ! Adjustments for new surface structure170 !171 ! 3146 2018-07-18 22:36:19Z maronga172 ! Modified calculation of the surface resistance r_s173 !174 ! 3142 2018-07-17 15:27:45Z suehring175 ! Minor bugfix for last commit.176 !177 ! 3138 2018-07-17 08:21:20Z maronga178 ! Bugfix: limit roughness lengths in case of sea surface with constant_roughness179 ! = .F.180 !181 ! 3136 2018-07-16 14:48:21Z suehring182 ! Limit also roughness length for heat and moisture where necessary;183 ! Limit surface resistance to positive values184 !185 ! 3133 2018-07-16 11:46:50Z maronga186 ! Bugfix for last commit.187 !188 ! Some adjustments for pavement parameters189 ! Limit magnus formula to avoid negative q_s (leads to model crash)190 !191 ! 3091 2018-06-28 16:20:35Z suehring192 ! Add check for local roughness length not exceeding surface-layer height and193 ! limit roughness length where necessary.194 !195 ! 3051 2018-05-30 17:43:55Z suehring196 ! Bugfix in surface-element loops for pavement surfaces197 !198 ! 3045 2018-05-28 07:55:41Z Giersch199 ! Error messages revised200 !201 ! 3045 2018-05-28 07:55:41Z Giersch202 ! Error messages revised and added203 !204 ! 3026 2018-05-22 10:30:53Z schwenkel205 ! Changed the name specific humidity to mixing ratio, since we are computing206 ! mixing ratios.207 !208 ! 3014 2018-05-09 08:42:38Z maronga209 ! Bugfix: set some initial values210 ! Bugfix: domain bounds of local_pf corrected211 !212 ! 3004 2018-04-27 12:33:25Z Giersch213 ! Further allocation checks implemented (averaged data will be assigned to fill214 ! values if no allocation happened so far)215 !216 ! 2968 2018-04-13 11:52:24Z suehring217 ! Bugfix in initialization in case of elevated model surface218 !219 ! 2963 2018-04-12 14:47:44Z suehring220 ! - In initialization of surface types, consider the case that surface_fractions221 ! is not given in static input file.222 ! - Introduce index for vegetation/wall, pavement/green-wall and water/window223 ! surfaces, for clearer access of surface fraction, albedo, emissivity, etc. .224 !225 ! 2938 2018-03-27 15:52:42Z suehring226 ! Initialization of soil moisture and temperature via Inifor-provided data also227 ! in nested child domains, even if no dynamic input file is available for228 ! child domain. 1D soil profiles are received from parent model.229 !230 ! 2936 2018-03-27 14:49:27Z suehring231 ! renamed lsm_par to land_surface_parameters. Bugfix in message calls232 !233 ! 2921 2018-03-22 15:05:23Z Giersch234 ! The activation of spinup has been moved to parin235 !236 ! 2894 2018-03-15 09:17:58Z Giersch237 ! Calculations of the index range of the subdomain on file which overlaps with238 ! the current subdomain are already done in read_restart_data_mod,239 ! lsm_read/write_restart_data was renamed to lsm_r/wrd_local, USE kinds has240 ! been removed in several routines, variable named found has been241 ! introduced for checking if restart data was found, reading of restart strings242 ! has been moved completely to read_restart_data_mod, lsm_rrd_local is already243 ! inside the overlap loop programmed in read_restart_data_mod, the marker ***244 ! end lsm *** is not necessary anymore, strings and their respective lengths245 ! are written out and read now in case of restart runs to get rid of prescribed246 ! character lengths, SAVE attribute added where necessary, deallocation and247 ! allocation of some arrays have been changed to take care of different restart248 ! files that can be opened (index i)249 !250 ! 2881 2018-03-13 16:24:40Z suehring251 ! Bugfix: wrong loop structure for soil moisture calculation252 !253 ! 2805 2018-02-14 17:00:09Z suehring254 ! Bugfix in initialization of roughness over water surfaces255 !256 ! 2798 2018-02-09 17:16:39Z suehring257 ! Minor bugfix for initialization of pt_surface258 !259 ! 2797 2018-02-08 13:24:35Z suehring260 ! Move output of ghf to general 2D output to output ghf also at urban-type261 ! surfaces.262 ! Move restart data of ghf_av to read/write_3d_binary, as this is not a263 ! exclusively LSM variable anymore.264 !265 ! 2765 2018-01-22 11:34:58Z maronga266 ! Major bugfix in calculation of f_shf for vertical surfaces267 !268 ! 2735 2018-01-11 12:01:27Z suehring269 ! output of r_a moved from land-surface to consider also urban-type surfaces270 !271 ! 2729 2018-01-09 11:22:28Z maronga272 ! Separated deep soil temperature from soil_temperature array273 !274 ! 2724 2018-01-05 12:12:38Z maronga275 ! Added security check for insufficient soil_temperature values276 !277 ! 2723 2018-01-05 09:27:03Z maronga278 ! Bugfix for spinups (end_time was increased twice in case of LSM + USM runs)279 !280 ! 2718 2018-01-02 08:49:38Z maronga281 ! Corrected "Former revisions" section282 !283 ! 2707 2017-12-18 18:34:46Z suehring284 ! Changes from last commit documented285 !286 ! 2706 2017-12-18 18:33:49Z suehring287 ! Bugfix, read surface temperature in case of restart runs.288 !289 ! 2705 2017-12-18 11:26:23Z maronga290 ! Bugfix in binary output (wrong sequence)291 !292 ! 2696 2017-12-14 17:12:51Z kanani293 ! Change in file header (GPL part)294 ! Bugfix: missing USE statement for calc_mean_profile295 ! do not write surface temperatures onto pt array as this might cause296 ! problems with nesting (MS)297 ! Revised calculation of pt1 and qv1 (now done in surface_layer_fluxes). Bugfix298 ! in calculation of surface density (cannot be done via an surface non-air299 ! temperature) (BM)300 ! Bugfix: g_d was NaN for non-vegetaed surface types (BM)301 ! Bugfix initialization of c_veg and lai302 ! Revise data output to enable _FillValues303 ! Bugfix in calcultion of r_a and rad_net_l (MS)304 ! Bugfix: rad_net is not updated in case of radiation_interaction and must thu305 ! be calculated again from the radiative fluxes306 ! Temporary fix for cases where no soil model is used on some PEs (BM)307 ! Revised input and initialization of soil and surface paramters308 ! pavement_depth is variable for each surface element309 ! radiation quantities belong to surface type now310 ! surface fractions initialized311 ! Rename lsm_last_actions into lsm_wrd_subdomain (MS)312 !313 ! 2608 2017-11-13 14:04:26Z schwenkel314 ! Calculation of magnus equation in external module (diagnostic_quantities_mod).315 ! Adjust calculation of vapor pressure and saturation mixing ratio that it is316 ! consistent with formulations in other parts of PALM.317 !318 ! 2575 2017-10-24 09:57:58Z maronga319 ! Pavement parameterization revised320 !321 ! 2573 2017-10-20 15:57:49Z scharf322 ! bugfixes in last_actions323 !324 ! 2548 2017-10-16 13:18:20Z suehring325 ! extended by cloud_droplets option326 !327 ! 2532 2017-10-11 16:00:46Z scharf328 ! bugfixes in data_output_3d329 !330 ! 2516 2017-10-04 11:03:04Z suehring331 ! Remove tabs332 !333 ! 2514 2017-10-04 09:52:37Z suehring334 ! upper bounds of cross section and 3d output changed from nx+1,ny+1 to nx,ny335 ! no output of ghost layer data336 !337 ! 2504 2017-09-27 10:36:13Z maronga338 ! Support roots and water under pavement. Added several pavement types.339 !340 ! 2476 2017-09-18 07:54:32Z maronga341 ! Bugfix for last commit342 !343 ! 2475 2017-09-18 07:42:36Z maronga344 ! Bugfix: setting of vegetation_pars for bare soil corrected.345 !346 ! 2354 2017-08-17 10:49:36Z schwenkel347 ! minor bugfixes348 !349 ! 2340 2017-08-07 17:11:13Z maronga350 ! Revised root_distribution tabel and implemented a pseudo-generic root fraction351 ! calculation352 !353 ! 2333 2017-08-04 09:08:26Z maronga354 ! minor bugfixes355 !356 ! 2332 2017-08-03 21:15:22Z maronga357 ! bugfix in pavement_pars358 !359 ! 2328 2017-08-03 12:34:22Z maronga360 ! Revised skin layer concept.361 ! Bugfix for runs with pavement surface and humidity362 ! Revised some standard values in vegetation_pars363 ! Added emissivity and default albedo_type as variable to tables364 ! Changed default surface type to vegetation365 ! Revised input of soil layer configuration366 !367 ! 2307 2017-07-07 11:32:10Z suehring368 ! Bugfix, variable names corrected369 !370 ! 2299 2017-06-29 10:14:38Z maronga371 ! Removed pt_p from USE statement. Adjusted call to lsm_soil_model to allow372 ! spinups without soil moisture prediction373 !374 ! 2298 2017-06-29 09:28:18Z raasch375 ! type of write_binary changed from CHARACTER to LOGICAL376 !377 ! 2296 2017-06-28 07:53:56Z maronga378 ! Bugfix in calculation of bare soil heat capacity.379 ! Bugfix in calculation of shf380 ! Added support for spinups381 !382 ! 2282 2017-06-13 11:38:46Z schwenkel383 ! Bugfix for check of saturation moisture384 !385 ! 2273 2017-06-09 12:46:06Z sward386 ! Error number changed387 !388 ! 2270 2017-06-09 12:18:47Z maronga389 ! Revised parameterization of heat conductivity between skin layer and soil.390 ! Temperature and moisture are now defined at the center of the layers.391 ! Renamed veg_type to vegetation_type and pave_type to pavement_type_name392 ! Renamed and reduced the number of look-up tables (vegetation_pars, soil_pars)393 ! Revised land surface model initialization394 ! Removed output of shf_eb and qsws_eb and removed _eb throughout code395 ! Removed Clapp & Hornberger parameterization396 !397 ! 2249 2017-06-06 13:58:01Z sward398 !399 ! 2248 2017-06-06 13:52:54Z sward $400 ! Error no changed401 !402 ! 2246 2017-06-06 13:09:34Z sward403 ! Error no changed404 !405 ! Changed soil configuration to 8 layers. The number of soil layers is now406 ! freely adjustable via the NAMELIST.407 !408 ! 2237 2017-05-31 10:34:53Z suehring409 ! Bugfix in write restart data410 !411 ! 2233 2017-05-30 18:08:54Z suehring412 !413 ! 2232 2017-05-30 17:47:52Z suehring414 ! Adjustments to new topography and surface concept415 ! - now, also vertical walls are possible416 ! - for vertical walls, parametrization of r_a (aerodynamic resisistance) is417 ! implemented.418 !419 ! Add check for soil moisture, it must not exceed its saturation value.420 !421 ! 2149 2017-02-09 16:57:03Z scharf422 ! Land surface parameters II corrected for vegetation_type 18 and 19423 !424 ! 2031 2016-10-21 15:11:58Z knoop425 ! renamed variable rho to rho_ocean426 !427 ! 2000 2016-08-20 18:09:15Z knoop428 ! Forced header and separation lines into 80 columns429 !430 ! 1978 2016-07-29 12:08:31Z maronga431 ! Bugfix: initial values of pave_surface and water_surface were not set.432 !433 ! 1976 2016-07-27 13:28:04Z maronga434 ! Parts of the code have been reformatted. Use of radiation model output is435 ! generalized and simplified. Added more output quantities due to modularization436 !437 ! 1972 2016-07-26 07:52:02Z maronga438 ! Further modularization: output of cross sections and 3D data is now done in this439 ! module. Moreover, restart data is written and read directly within this module.440 !441 !442 ! 1966 2016-07-18 11:54:18Z maronga443 ! Bugfix: calculation of m_total in soil model was not set to zero at model start444 !445 ! 1949 2016-06-17 07:19:16Z maronga446 ! Bugfix: calculation of qsws_soil_eb with precipitation = .TRUE. gave447 ! qsws_soil_eb = 0 due to a typo448 !449 ! 1856 2016-04-13 12:56:17Z maronga450 ! Bugfix: for water surfaces, the initial water surface temperature is set equal451 ! to the intital skin temperature. Moreover, the minimum value of r_a is now452 ! 1.0 to avoid too large fluxes at the first model time step453 !454 ! 1849 2016-04-08 11:33:18Z hoffmann455 ! prr moved to arrays_3d456 !457 ! 1826 2016-04-07 12:01:39Z maronga458 ! Cleanup after modularization459 !460 ! 1817 2016-04-06 15:44:20Z maronga461 ! Added interface for lsm_init_arrays. Added subroutines for check_parameters,462 ! header, and parin. Renamed some subroutines.463 !464 ! 1788 2016-03-10 11:01:04Z maronga465 ! Bugfix: calculate lambda_surface based on temperature gradient between skin466 ! layer and soil layer instead of Obukhov length467 ! Changed: moved calculation of surface specific humidity to energy balance solver468 ! New: water surfaces are available by using a fixed sea surface temperature.469 ! The roughness lengths are calculated dynamically using the Charnock470 ! parameterization. This involves the new roughness length for moisture z0q.471 ! New: modified solution of the energy balance solver and soil model for472 ! paved surfaces (i.e. asphalt concrete).473 ! Syntax layout improved.474 ! Changed: parameter dewfall removed.475 !476 ! 1783 2016-03-06 18:36:17Z raasch477 ! netcdf variables moved to netcdf module478 !479 ! 1757 2016-02-22 15:49:32Z maronga480 ! Bugfix: set tm_soil_m to zero after allocation. Added parameter481 ! unscheduled_radiation_calls to control calls of the radiation model based on482 ! the skin temperature change during one time step (preliminary version). Set483 ! qsws_soil_eb to zero at model start (previously set to qsws_eb). Removed MAX484 ! function as it cannot be vectorized.485 !486 ! 1709 2015-11-04 14:47:01Z maronga487 ! Renamed pt_1 and qv_1 to pt1 and qv1.488 ! Bugfix: set initial values for t_surface_p in case of restart runs489 ! Bugfix: zero resistance caused crash when using radiation_scheme = 'clear-sky'490 ! Bugfix: calculation of rad_net when using radiation_scheme = 'clear-sky'491 ! Added todo action492 !493 ! 1697 2015-10-28 17:14:10Z raasch494 ! bugfix: misplaced cpp-directive495 !496 ! 1695 2015-10-27 10:03:11Z maronga497 ! Bugfix: REAL constants provided with KIND-attribute in call of498 ! Replaced rif with ol499 !500 ! 1691 2015-10-26 16:17:44Z maronga501 ! Added skip_time_do_lsm to allow for spin-ups without LSM. Various bugfixes:502 ! Soil temperatures are now defined at the edges of the layers, calculation of503 ! shb_eb corrected, prognostic equation for skin temperature corrected. Surface504 ! fluxes are now directly transfered to atmosphere505 !506 ! 1682 2015-10-07 23:56:08Z knoop507 ! Code annotations made doxygen readable508 !509 ! 1590 2015-05-08 13:56:27Z maronga510 ! Bugfix: definition of character strings requires same length for all elements511 !512 ! 1585 2015-04-30 07:05:52Z maronga513 ! Modifications for RRTMG. Changed tables to PARAMETER type.514 !515 ! 1571 2015-03-12 16:12:49Z maronga516 ! Removed upper-case variable names. Corrected distribution of precipitation to517 ! the liquid water reservoir and the bare soil fractions.518 !519 ! 1555 2015-03-04 17:44:27Z maronga520 ! Added output of r_a and r_s521 !522 ! 1553 2015-03-03 17:33:54Z maronga523 ! Improved better treatment of roughness lengths. Added default soil temperature524 ! profile525 !526 ! 1551 2015-03-03 14:18:16Z maronga527 ! Flux calculation is now done in prandtl_fluxes. Added support for data output.528 ! Vertical indices have been replaced. Restart runs are now possible. Some529 ! variables have beem renamed. Bugfix in the prognostic equation for the surface530 ! temperature. Introduced z0_eb and z0h_eb, which overwrite the setting of531 ! roughness_length and z0_factor. Added Clapp & Hornberger parametrization for532 ! the hydraulic conductivity. Bugfix for root fraction and extraction533 ! calculation534 !535 ! intrinsic function MAX and MIN536 !537 ! 1500 2014-12-03 17:42:41Z maronga538 ! Corrected calculation of aerodynamic resistance (r_a).539 ! Precipitation is now added to liquid water reservoir using LE_liq.540 ! Added support for dry runs.541 !542 ! 1496 2014-12-02 17:25:50Z maronga543 ! Initial revision544 !545 109 ! 546 110 ! Description:
Note: See TracChangeset
for help on using the changeset viewer.