Changeset 3876 for palm/trunk
- Timestamp:
- Apr 8, 2019 6:41:49 PM (6 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/Makefile
r3875 r3876 882 882 basic_constants_and_equations_mod.o \ 883 883 chem_gasphase_mod.o \ 884 chem istry_model_mod.o \884 chem_modules.o \ 885 885 mod_kinds.o \ 886 886 modules.o \ … … 1333 1333 basic_constants_and_equations_mod.o \ 1334 1334 biometeorology_mod.o \ 1335 chemistry_model_mod.o \1336 1335 cpulog_mod.o \ 1337 1336 mod_kinds.o \ … … 1368 1367 user_module.o 1369 1368 nesting_offl_mod.o: \ 1370 chem istry_model_mod.o \1369 chem_modules.o \ 1371 1370 cpulog_mod.o \ 1372 1371 mod_kinds.o \ … … 1441 1440 pmc_interface_mod.o: \ 1442 1441 bulk_cloud_model_mod.o \ 1442 chem_modules.o \ 1443 1443 chemistry_model_mod.o \ 1444 1444 chem_gasphase_mod.o \ … … 1584 1584 advec_s_up.o \ 1585 1585 chem_gasphase_mod.o \ 1586 chem istry_model_mod.o \1586 chem_modules.o \ 1587 1587 diffusion_s.o \ 1588 1588 netcdf_data_input_mod.o \ … … 1851 1851 virtual_measurement_mod.o: \ 1852 1852 cpulog_mod.o \ 1853 chem istry_model_mod.o \1853 chem_modules.o \ 1854 1854 chem_gasphase_mod.o \ 1855 1855 mod_kinds.o \ -
palm/trunk/SOURCE/chem_modules.f90
r3835 r3876 94 94 CHARACTER (LEN=80) :: mode_emis = 'PARAMETERIZED' !< namelist parameter: mode of chemistry emissions - DEFAULT, EXPERT, PARAMETERIZED 95 95 CHARACTER (LEN=80) :: time_fac_type = 'MDH' !< namelist parameter: type of time treatment in the mode_emis DEFAULT - HOUR, MDH 96 96 CHARACTER (LEN=10) :: photolysis_scheme !< 'constant', 97 !< 'simple' (Simple parameterisation from MCM, Saunders et al., 2003, Atmos. Chem. Phys., 3, 161-180 98 !< 'fastj' (Wild et al., 2000, J. Atmos. Chem., 37, 245-282) STILL NOT IMPLEMENTED 99 97 100 CHARACTER (LEN=11), DIMENSION(99) :: cs_name = 'novalue' !< namelist parameter: names of species with given fluxes (see csflux) 98 101 CHARACTER (LEN=11), DIMENSION(99) :: cs_profile_name = 'novalue' !< namelist parameter: tbc...??? … … 183 186 REAL, PARAMETER :: xm_NO3 = xm_N + xm_O * 3 !< NO3 molecular weight (kg/mol) 184 187 REAL, PARAMETER :: xm_SO4 = xm_S + xm_O * 4 !< SO4 molecular weight (kg/mol) 188 ! 189 !- Define chemical variables within chem_species 190 TYPE species_def 191 CHARACTER(LEN=15) :: name !< name of chemical species 192 CHARACTER(LEN=15) :: unit !< unit (ppm for gases, kg m^-3 for aerosol tracers) 193 REAL(kind=wp), POINTER, DIMENSION(:,:,:) :: conc !< concentrations of trace gases 194 REAL(kind=wp), POINTER, DIMENSION(:,:,:) :: conc_av !< averaged concentrations 195 REAL(kind=wp), POINTER, DIMENSION(:,:,:) :: conc_p !< conc at prognostic time level 196 REAL(kind=wp), POINTER, DIMENSION(:,:,:) :: tconc_m !< weighted tendency of conc for previous sub-timestep (Runge-Kutta) 197 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:) :: cssws_av !< averaged fluxes of trace gases at surface 198 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:) :: flux_s_cs !< 6th-order advective flux at south face of grid box of chemical species (='cs') 199 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:) :: diss_s_cs !< artificial numerical dissipation flux at south face of grid box of chemical species 200 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:,:) :: flux_l_cs !< 6th-order advective flux at left face of grid box of chemical species (='cs') 201 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:,:) :: diss_l_cs !< artificial numerical dissipation flux at left face of grid box of chemical species 202 REAL(kind=wp), ALLOCATABLE, DIMENSION(:) :: conc_pr_init !< initial profile of chemical species 203 END TYPE species_def 204 ! 205 !-- Define photolysis frequencies in phot_frequen 206 TYPE photols_def 207 CHARACTER(LEN=15) :: name !< name of pgotolysis frequency 208 CHARACTER(LEN=15) :: unit !< unit (1/s) 209 REAL(kind=wp), POINTER, DIMENSION(:,:,:) :: freq !< photolysis frequency 210 END TYPE photols_def 211 212 213 TYPE(species_def), ALLOCATABLE, DIMENSION(:), TARGET :: chem_species 214 TYPE(photols_def), ALLOCATABLE, DIMENSION(:), TARGET :: phot_frequen 185 215 186 216 SAVE -
palm/trunk/SOURCE/chem_photolysis_mod.f90
r3838 r3876 78 78 ONLY: nphot, phot_names, phot 79 79 80 USE chem istry_model_mod,&80 USE chem_modules, & 81 81 ONLY: phot_frequen, photolysis_scheme 82 82 -
palm/trunk/SOURCE/chemistry_model_mod.f90
r3862 r3876 318 318 319 319 LOGICAL :: nest_chemistry = .TRUE. !< flag for nesting mode of chemical species, independent on parent or not 320 !321 !- Define chemical variables within chem_species322 TYPE species_def323 CHARACTER(LEN=15) :: name !< name of chemical species324 CHARACTER(LEN=15) :: unit !< unit (ppm for gases, kg m^-3 for aerosol tracers)325 REAL(kind=wp), POINTER, DIMENSION(:,:,:) :: conc !< concentrations of trace gases326 REAL(kind=wp), POINTER, DIMENSION(:,:,:) :: conc_av !< averaged concentrations327 REAL(kind=wp), POINTER, DIMENSION(:,:,:) :: conc_p !< conc at prognostic time level328 REAL(kind=wp), POINTER, DIMENSION(:,:,:) :: tconc_m !< weighted tendency of conc for previous sub-timestep (Runge-Kutta)329 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:) :: cssws_av !< averaged fluxes of trace gases at surface330 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:) :: flux_s_cs !< 6th-order advective flux at south face of grid box of chemical species (='cs')331 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:) :: diss_s_cs !< artificial numerical dissipation flux at south face of grid box of chemical species332 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:,:) :: flux_l_cs !< 6th-order advective flux at left face of grid box of chemical species (='cs')333 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:,:) :: diss_l_cs !< artificial numerical dissipation flux at left face of grid box of chemical species334 REAL(kind=wp), ALLOCATABLE, DIMENSION(:) :: conc_pr_init !< initial profile of chemical species335 END TYPE species_def336 !337 !-- Define photolysis frequencies in phot_frequen338 TYPE photols_def339 CHARACTER(LEN=15) :: name !< name of pgotolysis frequency340 CHARACTER(LEN=15) :: unit !< unit (1/s)341 REAL(kind=wp), POINTER, DIMENSION(:,:,:) :: freq !< photolysis frequency342 END TYPE photols_def343 344 345 TYPE(species_def), ALLOCATABLE, DIMENSION(:), TARGET, PUBLIC :: chem_species346 TYPE(photols_def), ALLOCATABLE, DIMENSION(:), TARGET, PUBLIC :: phot_frequen347 320 348 321 REAL(kind=wp), ALLOCATABLE, DIMENSION(:,:,:,:), TARGET :: spec_conc_1 !< pointer for swapping of timelevels for conc … … 374 347 375 348 REAL(kind=wp), PUBLIC :: cs_time_step = 0._wp 376 CHARACTER(10), PUBLIC :: photolysis_scheme377 !< 'constant',378 !< 'simple' (Simple parameterisation from MCM, Saunders et al., 2003, Atmos. Chem. Phys., 3, 161-180379 !< 'fastj' (Wild et al., 2000, J. Atmos. Chem., 37, 245-282) STILL NOT IMPLEMENTED380 381 349 382 350 ! … … 445 413 PUBLIC nspec !< number of gas phase chemical species including constant compound (e.g. N2) 446 414 PUBLIC nvar !< number of variable gas phase chemical species (nvar <= nspec) 447 PUBLIC photols_def !< type defining phot_frequen448 PUBLIC species_def !< type defining chem_species449 415 PUBLIC spc_names !< names of gas phase chemical species (come from KPP) (come from KPP) 450 416 PUBLIC spec_conc_2 -
palm/trunk/SOURCE/multi_agent_system_mod.f90
r3833 r3876 2775 2775 ONLY: u, v, pt, exner 2776 2776 2777 ! USE chemistry_model_mod, &2778 ! ONLY: chem_species2779 2780 ! USE control_parameters, &2781 ! ONLY: air_chemistry2782 2783 2777 IMPLICIT NONE 2784 2778 … … 2846 2840 !-- Calculate temperature at agent position 2847 2841 agents(nl)%t = pt(kl,jl,il) * exner(kl) 2848 ! ! 2849 ! !-- Get PM10 concentration at agent position, if possible 2850 ! IF ( ind_pm10 == -9 ) THEN 2851 ! agents(nl)%pm10 = 0.0_wp 2852 ! ELSE 2853 ! agents(nl)%pm10 = chem_species(ind_pm10)%conc(kl,jl,il) 2854 ! ENDIF 2855 ! ! 2856 ! !-- Get PM10 concentration at agent position, if possible 2857 ! IF ( ind_pm25 == -9 ) THEN 2858 ! agents(nl)%pm25 = 0.0_wp 2859 ! ELSE 2860 ! agents(nl)%pm25 = chem_species(ind_pm25)%conc(kl,jl,il) 2861 ! ENDIF 2842 2862 2843 ENDDO 2863 2844 … … 3017 2998 SUBROUTINE mas_init 3018 2999 3019 ! USE chem_gasphase_mod, &3020 ! ONLY: nvar3021 3022 ! USE chemistry_model_mod, &3023 ! ONLY: chem_species3024 3025 3000 USE control_parameters, & 3026 3001 ONLY: coupling_char, initializing_actions, io_blocks, io_group … … 3108 3083 ENDDO 3109 3084 ENDDO 3110 ! ! 3111 ! !-- Get indices of PM10 and PM2.5 species, if active 3112 ! IF ( air_chemistry ) THEN 3113 ! DO il = 1, nvar 3114 ! print*,chem_species(il)%name 3115 ! ! IF ( spec_name(1:4) == 'PM10' ) THEN 3116 ! ! ind_pm10 = il 3117 ! ! ELSEIF ( spec_name(1:4) == 'PM25' ) THEN 3118 ! ! ind_pm25 = il 3119 ! ! ENDIF 3120 ! 3121 ! ENDDO 3122 ! ENDIF 3123 ! stop 3085 3124 3086 CALL mas_create_obstacle_flags 3125 3087 -
palm/trunk/SOURCE/nesting_offl_mod.f90
r3858 r3876 63 63 v_init, vg, w, zu, zw 64 64 65 USE chem istry_model_mod,&65 USE chem_modules, & 66 66 ONLY: chem_species 67 67 -
palm/trunk/SOURCE/pmc_interface_mod.f90
r3864 r3876 403 403 roughness_length, salsa, topography, volume_flow 404 404 405 USE chem_gasphase_mod, 405 USE chem_gasphase_mod, & 406 406 ONLY: nspec 407 407 408 USE chem_modules, & 409 ONLY: chem_species 410 408 411 USE chemistry_model_mod, & 409 ONLY: chem_species,nest_chemistry, spec_conc_2412 ONLY: nest_chemistry, spec_conc_2 410 413 411 414 USE cpulog, & -
palm/trunk/SOURCE/prognostic_equations.f90
r3875 r3876 389 389 USE chem_modules, & 390 390 ONLY: call_chem_at_all_substeps, chem_gasphase_on, cs_name, & 391 deposition_dry 391 deposition_dry, chem_species 392 392 393 393 USE chem_gasphase_mod, & … … 399 399 USE chemistry_model_mod, & 400 400 ONLY: chem_boundary_conds, chem_depo, chem_integrate, & 401 chem_prognostic_equations , chem_species401 chem_prognostic_equations 402 402 403 403 USE control_parameters, & -
palm/trunk/SOURCE/salsa_mod.f90
r3872 r3876 135 135 ONLY: nspec, nvar, spc_names 136 136 137 USE chemistry_model_mod, &138 ONLY: chem_species139 140 137 USE chem_modules, & 141 ONLY: call_chem_at_all_substeps, chem_gasphase_on 138 ONLY: call_chem_at_all_substeps, chem_gasphase_on, chem_species 142 139 143 140 USE control_parameters -
palm/trunk/SOURCE/time_integration.f90
r3875 r3876 509 509 510 510 USE chem_modules, & 511 ONLY: bc_cs_t_val, cs_name, emissions_anthropogenic, nspec_out 511 ONLY: bc_cs_t_val, cs_name, emissions_anthropogenic, nspec_out, chem_species 512 512 513 513 USE chemistry_model_mod, & 514 ONLY: chem_boundary_conds , chem_species514 ONLY: chem_boundary_conds 515 515 516 516 USE control_parameters, & … … 892 892 893 893 ! 894 !-- Execute all eother module actions routunes894 !-- Execute all other module actions routunes 895 895 CALL module_interface_actions( 'before_timestep' ) 896 896 … … 950 950 CALL calc_mean_profile( q, 41 ) 951 951 ENDIF 952 952 ! 953 !-- Execute all other module actions routunes 954 CALL module_interface_actions( 'before_prognostic_equations' ) 953 955 ! 954 956 !-- Solve the prognostic equations. A fast cache optimized version with -
palm/trunk/SOURCE/virtual_measurement_mod.f90
r3855 r3876 86 86 ONLY: nvar 87 87 88 USE chem istry_model_mod,&88 USE chem_modules, & 89 89 ONLY: chem_species 90 90
Note: See TracChangeset
for help on using the changeset viewer.