- Timestamp:
- Jan 23, 2019 2:45:49 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/land_surface_model_mod.f90
r3685 r3692 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Revise check for soil moisture higher than its saturation value 28 ! 29 ! 3685 2019-01-21 01:02:11Z knoop 27 30 ! Some interface calls moved to module_interface + cleanup 28 31 ! … … 1653 1656 CALL message( 'lsm_check_parameters', 'PA0401', 1, 2, 0, 6, 0 ) 1654 1657 ENDIF 1655 ENDIF 1656 1657 1658 ! 1659 !-- Check for proper setting of soil moisture, must not be larger than its 1660 !-- saturation value. 1661 DO k = nzb_soil, nzt_soil 1662 IF ( soil_moisture(k) > saturation_moisture ) THEN 1663 message_string = 'soil_moisture must not exceed its saturation' // & 1664 ' value' 1665 CALL message( 'lsm_check_parameters', 'PA0458', 1, 2, 0, 6, 0 ) 1666 ENDIF 1667 ENDDO 1668 1658 ENDIF 1669 1659 ! 1670 1660 !-- Calculate grid spacings. Temperature and moisture are defined at … … 4441 4431 ENDIF 4442 4432 ! 4433 !-- After soil moisture and temperature are finally initialized, check 4434 !-- if soil moisture is higher than its saturation value. Else, this 4435 !-- will produce floating point errors in the soil model parametrization. 4436 DO m = 1, surf_lsm_h%ns 4437 IF ( surf_lsm_h%vegetation_surface(m) .OR. & 4438 surf_lsm_h%pavement_surface(m) ) THEN 4439 DO k = nzb_soil, nzt_soil 4440 IF ( m_soil_h%var_2d(k,m) >= surf_lsm_h%m_sat(k,m) ) THEN 4441 WRITE( message_string, * ) 'soil moisture is higher '// & 4442 'than its saturation value at (k,j,i) ', k, & 4443 surf_lsm_h%i(m), surf_lsm_h%j(m) 4444 CALL message( 'lsm_init', 'PA0458', 2, 2, 0, 6, 0 ) 4445 ENDIF 4446 ENDDO 4447 ENDIF 4448 ENDDO 4449 DO l = 0, 3 4450 DO m = 1, surf_lsm_v(l)%ns 4451 IF ( surf_lsm_v(l)%vegetation_surface(m) .OR. & 4452 surf_lsm_v(l)%pavement_surface(m) ) THEN 4453 DO k = nzb_soil, nzt_soil 4454 IF ( m_soil_v(l)%var_2d(k,m) >= surf_lsm_v(l)%m_sat(k,m) ) & 4455 THEN 4456 WRITE( message_string, * ) & 4457 'soil moisture is higher than ' // & 4458 'its saturation value at (k,j,i) ', k, & 4459 surf_lsm_v(l)%i(m), surf_lsm_v(l)%j(m) 4460 CALL message( 'lsm_init', 'PA0458', 2, 2, 0, 6, 0 ) 4461 ENDIF 4462 ENDDO 4463 ENDIF 4464 ENDDO 4465 ENDDO 4466 4467 ! 4443 4468 !-- Further initialization 4444 4469 DO m = 1, surf_lsm_h%ns
Note: See TracChangeset
for help on using the changeset viewer.