- Timestamp:
- Jan 2, 2019 4:35:46 PM (6 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 6 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/Makefile
r3637 r3648 25 25 # ----------------- 26 26 # $Id$ 27 # Rename surface_output_mod into surface_data_output_mod 28 # 29 # 3637 2018-12-20 01:51:36Z knoop 27 30 # Implementation of the PALM module interface 28 31 # … … 672 675 surface_layer_fluxes_mod.f90 \ 673 676 surface_mod.f90 \ 674 surface_ output_mod.f90 \677 surface_data_output_mod.f90 \ 675 678 swap_timelevel.f90 \ 676 679 synthetic_turbulence_generator_mod.f90 \ … … 1107 1110 surface_layer_fluxes_mod.o \ 1108 1111 surface_mod.o \ 1109 surface_ output_mod.o \1112 surface_data_output_mod.o \ 1110 1113 synthetic_turbulence_generator_mod.o \ 1111 1114 turbulence_closure_mod.o \ … … 1337 1340 salsa_mod.o \ 1338 1341 spectra_mod.o \ 1339 surface_ output_mod.o \1342 surface_data_output_mod.o \ 1340 1343 synthetic_turbulence_generator_mod.o \ 1341 1344 urban_surface_mod.o \ … … 1422 1425 salsa_mod.o \ 1423 1426 surface_layer_fluxes_mod.o \ 1424 surface_ output_mod.o \1427 surface_data_output_mod.o \ 1425 1428 time_to_string.o \ 1426 1429 write_restart_data_mod.o … … 1654 1657 mod_kinds.o \ 1655 1658 modules.o 1656 surface_ output_mod.o: \1659 surface_data_output_mod.o: \ 1657 1660 mod_kinds.o \ 1658 1661 modules.o \ … … 1707 1710 surface_layer_fluxes_mod.o \ 1708 1711 surface_mod.o \ 1709 surface_ output_mod.o \1712 surface_data_output_mod.o \ 1710 1713 synthetic_turbulence_generator_mod.o \ 1711 1714 time_to_string.o \ -
palm/trunk/SOURCE/init_3d_model.f90
r3636 r3648 15 15 ! PALM. If not, see <http://www.gnu.org/licenses/>. 16 16 ! 17 ! Copyright 1997-201 8Leibniz Universitaet Hannover17 ! Copyright 1997-2019 Leibniz Universitaet Hannover 18 18 !------------------------------------------------------------------------------! 19 19 ! … … 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Rename subroutines for surface-data output 28 ! 29 ! 3636 2018-12-19 13:48:34Z raasch 27 30 ! nopointer option removed 28 31 ! … … 687 690 surf_usm_h, get_topography_top_index_ji, vertical_surfaces_exist 688 691 689 USE surface_ output_mod,&690 ONLY: surface_ output_init692 USE surface_data_output_mod, & 693 ONLY: surface_data_output_init 691 694 692 695 USE transpose_indices … … 2446 2449 ! 2447 2450 !-- Initialize surface data output 2448 IF ( surface_ data_output ) THEN2449 CALL surface_ output_init2451 IF ( surface_output ) THEN 2452 CALL surface_data_output_init 2450 2453 ENDIF 2451 2454 ! -
palm/trunk/SOURCE/module_interface.f90
r3641 r3648 15 15 ! PALM. If not, see <http://www.gnu.org/licenses/>. 16 16 ! 17 ! Copyright 1997-201 8Leibniz Universitaet Hannover17 ! Copyright 1997-2019 Leibniz Universitaet Hannover 18 18 !------------------------------------------------------------------------------! 19 19 ! … … 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Rename subroutines for surface-data output 28 ! 29 ! 3641 2018-12-23 22:10:01Z knoop 27 30 ! Initial implementation of the PALM module interface 28 31 ! … … 53 56 plant_canopy, & 54 57 salsa, & 55 surface_ data_output,&58 surface_output, & 56 59 syn_turb_gen, & 57 60 urban_surface, & … … 204 207 spectra_header 205 208 206 USE surface_ output_mod,&207 ONLY: surface_ output_parin,&208 surface_ output_check_parameters209 USE surface_data_output_mod, & 210 ONLY: surface_data_output_parin, & 211 surface_data_output_check_parameters 209 212 210 213 USE synthetic_turbulence_generator_mod, & … … 368 371 CALL salsa_parin 369 372 CALL spectra_parin 370 CALL surface_ output_parin373 CALL surface_data_output_parin 371 374 CALL stg_parin 372 375 CALL user_parin ! ToDo: make user code a single Fortran module … … 401 404 IF ( salsa ) CALL salsa_check_parameters 402 405 IF ( calculate_spectra ) CALL spectra_check_parameters 403 IF ( surface_ data_output ) CALL surface_output_check_parameters406 IF ( surface_output ) CALL surface_data_output_check_parameters 404 407 IF ( syn_turb_gen ) CALL stg_check_parameters 405 408 IF ( urban_surface ) CALL usm_check_parameters -
palm/trunk/SOURCE/modules.f90
r3636 r3648 15 15 ! PALM. If not, see <http://www.gnu.org/licenses/>. 16 16 ! 17 ! Copyright 1997-201 8Leibniz Universitaet Hannover17 ! Copyright 1997-2019 Leibniz Universitaet Hannover 18 18 !------------------------------------------------------------------------------! 19 19 ! … … 25 25 ! ----------------- 26 26 ! $Id$ 27 ! -surface_data_output +surface_output 28 ! 29 ! 3636 2018-12-19 13:48:34Z raasch 27 30 ! nopointer option removed 28 31 ! … … 1351 1354 LOGICAL :: sloping_surface = .FALSE. !< use sloped surface? (namelist parameter alpha_surface) 1352 1355 LOGICAL :: spinup = .FALSE. !< perform model spinup without atmosphere code? 1353 LOGICAL :: surface_ data_output = .FALSE.!< output of surface data1356 LOGICAL :: surface_output = .FALSE. !< output of surface data 1354 1357 LOGICAL :: stop_dt = .FALSE. !< internal switch to stop the time stepping 1355 1358 LOGICAL :: synchronous_exchange = .FALSE. !< namelist parameter -
palm/trunk/SOURCE/palm.f90
r3524 r3648 15 15 ! PALM. If not, see <http://www.gnu.org/licenses/>. 16 16 ! 17 ! Copyright 1997-201 8Leibniz Universitaet Hannover17 ! Copyright 1997-2019 Leibniz Universitaet Hannover 18 18 !------------------------------------------------------------------------------! 19 19 ! … … 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Rename subroutines for surface-data output 28 ! 29 ! 3524 2018-11-14 13:36:44Z raasch 27 30 ! unused variable removed 28 31 ! … … 321 324 pmci_modelconfiguration, pmci_parent_initialize 322 325 323 USE surface_ output_mod,&324 ONLY: surface_ output_last_action326 USE surface_data_output_mod, & 327 ONLY: surface_data_output_last_action 325 328 326 329 USE write_restart_data_mod, & … … 578 581 ! 579 582 !-- Last actions for surface output, for instantaneous and time-averaged data 580 CALL surface_ output_last_action( 0 )581 CALL surface_ output_last_action( 1 )583 CALL surface_data_output_last_action( 0 ) 584 CALL surface_data_output_last_action( 1 ) 582 585 583 586 ! -
palm/trunk/SOURCE/surface_data_output_mod.f90
r3647 r3648 1 !> @file surface_ output_mod.f901 !> @file surface_data_output_mod.f90 2 2 !------------------------------------------------------------------------------! 3 3 ! This file is part of the PALM model system. … … 15 15 ! PALM. If not, see <http://www.gnu.org/licenses/>. 16 16 ! 17 ! Copyright 1997-201 8Leibniz Universitaet Hannover17 ! Copyright 1997-2019 Leibniz Universitaet Hannover 18 18 !------------------------------------------------------------------------------! 19 19 ! … … 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Rename module and subroutines 28 ! 29 ! 3646 2018-12-28 17:58:49Z kanani 27 30 ! Bugfix: use time_since_reference_point instead of simulated_time (relevant 28 31 ! when using wall/soil spinup) … … 63 66 !------------------------------------------------------------------------------! 64 67 65 MODULE surface_ output_mod68 MODULE surface_data_output_mod 66 69 67 70 USE kinds … … 71 74 72 75 USE control_parameters, & 73 ONLY: surface_ data_output76 ONLY: surface_output 74 77 75 78 USE grid_variables, & … … 126 129 PRIVATE 127 130 128 INTERFACE surface_ output129 MODULE PROCEDURE surface_ output130 END INTERFACE surface_ output131 INTERFACE surface_data_output 132 MODULE PROCEDURE surface_data_output 133 END INTERFACE surface_data_output 131 134 132 INTERFACE surface_ output_averaging133 MODULE PROCEDURE surface_ output_averaging134 END INTERFACE surface_ output_averaging135 INTERFACE surface_data_output_averaging 136 MODULE PROCEDURE surface_data_output_averaging 137 END INTERFACE surface_data_output_averaging 135 138 136 INTERFACE surface_ output_check_parameters137 MODULE PROCEDURE surface_ output_check_parameters138 END INTERFACE surface_ output_check_parameters139 INTERFACE surface_data_output_check_parameters 140 MODULE PROCEDURE surface_data_output_check_parameters 141 END INTERFACE surface_data_output_check_parameters 139 142 140 INTERFACE surface_ output_init141 MODULE PROCEDURE surface_ output_init142 END INTERFACE surface_ output_init143 INTERFACE surface_data_output_init 144 MODULE PROCEDURE surface_data_output_init 145 END INTERFACE surface_data_output_init 143 146 144 INTERFACE surface_ output_last_action145 MODULE PROCEDURE surface_ output_last_action146 END INTERFACE surface_ output_last_action147 INTERFACE surface_data_output_last_action 148 MODULE PROCEDURE surface_data_output_last_action 149 END INTERFACE surface_data_output_last_action 147 150 148 INTERFACE surface_ output_parin149 MODULE PROCEDURE surface_ output_parin150 END INTERFACE surface_ output_parin151 INTERFACE surface_data_output_parin 152 MODULE PROCEDURE surface_data_output_parin 153 END INTERFACE surface_data_output_parin 151 154 152 155 ! 153 156 !--Public subroutines 154 PUBLIC surface_ output, surface_output_averaging,&155 surface_ output_check_parameters, surface_output_init,&156 surface_ output_last_action, surface_output_parin157 PUBLIC surface_data_output, surface_data_output_averaging, & 158 surface_data_output_check_parameters, surface_data_output_init, & 159 surface_data_output_last_action, surface_data_output_parin 157 160 ! 158 161 !--Public variables … … 168 171 !> and polygon data for the surface elements, allocation of required arrays. 169 172 !------------------------------------------------------------------------------! 170 SUBROUTINE surface_ output_init173 SUBROUTINE surface_data_output_init 171 174 172 175 IMPLICIT NONE … … 855 858 #endif 856 859 857 END SUBROUTINE surface_ output_init860 END SUBROUTINE surface_data_output_init 858 861 859 862 !------------------------------------------------------------------------------! … … 865 868 !> are called to write the surface data in the respective NetCDF files. 866 869 !------------------------------------------------------------------------------! 867 SUBROUTINE surface_ output( av )870 SUBROUTINE surface_data_output( av ) 868 871 869 872 USE control_parameters, & … … 922 925 !-- Output of instantaneous data 923 926 IF ( av == 0 ) THEN 924 CALL surface_ output_collect( surf_def_h(0)%us,&927 CALL surface_data_output_collect( surf_def_h(0)%us, & 925 928 surf_def_h(1)%us, & 926 929 surf_lsm_h%us, & … … 951 954 !-- Output of instantaneous data 952 955 IF ( av == 0 ) THEN 953 CALL surface_ output_collect( surf_def_h(0)%ts,&956 CALL surface_data_output_collect( surf_def_h(0)%ts, & 954 957 surf_def_h(1)%ts, & 955 958 surf_lsm_h%ts, & … … 980 983 !-- Output of instantaneous data 981 984 IF ( av == 0 ) THEN 982 CALL surface_ output_collect( surf_def_h(0)%qs,&985 CALL surface_data_output_collect( surf_def_h(0)%qs, & 983 986 surf_def_h(1)%qs, & 984 987 surf_lsm_h%qs, & … … 1009 1012 !-- Output of instantaneous data 1010 1013 IF ( av == 0 ) THEN 1011 CALL surface_ output_collect( surf_def_h(0)%ss,&1014 CALL surface_data_output_collect( surf_def_h(0)%ss, & 1012 1015 surf_def_h(1)%ss, & 1013 1016 surf_lsm_h%ss, & … … 1038 1041 !-- Output of instantaneous data 1039 1042 IF ( av == 0 ) THEN 1040 CALL surface_ output_collect( surf_def_h(0)%qcs,&1043 CALL surface_data_output_collect( surf_def_h(0)%qcs, & 1041 1044 surf_def_h(1)%qcs, & 1042 1045 surf_lsm_h%qcs, & … … 1067 1070 !-- Output of instantaneous data 1068 1071 IF ( av == 0 ) THEN 1069 CALL surface_ output_collect( surf_def_h(0)%ncs,&1072 CALL surface_data_output_collect( surf_def_h(0)%ncs, & 1070 1073 surf_def_h(1)%ncs, & 1071 1074 surf_lsm_h%ncs, & … … 1096 1099 !-- Output of instantaneous data 1097 1100 IF ( av == 0 ) THEN 1098 CALL surface_ output_collect( surf_def_h(0)%qrs,&1101 CALL surface_data_output_collect( surf_def_h(0)%qrs, & 1099 1102 surf_def_h(1)%qrs, & 1100 1103 surf_lsm_h%qrs, & … … 1125 1128 !-- Output of instantaneous data 1126 1129 IF ( av == 0 ) THEN 1127 CALL surface_ output_collect( surf_def_h(0)%nrs,&1130 CALL surface_data_output_collect( surf_def_h(0)%nrs, & 1128 1131 surf_def_h(1)%nrs, & 1129 1132 surf_lsm_h%nrs, & … … 1154 1157 !-- Output of instantaneous data 1155 1158 IF ( av == 0 ) THEN 1156 CALL surface_ output_collect( surf_def_h(0)%ol,&1159 CALL surface_data_output_collect( surf_def_h(0)%ol, & 1157 1160 surf_def_h(1)%ol, & 1158 1161 surf_lsm_h%ol, & … … 1183 1186 !-- Output of instantaneous data 1184 1187 IF ( av == 0 ) THEN 1185 CALL surface_ output_collect( surf_def_h(0)%z0,&1188 CALL surface_data_output_collect( surf_def_h(0)%z0, & 1186 1189 surf_def_h(1)%z0, & 1187 1190 surf_lsm_h%z0, & … … 1212 1215 !-- Output of instantaneous data 1213 1216 IF ( av == 0 ) THEN 1214 CALL surface_ output_collect( surf_def_h(0)%z0h,&1217 CALL surface_data_output_collect( surf_def_h(0)%z0h, & 1215 1218 surf_def_h(1)%z0h, & 1216 1219 surf_lsm_h%z0h, & … … 1241 1244 !-- Output of instantaneous data 1242 1245 IF ( av == 0 ) THEN 1243 CALL surface_ output_collect( surf_def_h(0)%z0q,&1246 CALL surface_data_output_collect( surf_def_h(0)%z0q, & 1244 1247 surf_def_h(1)%z0q, & 1245 1248 surf_lsm_h%z0q, & … … 1270 1273 !-- Output of instantaneous data 1271 1274 IF ( av == 0 ) THEN 1272 CALL surface_ output_collect( surf_def_h(0)%pt1,&1275 CALL surface_data_output_collect( surf_def_h(0)%pt1, & 1273 1276 surf_def_h(1)%pt1, & 1274 1277 surf_lsm_h%pt1, & … … 1299 1302 !-- Output of instantaneous data 1300 1303 IF ( av == 0 ) THEN 1301 CALL surface_ output_collect( surf_def_h(0)%qv1,&1304 CALL surface_data_output_collect( surf_def_h(0)%qv1, & 1302 1305 surf_def_h(1)%qv1, & 1303 1306 surf_lsm_h%qv1, & … … 1328 1331 !-- Output of instantaneous data 1329 1332 IF ( av == 0 ) THEN 1330 CALL surface_ output_collect( surf_def_h(0)%vpt1,&1333 CALL surface_data_output_collect( surf_def_h(0)%vpt1, & 1331 1334 surf_def_h(1)%vpt1, & 1332 1335 surf_lsm_h%vpt1, & … … 1357 1360 !-- Output of instantaneous data 1358 1361 IF ( av == 0 ) THEN 1359 CALL surface_ output_collect( surf_def_h(0)%usws,&1362 CALL surface_data_output_collect( surf_def_h(0)%usws, & 1360 1363 surf_def_h(1)%usws, & 1361 1364 surf_lsm_h%usws, & … … 1386 1389 !-- Output of instantaneous data 1387 1390 IF ( av == 0 ) THEN 1388 CALL surface_ output_collect( surf_def_h(0)%vsws,&1391 CALL surface_data_output_collect( surf_def_h(0)%vsws, & 1389 1392 surf_def_h(1)%vsws, & 1390 1393 surf_lsm_h%vsws, & … … 1415 1418 !-- Output of instantaneous data 1416 1419 IF ( av == 0 ) THEN 1417 CALL surface_ output_collect( surf_def_h(0)%shf,&1420 CALL surface_data_output_collect( surf_def_h(0)%shf, & 1418 1421 surf_def_h(1)%shf, & 1419 1422 surf_lsm_h%shf, & … … 1443 1446 !-- Output of instantaneous data 1444 1447 IF ( av == 0 ) THEN 1445 CALL surface_ output_collect( surf_def_h(0)%qsws,&1448 CALL surface_data_output_collect( surf_def_h(0)%qsws, & 1446 1449 surf_def_h(1)%qsws, & 1447 1450 surf_lsm_h%qsws, & … … 1472 1475 !-- Output of instantaneous data 1473 1476 IF ( av == 0 ) THEN 1474 CALL surface_ output_collect( surf_def_h(0)%ssws,&1477 CALL surface_data_output_collect( surf_def_h(0)%ssws, & 1475 1478 surf_def_h(1)%ssws, & 1476 1479 surf_lsm_h%ssws, & … … 1501 1504 !-- Output of instantaneous data 1502 1505 IF ( av == 0 ) THEN 1503 CALL surface_ output_collect( surf_def_h(0)%qcsws,&1506 CALL surface_data_output_collect( surf_def_h(0)%qcsws, & 1504 1507 surf_def_h(1)%qcsws, & 1505 1508 surf_lsm_h%qcsws, & … … 1530 1533 !-- Output of instantaneous data 1531 1534 IF ( av == 0 ) THEN 1532 CALL surface_ output_collect( surf_def_h(0)%ncsws,&1535 CALL surface_data_output_collect( surf_def_h(0)%ncsws, & 1533 1536 surf_def_h(1)%ncsws, & 1534 1537 surf_lsm_h%ncsws, & … … 1559 1562 !-- Output of instantaneous data 1560 1563 IF ( av == 0 ) THEN 1561 CALL surface_ output_collect( surf_def_h(0)%qrsws,&1564 CALL surface_data_output_collect( surf_def_h(0)%qrsws, & 1562 1565 surf_def_h(1)%qrsws, & 1563 1566 surf_lsm_h%qrsws, & … … 1588 1591 !-- Output of instantaneous data 1589 1592 IF ( av == 0 ) THEN 1590 CALL surface_ output_collect( surf_def_h(0)%nrsws,&1593 CALL surface_data_output_collect( surf_def_h(0)%nrsws, & 1591 1594 surf_def_h(1)%nrsws, & 1592 1595 surf_lsm_h%nrsws, & … … 1617 1620 !-- Output of instantaneous data 1618 1621 IF ( av == 0 ) THEN 1619 CALL surface_ output_collect( surf_def_h(0)%sasws,&1622 CALL surface_data_output_collect( surf_def_h(0)%sasws, & 1620 1623 surf_def_h(1)%sasws, & 1621 1624 surf_lsm_h%sasws, & … … 1646 1649 !-- Output of instantaneous data 1647 1650 IF ( av == 0 ) THEN 1648 CALL surface_ output_collect( surf_def_h(0)%q_surface,&1651 CALL surface_data_output_collect( surf_def_h(0)%q_surface, & 1649 1652 surf_def_h(1)%q_surface, & 1650 1653 surf_lsm_h%q_surface, & … … 1675 1678 !-- Output of instantaneous data 1676 1679 IF ( av == 0 ) THEN 1677 CALL surface_ output_collect( surf_def_h(0)%pt_surface,&1680 CALL surface_data_output_collect( surf_def_h(0)%pt_surface, & 1678 1681 surf_def_h(1)%pt_surface, & 1679 1682 surf_lsm_h%pt_surface, & … … 1704 1707 !-- Output of instantaneous data 1705 1708 IF ( av == 0 ) THEN 1706 CALL surface_ output_collect( surf_def_h(0)%vpt_surface,&1709 CALL surface_data_output_collect( surf_def_h(0)%vpt_surface, & 1707 1710 surf_def_h(1)%vpt_surface, & 1708 1711 surf_lsm_h%vpt_surface, & … … 1733 1736 !-- Output of instantaneous data 1734 1737 IF ( av == 0 ) THEN 1735 CALL surface_ output_collect( surf_def_h(0)%rad_net,&1738 CALL surface_data_output_collect( surf_def_h(0)%rad_net, & 1736 1739 surf_def_h(1)%rad_net, & 1737 1740 surf_lsm_h%rad_net, & … … 1762 1765 !-- Output of instantaneous data 1763 1766 IF ( av == 0 ) THEN 1764 CALL surface_ output_collect( surf_def_h(0)%rad_lw_in,&1767 CALL surface_data_output_collect( surf_def_h(0)%rad_lw_in, & 1765 1768 surf_def_h(1)%rad_lw_in, & 1766 1769 surf_lsm_h%rad_lw_in, & … … 1791 1794 !-- Output of instantaneous data 1792 1795 IF ( av == 0 ) THEN 1793 CALL surface_ output_collect( surf_def_h(0)%rad_lw_out,&1796 CALL surface_data_output_collect( surf_def_h(0)%rad_lw_out, & 1794 1797 surf_def_h(1)%rad_lw_out, & 1795 1798 surf_lsm_h%rad_lw_out, & … … 1820 1823 !-- Output of instantaneous data 1821 1824 IF ( av == 0 ) THEN 1822 CALL surface_ output_collect( surf_def_h(0)%rad_sw_in,&1825 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_in, & 1823 1826 surf_def_h(1)%rad_sw_in, & 1824 1827 surf_lsm_h%rad_sw_in, & … … 1849 1852 !-- Output of instantaneous data 1850 1853 IF ( av == 0 ) THEN 1851 CALL surface_ output_collect( surf_def_h(0)%rad_sw_out,&1854 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_out, & 1852 1855 surf_def_h(1)%rad_sw_out, & 1853 1856 surf_lsm_h%rad_sw_out, & … … 1878 1881 !-- Output of instantaneous data 1879 1882 IF ( av == 0 ) THEN 1880 CALL surface_ output_collect( surf_def_h(0)%ghf,&1883 CALL surface_data_output_collect( surf_def_h(0)%ghf, & 1881 1884 surf_def_h(1)%ghf, & 1882 1885 surf_lsm_h%ghf, & … … 1907 1910 !-- Output of instantaneous data 1908 1911 IF ( av == 0 ) THEN 1909 CALL surface_ output_collect( surf_def_h(0)%r_a,&1912 CALL surface_data_output_collect( surf_def_h(0)%r_a, & 1910 1913 surf_def_h(1)%r_a, & 1911 1914 surf_lsm_h%r_a, & … … 1936 1939 !-- Output of instantaneous data 1937 1940 IF ( av == 0 ) THEN 1938 CALL surface_ output_collect( surf_def_h(0)%r_soil,&1941 CALL surface_data_output_collect( surf_def_h(0)%r_soil, & 1939 1942 surf_def_h(1)%r_soil, & 1940 1943 surf_lsm_h%r_soil, & … … 1965 1968 !-- Output of instantaneous data 1966 1969 IF ( av == 0 ) THEN 1967 CALL surface_ output_collect( surf_def_h(0)%r_canopy,&1970 CALL surface_data_output_collect( surf_def_h(0)%r_canopy, & 1968 1971 surf_def_h(1)%r_canopy, & 1969 1972 surf_lsm_h%r_canopy, & … … 1994 1997 !-- Output of instantaneous data 1995 1998 IF ( av == 0 ) THEN 1996 CALL surface_ output_collect( surf_def_h(0)%r_s,&1999 CALL surface_data_output_collect( surf_def_h(0)%r_s, & 1997 2000 surf_def_h(1)%r_s, & 1998 2001 surf_lsm_h%r_s, & … … 2023 2026 !-- Output of instantaneous data 2024 2027 IF ( av == 0 ) THEN 2025 CALL surface_ output_collect( surf_def_h(0)%rad_sw_dir,&2028 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_dir, & 2026 2029 surf_def_h(1)%rad_sw_dir, & 2027 2030 surf_lsm_h%rad_sw_dir, & … … 2052 2055 !-- Output of instantaneous data 2053 2056 IF ( av == 0 ) THEN 2054 CALL surface_ output_collect( surf_def_h(0)%rad_sw_dif,&2057 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_dif, & 2055 2058 surf_def_h(1)%rad_sw_dif, & 2056 2059 surf_lsm_h%rad_sw_dif, & … … 2081 2084 !-- Output of instantaneous data 2082 2085 IF ( av == 0 ) THEN 2083 CALL surface_ output_collect( surf_def_h(0)%rad_sw_ref,&2086 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_ref, & 2084 2087 surf_def_h(1)%rad_sw_ref, & 2085 2088 surf_lsm_h%rad_sw_ref, & … … 2110 2113 !-- Output of instantaneous data 2111 2114 IF ( av == 0 ) THEN 2112 CALL surface_ output_collect( surf_def_h(0)%rad_sw_res,&2115 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_res, & 2113 2116 surf_def_h(1)%rad_sw_res, & 2114 2117 surf_lsm_h%rad_sw_res, & … … 2139 2142 !-- Output of instantaneous data 2140 2143 IF ( av == 0 ) THEN 2141 CALL surface_ output_collect( surf_def_h(0)%rad_lw_dif,&2144 CALL surface_data_output_collect( surf_def_h(0)%rad_lw_dif, & 2142 2145 surf_def_h(1)%rad_lw_dif, & 2143 2146 surf_lsm_h%rad_lw_dif, & … … 2168 2171 !-- Output of instantaneous data 2169 2172 IF ( av == 0 ) THEN 2170 CALL surface_ output_collect( surf_def_h(0)%rad_lw_ref,&2173 CALL surface_data_output_collect( surf_def_h(0)%rad_lw_ref, & 2171 2174 surf_def_h(1)%rad_lw_ref, & 2172 2175 surf_lsm_h%rad_lw_ref, & … … 2197 2200 !-- Output of instantaneous data 2198 2201 IF ( av == 0 ) THEN 2199 CALL surface_ output_collect( surf_def_h(0)%rad_lw_res,&2202 CALL surface_data_output_collect( surf_def_h(0)%rad_lw_res, & 2200 2203 surf_def_h(1)%rad_lw_res, & 2201 2204 surf_lsm_h%rad_lw_res, & … … 2254 2257 IF ( av == 1 ) average_count_surf = 0 2255 2258 2256 END SUBROUTINE surface_ output2259 END SUBROUTINE surface_data_output 2257 2260 2258 2261 !------------------------------------------------------------------------------! … … 2261 2264 !> Routine for controlling the data averaging. 2262 2265 !------------------------------------------------------------------------------! 2263 SUBROUTINE surface_ output_averaging2266 SUBROUTINE surface_data_output_averaging 2264 2267 2265 2268 IMPLICIT NONE … … 2278 2281 2279 2282 CASE ( 'us' ) 2280 CALL surface_ output_sum_up( surf_def_h(0)%us,&2283 CALL surface_data_output_sum_up( surf_def_h(0)%us, & 2281 2284 surf_def_h(1)%us, & 2282 2285 surf_lsm_h%us, & … … 2296 2299 2297 2300 CASE ( 'ts' ) 2298 CALL surface_ output_sum_up( surf_def_h(0)%ts,&2301 CALL surface_data_output_sum_up( surf_def_h(0)%ts, & 2299 2302 surf_def_h(1)%ts, & 2300 2303 surf_lsm_h%ts, & … … 2314 2317 2315 2318 CASE ( 'qs' ) 2316 CALL surface_ output_sum_up( surf_def_h(0)%qs,&2319 CALL surface_data_output_sum_up( surf_def_h(0)%qs, & 2317 2320 surf_def_h(1)%qs, & 2318 2321 surf_lsm_h%qs, & … … 2332 2335 2333 2336 CASE ( 'ss' ) 2334 CALL surface_ output_sum_up( surf_def_h(0)%ss,&2337 CALL surface_data_output_sum_up( surf_def_h(0)%ss, & 2335 2338 surf_def_h(1)%ss, & 2336 2339 surf_lsm_h%ss, & … … 2350 2353 2351 2354 CASE ( 'qcs' ) 2352 CALL surface_ output_sum_up( surf_def_h(0)%qcs,&2355 CALL surface_data_output_sum_up( surf_def_h(0)%qcs, & 2353 2356 surf_def_h(1)%qcs, & 2354 2357 surf_lsm_h%qcs, & … … 2368 2371 2369 2372 CASE ( 'ncs' ) 2370 CALL surface_ output_sum_up( surf_def_h(0)%ncs,&2373 CALL surface_data_output_sum_up( surf_def_h(0)%ncs, & 2371 2374 surf_def_h(1)%ncs, & 2372 2375 surf_lsm_h%ncs, & … … 2386 2389 2387 2390 CASE ( 'qrs' ) 2388 CALL surface_ output_sum_up( surf_def_h(0)%qrs,&2391 CALL surface_data_output_sum_up( surf_def_h(0)%qrs, & 2389 2392 surf_def_h(1)%qrs, & 2390 2393 surf_lsm_h%qrs, & … … 2404 2407 2405 2408 CASE ( 'nrs' ) 2406 CALL surface_ output_sum_up( surf_def_h(0)%nrs,&2409 CALL surface_data_output_sum_up( surf_def_h(0)%nrs, & 2407 2410 surf_def_h(1)%nrs, & 2408 2411 surf_lsm_h%nrs, & … … 2422 2425 2423 2426 CASE ( 'ol' ) 2424 CALL surface_ output_sum_up( surf_def_h(0)%ol,&2427 CALL surface_data_output_sum_up( surf_def_h(0)%ol, & 2425 2428 surf_def_h(1)%ol, & 2426 2429 surf_lsm_h%ol, & … … 2440 2443 2441 2444 CASE ( 'z0' ) 2442 CALL surface_ output_sum_up( surf_def_h(0)%z0,&2445 CALL surface_data_output_sum_up( surf_def_h(0)%z0, & 2443 2446 surf_def_h(1)%z0, & 2444 2447 surf_lsm_h%z0, & … … 2458 2461 2459 2462 CASE ( 'z0h' ) 2460 CALL surface_ output_sum_up( surf_def_h(0)%z0h,&2463 CALL surface_data_output_sum_up( surf_def_h(0)%z0h, & 2461 2464 surf_def_h(1)%z0h, & 2462 2465 surf_lsm_h%z0h, & … … 2476 2479 2477 2480 CASE ( 'z0q' ) 2478 CALL surface_ output_sum_up( surf_def_h(0)%z0q,&2481 CALL surface_data_output_sum_up( surf_def_h(0)%z0q, & 2479 2482 surf_def_h(1)%z0q, & 2480 2483 surf_lsm_h%z0q, & … … 2494 2497 2495 2498 CASE ( 'theta1' ) 2496 CALL surface_ output_sum_up( surf_def_h(0)%pt1,&2499 CALL surface_data_output_sum_up( surf_def_h(0)%pt1, & 2497 2500 surf_def_h(1)%pt1, & 2498 2501 surf_lsm_h%pt1, & … … 2512 2515 2513 2516 CASE ( 'qv1' ) 2514 CALL surface_ output_sum_up( surf_def_h(0)%qv1,&2517 CALL surface_data_output_sum_up( surf_def_h(0)%qv1, & 2515 2518 surf_def_h(1)%qv1, & 2516 2519 surf_lsm_h%qv1, & … … 2530 2533 2531 2534 CASE ( 'thetav1' ) 2532 CALL surface_ output_sum_up( surf_def_h(0)%vpt1,&2535 CALL surface_data_output_sum_up( surf_def_h(0)%vpt1, & 2533 2536 surf_def_h(1)%vpt1, & 2534 2537 surf_lsm_h%vpt1, & … … 2548 2551 2549 2552 CASE ( 'usws' ) 2550 CALL surface_ output_sum_up( surf_def_h(0)%usws,&2553 CALL surface_data_output_sum_up( surf_def_h(0)%usws, & 2551 2554 surf_def_h(1)%usws, & 2552 2555 surf_lsm_h%usws, & … … 2566 2569 2567 2570 CASE ( 'vsws' ) 2568 CALL surface_ output_sum_up( surf_def_h(0)%vsws,&2571 CALL surface_data_output_sum_up( surf_def_h(0)%vsws, & 2569 2572 surf_def_h(1)%vsws, & 2570 2573 surf_lsm_h%vsws, & … … 2584 2587 2585 2588 CASE ( 'shf' ) 2586 CALL surface_ output_sum_up( surf_def_h(0)%shf,&2589 CALL surface_data_output_sum_up( surf_def_h(0)%shf, & 2587 2590 surf_def_h(1)%shf, & 2588 2591 surf_lsm_h%shf, & … … 2602 2605 2603 2606 CASE ( 'qsws' ) 2604 CALL surface_ output_sum_up( surf_def_h(0)%qsws,&2607 CALL surface_data_output_sum_up( surf_def_h(0)%qsws, & 2605 2608 surf_def_h(1)%qsws, & 2606 2609 surf_lsm_h%qsws, & … … 2620 2623 2621 2624 CASE ( 'ssws' ) 2622 CALL surface_ output_sum_up( surf_def_h(0)%ssws,&2625 CALL surface_data_output_sum_up( surf_def_h(0)%ssws, & 2623 2626 surf_def_h(1)%ssws, & 2624 2627 surf_lsm_h%ssws, & … … 2638 2641 2639 2642 CASE ( 'qcsws' ) 2640 CALL surface_ output_sum_up( surf_def_h(0)%qcsws,&2643 CALL surface_data_output_sum_up( surf_def_h(0)%qcsws, & 2641 2644 surf_def_h(1)%qcsws, & 2642 2645 surf_lsm_h%qcsws, & … … 2656 2659 2657 2660 CASE ( 'ncsws' ) 2658 CALL surface_ output_sum_up( surf_def_h(0)%ncsws,&2661 CALL surface_data_output_sum_up( surf_def_h(0)%ncsws, & 2659 2662 surf_def_h(1)%ncsws, & 2660 2663 surf_lsm_h%ncsws, & … … 2674 2677 2675 2678 CASE ( 'qrsws' ) 2676 CALL surface_ output_sum_up( surf_def_h(0)%qrsws,&2679 CALL surface_data_output_sum_up( surf_def_h(0)%qrsws, & 2677 2680 surf_def_h(1)%qrsws, & 2678 2681 surf_lsm_h%qrsws, & … … 2692 2695 2693 2696 CASE ( 'nrsws' ) 2694 CALL surface_ output_sum_up( surf_def_h(0)%nrsws,&2697 CALL surface_data_output_sum_up( surf_def_h(0)%nrsws, & 2695 2698 surf_def_h(1)%nrsws, & 2696 2699 surf_lsm_h%nrsws, & … … 2710 2713 2711 2714 CASE ( 'sasws' ) 2712 CALL surface_ output_sum_up( surf_def_h(0)%sasws,&2715 CALL surface_data_output_sum_up( surf_def_h(0)%sasws, & 2713 2716 surf_def_h(1)%sasws, & 2714 2717 surf_lsm_h%sasws, & … … 2728 2731 2729 2732 CASE ( 'q_surface' ) 2730 CALL surface_ output_sum_up( surf_def_h(0)%q_surface,&2733 CALL surface_data_output_sum_up( surf_def_h(0)%q_surface, & 2731 2734 surf_def_h(1)%q_surface, & 2732 2735 surf_lsm_h%q_surface, & … … 2746 2749 2747 2750 CASE ( 'theta_surface' ) 2748 CALL surface_ output_sum_up( surf_def_h(0)%pt_surface,&2751 CALL surface_data_output_sum_up( surf_def_h(0)%pt_surface, & 2749 2752 surf_def_h(1)%pt_surface, & 2750 2753 surf_lsm_h%pt_surface, & … … 2764 2767 2765 2768 CASE ( 'thetav_surface' ) 2766 CALL surface_ output_sum_up( surf_def_h(0)%vpt_surface,&2769 CALL surface_data_output_sum_up( surf_def_h(0)%vpt_surface, & 2767 2770 surf_def_h(1)%vpt_surface, & 2768 2771 surf_lsm_h%vpt_surface, & … … 2782 2785 2783 2786 CASE ( 'rad_net' ) 2784 CALL surface_ output_sum_up( surf_def_h(0)%rad_net,&2787 CALL surface_data_output_sum_up( surf_def_h(0)%rad_net, & 2785 2788 surf_def_h(1)%rad_net, & 2786 2789 surf_lsm_h%rad_net, & … … 2800 2803 2801 2804 CASE ( 'rad_lw_in' ) 2802 CALL surface_ output_sum_up( surf_def_h(0)%rad_lw_in,&2805 CALL surface_data_output_sum_up( surf_def_h(0)%rad_lw_in, & 2803 2806 surf_def_h(1)%rad_lw_in, & 2804 2807 surf_lsm_h%rad_lw_in, & … … 2818 2821 2819 2822 CASE ( 'rad_lw_out' ) 2820 CALL surface_ output_sum_up( surf_def_h(0)%rad_lw_out,&2823 CALL surface_data_output_sum_up( surf_def_h(0)%rad_lw_out, & 2821 2824 surf_def_h(1)%rad_lw_out, & 2822 2825 surf_lsm_h%rad_lw_out, & … … 2836 2839 2837 2840 CASE ( 'rad_sw_in' ) 2838 CALL surface_ output_sum_up( surf_def_h(0)%rad_sw_in,&2841 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_in, & 2839 2842 surf_def_h(1)%rad_sw_in, & 2840 2843 surf_lsm_h%rad_sw_in, & … … 2854 2857 2855 2858 CASE ( 'rad_sw_out' ) 2856 CALL surface_ output_sum_up( surf_def_h(0)%rad_sw_out,&2859 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_out, & 2857 2860 surf_def_h(1)%rad_sw_out, & 2858 2861 surf_lsm_h%rad_sw_out, & … … 2872 2875 2873 2876 CASE ( 'ghf' ) 2874 CALL surface_ output_sum_up( surf_def_h(0)%ghf,&2877 CALL surface_data_output_sum_up( surf_def_h(0)%ghf, & 2875 2878 surf_def_h(1)%ghf, & 2876 2879 surf_lsm_h%ghf, & … … 2890 2893 2891 2894 CASE ( 'r_a' ) 2892 CALL surface_ output_sum_up( surf_def_h(0)%r_a,&2895 CALL surface_data_output_sum_up( surf_def_h(0)%r_a, & 2893 2896 surf_def_h(1)%r_a, & 2894 2897 surf_lsm_h%r_a, & … … 2908 2911 2909 2912 CASE ( 'r_soil' ) 2910 CALL surface_ output_sum_up( surf_def_h(0)%r_soil,&2913 CALL surface_data_output_sum_up( surf_def_h(0)%r_soil, & 2911 2914 surf_def_h(1)%r_soil, & 2912 2915 surf_lsm_h%r_soil, & … … 2926 2929 2927 2930 CASE ( 'r_canopy' ) 2928 CALL surface_ output_sum_up( surf_def_h(0)%r_canopy,&2931 CALL surface_data_output_sum_up( surf_def_h(0)%r_canopy, & 2929 2932 surf_def_h(1)%r_canopy, & 2930 2933 surf_lsm_h%r_canopy, & … … 2944 2947 2945 2948 CASE ( 'r_s' ) 2946 CALL surface_ output_sum_up( surf_def_h(0)%r_s,&2949 CALL surface_data_output_sum_up( surf_def_h(0)%r_s, & 2947 2950 surf_def_h(1)%r_s, & 2948 2951 surf_lsm_h%r_s, & … … 2963 2966 2964 2967 CASE ( 'rad_sw_dir' ) 2965 CALL surface_ output_sum_up( surf_def_h(0)%rad_sw_dir,&2968 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_dir, & 2966 2969 surf_def_h(1)%rad_sw_dir, & 2967 2970 surf_lsm_h%rad_sw_dir, & … … 2980 2983 surf_usm_v(3)%rad_sw_dir, n_out ) 2981 2984 CASE ( 'rad_sw_dif' ) 2982 CALL surface_ output_sum_up( surf_def_h(0)%rad_sw_dif,&2985 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_dif, & 2983 2986 surf_def_h(1)%rad_sw_dif, & 2984 2987 surf_lsm_h%rad_sw_dif, & … … 2998 3001 2999 3002 CASE ( 'rad_sw_ref' ) 3000 CALL surface_ output_sum_up( surf_def_h(0)%rad_sw_ref,&3003 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_ref, & 3001 3004 surf_def_h(1)%rad_sw_ref, & 3002 3005 surf_lsm_h%rad_sw_ref, & … … 3016 3019 3017 3020 CASE ( 'rad_sw_res' ) 3018 CALL surface_ output_sum_up( surf_def_h(0)%rad_sw_res,&3021 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_res, & 3019 3022 surf_def_h(1)%rad_sw_res, & 3020 3023 surf_lsm_h%rad_sw_res, & … … 3034 3037 3035 3038 CASE ( 'rad_lw_dif' ) 3036 CALL surface_ output_sum_up( surf_def_h(0)%rad_lw_dif,&3039 CALL surface_data_output_sum_up( surf_def_h(0)%rad_lw_dif, & 3037 3040 surf_def_h(1)%rad_lw_dif, & 3038 3041 surf_lsm_h%rad_lw_dif, & … … 3052 3055 3053 3056 CASE ( 'rad_lw_ref' ) 3054 CALL surface_ output_sum_up( surf_def_h(0)%rad_lw_ref,&3057 CALL surface_data_output_sum_up( surf_def_h(0)%rad_lw_ref, & 3055 3058 surf_def_h(1)%rad_lw_ref, & 3056 3059 surf_lsm_h%rad_lw_ref, & … … 3070 3073 3071 3074 CASE ( 'rad_lw_res' ) 3072 CALL surface_ output_sum_up( surf_def_h(0)%rad_lw_res,&3075 CALL surface_data_output_sum_up( surf_def_h(0)%rad_lw_res, & 3073 3076 surf_def_h(1)%rad_lw_res, & 3074 3077 surf_lsm_h%rad_lw_res, & … … 3091 3094 3092 3095 3093 END SUBROUTINE surface_ output_averaging3096 END SUBROUTINE surface_data_output_averaging 3094 3097 3095 3098 !------------------------------------------------------------------------------! … … 3098 3101 !> Sum-up the surface data for average output variables. 3099 3102 !------------------------------------------------------------------------------! 3100 SUBROUTINE surface_ output_sum_up( var_def_h0, var_def_h1,&3103 SUBROUTINE surface_data_output_sum_up( var_def_h0, var_def_h1, & 3101 3104 var_lsm_h, var_usm_h, & 3102 3105 var_def_v0, var_lsm_v0, var_usm_v0, & … … 3295 3298 ENDIF 3296 3299 3297 END SUBROUTINE surface_ output_sum_up3300 END SUBROUTINE surface_data_output_sum_up 3298 3301 3299 3302 !------------------------------------------------------------------------------! … … 3302 3305 !> Collect the surface data from different types and different orientation. 3303 3306 !------------------------------------------------------------------------------! 3304 SUBROUTINE surface_ output_collect( var_def_h0, var_def_h1,&3307 SUBROUTINE surface_data_output_collect( var_def_h0, var_def_h1, & 3305 3308 var_lsm_h, var_usm_h, & 3306 3309 var_def_v0, var_lsm_v0, var_usm_v0, & … … 3482 3485 ENDIF 3483 3486 3484 END SUBROUTINE surface_output_collect 3485 3486 3487 3488 ! SUBROUTINE data_output_surf_driver (time) 3489 ! IMPLICIT NONE 3490 ! 3491 ! REAL(kind=wp),INTENT(IN) :: time 3492 ! CHARACTER(LEN=64) :: filename 3493 ! INTEGER,SAVE :: file_number=1 3494 ! 3495 ! if(output_mode == "legacy_VTK") then 3496 ! CALL prepare_vtk_data 3497 ! 3498 ! write(filename,'(a,i5.5,a)') 'surface_output_',file_number,'.vtk' 3499 ! if(myid == surf_io_pe) write(9,*) 'Legacy VTK surface output to file: ',trim(filename) 3500 ! file_number = file_number+1 3501 ! 3502 ! CALL write_ascii_vtk (filename, time) 3503 ! END IF 3504 ! 3505 ! RETURN 3506 ! END SUBROUTINE data_output_surf_driver 3507 3487 END SUBROUTINE surface_data_output_collect 3508 3488 3509 3489 !------------------------------------------------------------------------------! … … 3512 3492 !> Parin for output of surface parameters 3513 3493 !------------------------------------------------------------------------------! 3514 SUBROUTINE surface_ output_parin3494 SUBROUTINE surface_data_output_parin 3515 3495 3516 3496 IMPLICIT NONE … … 3519 3499 3520 3500 3521 NAMELIST /surface_ output_parameters/&3501 NAMELIST /surface_data_output_parameters/ & 3522 3502 averaging_interval_surf, data_output_surf, & 3523 3503 dt_dosurf, dt_dosurf_av, & … … 3530 3510 REWIND ( 11 ) 3531 3511 line = ' ' 3532 DO WHILE ( INDEX( line, '&surface_ output_parameters' ) == 0 )3512 DO WHILE ( INDEX( line, '&surface_data_output_parameters' ) == 0 ) 3533 3513 READ ( 11, '(A)', END=14 ) line 3534 3514 ENDDO … … 3537 3517 ! 3538 3518 !-- Read namelist 3539 READ ( 11, surface_ output_parameters, ERR = 10 )3519 READ ( 11, surface_data_output_parameters, ERR = 10 ) 3540 3520 ! 3541 3521 !-- Set flag that indicates that surface data output is switched on 3542 surface_ data_output = .TRUE.3522 surface_output = .TRUE. 3543 3523 GOTO 14 3544 3524 3545 3525 10 BACKSPACE( 11 ) 3546 3526 READ( 11 , '(A)') line 3547 CALL parin_fail_message( 'surface_ output_parameters', line )3527 CALL parin_fail_message( 'surface_data_output_parameters', line ) 3548 3528 3549 3529 14 CONTINUE 3550 3530 3551 3531 3552 END SUBROUTINE surface_ output_parin3532 END SUBROUTINE surface_data_output_parin 3553 3533 3554 3534 … … 3560 3540 !> variables and map them onto internal output array. 3561 3541 !------------------------------------------------------------------------------! 3562 SUBROUTINE surface_ output_check_parameters3542 SUBROUTINE surface_data_output_check_parameters 3563 3543 3564 3544 USE control_parameters, & … … 3587 3567 averaging_interval_surf, ' must be <= dt_dosurf_av = ', & 3588 3568 dt_dosurf_av 3589 CALL message( 'surface_ output_check_parameters',&3569 CALL message( 'surface_data_output_check_parameters', & 3590 3570 'PA0087', 1, 2, 0, 6, 0 ) 3591 3571 ENDIF … … 3621 3601 message_string = TRIM( trimvar ) // & 3622 3602 ' is not yet implemented in the surface output' 3623 CALL message( 'surface_ output_check_parameters',&3603 CALL message( 'surface_data_output_check_parameters', & 3624 3604 'PA0087', 1, 2, 0, 6, 0 ) 3625 3605 … … 3653 3633 message_string = TRIM( trimvar ) // & 3654 3634 ' is not part of the surface output' 3655 CALL message( 'surface_ output_check_parameters',&3635 CALL message( 'surface_data_output_check_parameters', & 3656 3636 'PA0087', 1, 2, 0, 6, 0 ) 3657 3637 END SELECT … … 3659 3639 ENDDO 3660 3640 3661 END SUBROUTINE surface_ output_check_parameters3641 END SUBROUTINE surface_data_output_check_parameters 3662 3642 3663 3643 … … 3667 3647 !> Last action. 3668 3648 !------------------------------------------------------------------------------! 3669 SUBROUTINE surface_ output_last_action( av )3649 SUBROUTINE surface_data_output_last_action( av ) 3670 3650 3671 3651 USE control_parameters, & … … 3698 3678 ENDDO 3699 3679 3700 END SUBROUTINE surface_output_last_action 3701 3702 !--Private Subroutines (Only called from tinside his module) 3703 3704 3705 3706 ! SUBROUTINE write_ascii_vtk (filename,time) 3707 ! IMPLICIT NONE 3708 ! CHARACTER(LEN=*),INTENT(IN) :: filename 3709 ! REAL(kind=wp),INTENT(IN) :: time 3710 ! 3711 ! INTEGER :: file_id=251 3712 ! INTEGER :: n 3713 ! 3714 ! IF(myid == surf_io_pe) then 3715 ! open(file_id,file=TRIM(filename)) ! Please use check_open in the final version 3716 ! 3717 ! write(file_id,'(a)') "# vtk DataFile Version 3.0" 3718 ! write(file_id,'(a,f8.2,a)') "legacy vtk File generated by PALM, simulation time = ",time," sec" 3719 ! write(file_id,'(a)') "ASCII" 3720 ! 3721 ! write(file_id,'(a)') "DATASET POLYDATA" 3722 ! write(file_id,'(a,i5,a)') "POINTS ",npo," float" 3723 ! do n=1,npo 3724 ! write (file_id,'(8f10.1)') points(1:3,n) 3725 ! end do 3726 ! 3727 ! write(file_id,'(a,8i10)') "POLYGONS ",npg, 5*npg 3728 ! do n=1,npg 3729 ! write(file_id,'(8i10)') polygons(:,n) 3730 ! end do 3731 ! 3732 ! write(file_id,'(a,i10)') "CELL_DATA ",npg 3733 ! write(file_id,'(a,i10)') "SCALARS cell_scalars float 1 " 3734 ! write(file_id,'(a,i10)') "LOOKUP_TABLE default " 3735 ! 3736 ! do n=1,npg 3737 ! write(file_id,'(f10.2)') cell_scalars(n) 3738 ! end do 3739 ! 3740 ! close (file_id) 3741 ! 3742 ! DEALLOCATE (points,polygons,cell_scalars) 3743 ! ENDIF 3744 ! 3745 ! RETURN 3746 ! END SUBROUTINE write_ascii_vtk 3747 3748 END MODULE surface_output_mod 3680 END SUBROUTINE surface_data_output_last_action 3681 3682 3683 END MODULE surface_data_output_mod -
palm/trunk/SOURCE/time_integration.f90
r3647 r3648 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Rename subroutines for surface-data output 28 ! 29 ! 3647 2019-01-02 14:10:44Z kanani 27 30 ! Bugfix: add time_since_reference_point to IF clause for data_output calls 28 31 ! (otherwise skip_time_* values don't come into affect with dt_do* = 0.0). … … 488 491 skip_time_do3d, skip_time_domask, skip_time_dopr, & 489 492 skip_time_data_output_av, sloping_surface, stop_dt, & 490 surface_ data_output, terminate_coupled, terminate_run,&493 surface_output, terminate_coupled, terminate_run, & 491 494 timestep_scheme, & 492 495 time_coupling, time_do2d_xy, time_do2d_xz, time_do2d_yz, & … … 595 598 enter_surface_arrays, exit_surface_arrays 596 599 597 USE surface_ output_mod,&600 USE surface_data_output_mod, & 598 601 ONLY: average_count_surf, averaging_interval_surf, dt_dosurf, & 599 dt_dosurf_av, surface_ output, surface_output_averaging,&600 s kip_time_dosurf, skip_time_dosurf_av, time_dosurf,&601 time_dosurf_av602 dt_dosurf_av, surface_data_output, & 603 surface_data_output_averaging, skip_time_dosurf, & 604 skip_time_dosurf_av, time_dosurf, time_dosurf_av 602 605 603 606 USE turbulence_closure_mod, & … … 1466 1469 ! 1467 1470 !-- Increment time-counter for surface output 1468 IF ( surface_ data_output ) THEN1471 IF ( surface_output ) THEN 1469 1472 IF ( time_since_reference_point >= skip_time_dosurf ) THEN 1470 1473 time_dosurf = time_dosurf + dt_3d … … 1592 1595 ! 1593 1596 !-- Average surface data 1594 IF ( surface_ data_output ) THEN1597 IF ( surface_output ) THEN 1595 1598 IF ( averaging_interval_surf /= 0.0_wp & 1596 1599 .AND. ( dt_dosurf_av - time_dosurf_av ) <= averaging_interval_surf & 1597 1600 .AND. time_since_reference_point >= skip_time_dosurf_av ) THEN 1598 1601 IF ( time_dosurf_av >= dt_averaging_input ) THEN 1599 CALL surface_ output_averaging1602 CALL surface_data_output_averaging 1600 1603 average_count_surf = average_count_surf + 1 1601 1604 ENDIF … … 1714 1717 ! 1715 1718 !-- Output of surface data, instantaneous and averaged data 1716 IF ( surface_ data_output ) THEN1719 IF ( surface_output ) THEN 1717 1720 IF ( time_dosurf >= dt_dosurf & 1718 1721 .AND. time_since_reference_point >= skip_time_dosurf ) THEN 1719 CALL surface_ output( 0 )1722 CALL surface_data_output( 0 ) 1720 1723 time_dosurf = MOD( time_dosurf, MAX( dt_dosurf, dt_3d ) ) 1721 1724 ENDIF 1722 1725 IF ( time_dosurf_av >= dt_dosurf_av & 1723 1726 .AND. time_since_reference_point >= skip_time_dosurf_av ) THEN 1724 CALL surface_ output( 1 )1727 CALL surface_data_output( 1 ) 1725 1728 time_dosurf_av = MOD( time_dosurf_av, MAX( dt_dosurf_av, dt_3d ) ) 1726 1729 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.