- Timestamp:
- Feb 26, 2021 4:22:32 PM (4 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/chem_emissions_mod.f90
r4828 r4887 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Unnecessary comments removed 29 ! 30 ! 4828 2021-01-05 11:21:41Z Giersch 28 31 ! Implementation of downward facing USM and LSM surfaces 29 ! 32 ! 30 33 ! 4559 2020-06-11 08:51:48Z raasch 31 34 ! file re-formatted to follow the PALM coding standard 32 35 ! 33 36 ! 4481 2020-03-31 18:55:54Z maronga 34 ! Implemented on-demand read mode for LOD 2 (ECC)37 ! Implemented on-demand read mode for LOD 2 NB 35 38 ! - added following module global variables 36 39 ! - input_file_chem (namesake in netcdf_data_input_mod is local) … … 126 129 !> MODULE for reading-in Chemistry Emissions data 127 130 !> 128 !> @todo Rename nspec to n_emis to avoid inteferece with nspec from chem_gasphase_mod129 !> @todo Check_parameters routine should be developed: for now it includes just one condition130 !> @todo Use of Restart files not contempled at the moment131 !> @todo revise indices of files read from the netcdf: preproc_emission_data and expert_emission_data132 !> @todo for now emission data may be passed on a singular vertical level: need to be more flexible133 !> @todo fill/activate restart option in chem_emissions_init134 !> @todo discuss dt_emis135 131 !> @note <Enter notes on the module> 136 132 !> @bug <Enter known bugs here> … … 169 165 170 166 ! 171 !-- 20200203 (ECC)167 !-- 20200203 NB 172 168 !-- Added new palm_date_time_mod for on-demand emission reading 173 169 … … 181 177 182 178 ! 183 !-- 20200203 (ECC) - variable unused 184 ! CHARACTER (LEN=80) :: filename_emis !< Variable for the name of the netcdf input file 185 186 ! 187 !-- 20200203 (ECC) new variables for on-demand read mode 179 !-- 20200203 NB new variables for on-demand read mode 188 180 189 181 CHARACTER(LEN=*), PARAMETER :: input_file_chem = 'PIDS_CHEM' !< chemistry file … … 210 202 SAVE 211 203 212 ! !213 ! !-- Checks Input parameters214 ! INTERFACE chem_emissions_check_parameters215 ! MODULE PROCEDURE chem_emissions_check_parameters216 ! END INTERFACE chem_emissions_check_parameters217 204 ! 218 205 !-- Matching Emissions actions … … 232 219 233 220 ! 234 !-- 20200203 (ECC)new interfaces for on-demand mode221 !-- 20200203 NB new interfaces for on-demand mode 235 222 236 223 ! … … 246 233 247 234 ! 248 !-- 20200203 (ECC) update public routines 249 250 ! PUBLIC chem_emissions_init, chem_emissions_match, chem_emissions_setup 235 !-- 20200203 NB update public routines 251 236 252 237 PUBLIC chem_emissions_init, chem_emissions_match, chem_emissions_setup, & … … 257 242 258 243 CONTAINS 259 260 ! !------------------------------------------------------------------------------------------------!261 ! ! Description:262 ! ! ------------263 ! !> Routine for checking input parameters264 ! !------------------------------------------------------------------------------------------------!265 ! SUBROUTINE chem_emissions_check_parameters266 !267 ! IMPLICIT NONE268 !269 ! TYPE(chem_emis_att_type) :: emt270 !271 ! !272 ! !-- Check if species count matches the number of names273 ! !-- passed for the chemiscal species274 !275 ! IF ( SIZE(emt%species_name) /= emt%n_emiss_species ) THEN276 ! ! IF ( SIZE(emt%species_name) /= emt%nspec ) THEN277 !278 ! message_string = 'Numbers of input emission species names and number of species' // &279 ! 'for which emission values are given do not match'280 ! CALL message( 'chem_emissions_check_parameters', 'CM0437', 2, 2, 0, 6, 0 )281 !282 ! ENDIF283 !284 ! END SUBROUTINE chem_emissions_check_parameters285 244 286 245 … … 794 753 795 754 INTEGER(iwp) :: ispec !< running index 796 797 !798 !-- Actions for initial runs799 ! IF ( TRIM( initializing_actions ) /= 'read_restart_data' ) THEN800 !-- ...801 !802 !803 !-- Actions for restart runs804 ! ELSE805 !-- ...806 !807 ! ENDIF808 755 809 756 … … 1093 1040 hyp(nzb:nzt+1) ! Pa 1094 1041 1095 ! (ecc) for reference1096 ! m**3/Nmole (J/mol)*K^-1 K Pa1097 ! conv_to_ratio(nzb:nzt+1,j,i) = ( (Rgas * tmp_temp(nzb:nzt+1,j,i)) / ((hyp(nzb:nzt+1))) )1098 1099 1042 ENDDO 1100 1043 ENDDO 1101 1044 1102 1045 1103 ! (ecc) moved initialization immediately after allocation1104 !1105 !-- Initialize1106 1107 ! emis_distribution(:,nys:nyn,nxl:nxr,:) = 0.0_wp1108 1109 1110 1046 ! 1111 1047 !-- LOD 2 (PRE-PROCESSED MODE) 1112 1048 1113 1049 IF ( emiss_lod == 2 ) THEN 1114 1115 ! for reference (ecc)1116 ! IF ( TRIM( mode_emis ) == "PRE-PROCESSED" ) THEN1117 1050 1118 1051 ! … … 1130 1063 !-- LOD 1 (DEFAULT MODE) 1131 1064 ELSEIF ( emiss_lod == 1 ) THEN 1132 1133 ! for reference (ecc)1134 ! ELSEIF ( TRIM( mode_emis ) == "DEFAULT" ) THEN1135 1065 1136 1066 ! … … 1232 1162 1233 1163 1234 ! for reference (ecc)1235 ! ELSEIF ( TRIM( mode_emis ) == "PARAMETERIZED" ) THEN1236 1237 1164 ! 1238 1165 !-- Assign constant values of time factors, diurnal profile for traffic sector … … 1257 1184 !-- Emission distribution calculation 1258 1185 1259 !1260 !-- LOD 0 (PARAMETERIZED mode)1261 1186 IF ( emiss_lod == 0 ) THEN 1262 1263 ! for reference (ecc)1264 ! IF ( TRIM( mode_emis ) == "PARAMETERIZED" ) THEN1265 1187 1266 1188 DO ispec = 1, n_matched_vars … … 1277 1199 !-- LOD 1 (DEFAULT mode) 1278 1200 ELSEIF ( emiss_lod == 1 ) THEN 1279 1280 ! for referene (ecc)1281 ! ELSEIF ( TRIM( mode_emis ) == "DEFAULT" ) THEN1282 1201 1283 1202 ! … … 1448 1367 ELSEIF ( emiss_lod == 2 ) THEN 1449 1368 1450 ! for reference (ecc)1451 ! ELSEIF ( TRIM( mode_emis ) == "PRE-PROCESSED" ) THEN1452 1453 1369 ! 1454 1370 !-- Cycle over species: n_matched_vars represents the number of species in common between the … … 1461 1377 * conversion_factor 1462 1378 1463 1464 ! emis_distribution(1,nys:nyn,nxl:nxr,ispec) = &1465 ! emt(match_spec_input(ispec))% &1466 ! preproc_emission_data(index_hh,1,:,:) * &1467 ! conversion_factor1468 1379 ENDDO 1469 1380 … … 1479 1390 !-- Units of inputs are micromoles/m2/s 1480 1391 IF ( emiss_lod == 0 ) THEN 1481 ! for reference (ecc)1482 ! IF ( TRIM( mode_emis ) == "PARAMETERIZED" ) THEN1483 1392 1484 1393 IF (street_type_f%from_file) THEN … … 1577 1486 ENDDO ! ispec 1578 1487 1579 !1580 !-- If no street type is defined, then assign zero emission to all the species1581 ! (ecc) moved to front (for reference)1582 ! ELSE1583 !1584 ! surf_lsm_h(0)%cssws(:,m) = 0.0_wp1585 1586 1488 ENDIF ! street type 1587 1489 … … 1775 1677 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1776 1678 !! 1777 !! 20200203 (ECC)- ON DEMAND EMISSION UPDATE MODE1679 !! 20200203 NB - ON DEMAND EMISSION UPDATE MODE 1778 1680 !! 1779 1681 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 1793 1695 1794 1696 ! 1795 !-- 20200203 (ECC)1697 !-- 20200203 NB 1796 1698 ! 1797 1699 !--------------------------------------------------------------------------------------------------! … … 1819 1721 1820 1722 ! 1821 !-- 20200203 (ECC)1723 !-- 20200203 NB 1822 1724 ! 1823 1725 !--------------------------------------------------------------------------------------------------! … … 1850 1752 1851 1753 ! 1852 !-- 20200203 (ECC)1754 !-- 20200203 NB 1853 1755 ! 1854 1756 !--------------------------------------------------------------------------------------------------! … … 1910 1812 1911 1813 ! 1912 !-- 20200203 (ECC)1814 !-- 20200203 NB 1913 1815 ! 1914 1816 !--------------------------------------------------------------------------------------------------! … … 2092 1994 2093 1995 ! 2094 !-- 20200203 (ECC)1996 !-- 20200203 NB 2095 1997 ! 2096 1998 !--------------------------------------------------------------------------------------------------! … … 2119 2021 chem_emis_att%n_emiss_species ) 2120 2022 ! 2121 !- Backward compatibility for salsa_mod (ECC)2023 !- Backward compatibility for salsa_mod NB 2122 2024 chem_emis_att%nspec = chem_emis_att%n_emiss_species 2123 2025 ! … … 2160 2062 2161 2063 ! 2162 !-- 20200203 (ECC)2064 !-- 20200203 NB 2163 2065 ! 2164 2066 !--------------------------------------------------------------------------------------------------! … … 2214 2116 2215 2117 ! 2216 !-- 20200203 (ECC)2118 !-- 20200203 NB 2217 2119 ! 2218 2120 !--------------------------------------------------------------------------------------------------! … … 2312 2214 2313 2215 ! 2314 !-- 20200203 (ECC)2216 !-- 20200203 NB 2315 2217 ! 2316 2218 !--------------------------------------------------------------------------------------------------! … … 2395 2297 2396 2298 ! 2397 !-- 20200203 (ECC)2299 !-- 20200203 NB 2398 2300 ! 2399 2301 !--------------------------------------------------------------------------------------------------! … … 2421 2323 2422 2324 ! 2423 !-- 20200203 (ECC)2325 !-- 20200203 NB 2424 2326 ! 2425 2327 !--------------------------------------------------------------------------------------------------! … … 2458 2360 2459 2361 ! 2460 !-- 20200203 (ECC)2362 !-- 20200203 NB 2461 2363 ! 2462 2364 !--------------------------------------------------------------------------------------------------! -
palm/trunk/SOURCE/chemistry_model_mod.f90
r4881 r4887 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Unnecessary comments removed 29 ! 30 ! 4881 2021-02-19 22:05:08Z forkel 28 31 ! removed unnecessarty namelist parameters and commented output statements 29 32 ! and cs_surface_initial_change 30 !31 33 ! 32 34 ! 4860 2021-02-01 08:10:59Z raasch … … 1972 1974 1973 1975 ! 1974 !-- 20200203 (ECC) 1975 !-- introduced additional interfaces for on-demand emission update 1976 !-- NB introduced additional interfaces for on-demand emission update 1976 1977 1977 1978 ! USE chem_emissions_mod, & … … 1998 1999 1999 2000 ! 2000 !-- 20200203 (ECC) 2001 !-- Calls specific emisisons initialization subroutines for legacy mode and on-demand mode 2001 !-- NB Calls specific emisisons initialization subroutines for legacy mode and on-demand mode 2002 2002 2003 2003 ! IF ( emissions_anthropogenic ) CALL chem_emissions_init … … 2057 2057 REAL(wp) :: flag !< flag for masking topography/building grid points 2058 2058 ! 2059 !-- 20200203 ECC 2060 !-- reads netcdf data only under legacy mode 2059 !-- NB reads netcdf data only under legacy mode 2061 2060 2062 2061 ! IF ( emissions_anthropogenic ) THEN … … 2658 2657 2659 2658 ! 2660 !-- (ECC)input check for emission read mode.2659 !-- NB input check for emission read mode. 2661 2660 !-- legacy : business as usual (everything read / set up at start of run) 2662 2661 !-- new : emission based on timestamp, and for lod2 data is loaded on an hourly basis 2663 2662 2664 2663 ! 2665 !-- (ECC)handler for emiss_read_legacy_mode2664 !-- NB handler for emiss_read_legacy_mode 2666 2665 !-- * emiss_read_legacy_mode is defaulted to TRUE 2667 2666 !-- * if emiss_read_legacy_mode is TRUE and LOD is 0 or 1,
Note: See TracChangeset
for help on using the changeset viewer.