Changeset 4514 for palm/trunk/SOURCE/init_3d_model.f90
- Timestamp:
- Apr 30, 2020 4:29:59 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_3d_model.f90
r4493 r4514 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Add possibility to initialize surface sensible and latent heat fluxes via 28 ! a static driver. 29 ! 30 ! 4493 2020-04-10 09:49:43Z pavelkrc 27 31 ! Overwrite u_init, v_init, pt_init, q_init and s_init with hom for all 28 32 ! cyclic_fill-cases, not only for turbulent_inflow = .TRUE. … … 1599 1603 !-- Initialize roughness length. Note, z0 will be only initialized at 1600 1604 !-- default-type surfaces. At natural or urban z0 is implicitly 1601 !-- initialized by the respective parameter lists.1605 !-- initialized by the respective parameter lists. 1602 1606 !-- Initialize horizontal surface elements. 1603 1607 CALL init_single_surface_properties( surf_def_h(0)%z0, & … … 1624 1628 ENDIF 1625 1629 ! 1626 !-- Additional variables, e.g. shf, qsws, etc, can be initialized the 1630 !-- Input surface sensible heat flux. 1631 IF ( check_existence( vars_pids, 'shf' ) ) THEN 1632 ! 1633 !-- Read _FillValue attribute 1634 CALL get_attribute( pids_id, char_fill, tmp_2d%fill, & 1635 .FALSE., 'shf' ) 1636 ! 1637 !-- Read variable 1638 CALL get_variable( pids_id, 'shf', tmp_2d%var, & 1639 nxl, nxr, nys, nyn ) 1640 ! 1641 !-- Initialize heat flux. Note, shf will be only initialized at 1642 !-- default-type surfaces. At natural or urban shf is implicitly 1643 !-- initialized by the respective parameter lists. 1644 !-- Initialize horizontal surface elements. 1645 CALL init_single_surface_properties( surf_def_h(0)%shf, & 1646 tmp_2d%var, & 1647 surf_def_h(0)%ns, & 1648 tmp_2d%fill, & 1649 surf_def_h(0)%i, & 1650 surf_def_h(0)%j ) 1651 ! 1652 !-- Initialize heat flux also at vertical surface elements. 1653 !-- Note, the actual 2D input arrays are only defined on the 1654 !-- subdomain. Therefore, pass the index arrays with their respective 1655 !-- offset values. 1656 DO l = 0, 3 1657 CALL init_single_surface_properties( & 1658 surf_def_v(l)%shf, & 1659 tmp_2d%var, & 1660 surf_def_v(l)%ns, & 1661 tmp_2d%fill, & 1662 surf_def_v(l)%i + surf_def_v(l)%ioff, & 1663 surf_def_v(l)%j + surf_def_v(l)%joff ) 1664 ENDDO 1665 1666 ENDIF 1667 ! 1668 !-- Input surface sensible heat flux. 1669 IF ( check_existence( vars_pids, 'qsws' ) ) THEN 1670 ! 1671 !-- Read _FillValue attribute 1672 CALL get_attribute( pids_id, char_fill, tmp_2d%fill, & 1673 .FALSE., 'qsws' ) 1674 ! 1675 !-- Read variable 1676 CALL get_variable( pids_id, 'qsws', tmp_2d%var, & 1677 nxl, nxr, nys, nyn ) 1678 ! 1679 !-- Initialize latent heat flux. Note, qsws will be only initialized at 1680 !-- default-type surfaces. At natural or urban qsws is implicitly 1681 !-- initialized by the respective parameter lists. 1682 !-- Initialize horizontal surface elements. 1683 CALL init_single_surface_properties( surf_def_h(0)%qsws, & 1684 tmp_2d%var, & 1685 surf_def_h(0)%ns, & 1686 tmp_2d%fill, & 1687 surf_def_h(0)%i, & 1688 surf_def_h(0)%j ) 1689 ! 1690 !-- Initialize latent heat flux also at vertical surface elements. 1691 !-- Note, the actual 2D input arrays are only defined on the 1692 !-- subdomain. Therefore, pass the index arrays with their respective 1693 !-- offset values. 1694 DO l = 0, 3 1695 CALL init_single_surface_properties( & 1696 surf_def_v(l)%qsws, & 1697 tmp_2d%var, & 1698 surf_def_v(l)%ns, & 1699 tmp_2d%fill, & 1700 surf_def_v(l)%i + surf_def_v(l)%ioff, & 1701 surf_def_v(l)%j + surf_def_v(l)%joff ) 1702 ENDDO 1703 1704 ENDIF 1705 ! 1706 !-- Additional variables, can be initialized the 1627 1707 !-- same way. 1628 1708 1629 1709 ! 1630 1710 !-- Finally, close the input file and deallocate temporary arrays
Note: See TracChangeset
for help on using the changeset viewer.