Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge WRF-PartMC PartMC specific development to PartMC (#168)
* added aero_component to aero_particle * added weight_class to aero_mode to note which weight class particles should be in * added how to combine arrays of components for coagulation * removed n_orig_part from aero_particle * created a Makefile for building partmc for wrf * added wrf_partmc variables to env_state and output * added 3d and 4d array handling for netcdf files * minor changes * added 3d array handling with mpi * edit makefile * added ifdef to turn off dilution * added PMC_USE_WRF flag * added WRF CPP flag for special netcdf filenames * fix error in 5d array pack subroutine * added some useful debugging to aero_state.F90 * added debugging when sampling particles * added chamber to Makefile * added aero_component arrays to output * modified aerosol input files to add weight classes * removed left over debugging output * cleaned up output.F90 * edit aero_dist files to add weight_class_name * fixed nucleate source and weighting * removed _SOURCE weighting options * fixed netcdf array reading subroutines * fixed env_state_input_netcdf to read WRF specific variables * changed WRF-partmc output to entire column * add cpp around wrf partmc output subroutine * removed unused variables * minor bug fixes for aero_components * fixed missing weight class names in mpi functions * changed gas_data and aero_data to not be arrays in output * aero component fixes * disabled per particle coagulation * aero_id is now 64 bit * fixed aero id in aero_state * fixed remaining aero_ids to int64 * use mpi_integer8 * added error particle checking and removal from mosaic * update env_state probablities to 4d arrays * change rand_binomial to handle small values of p * added a few netcdf subroutines * improvements to aero_data input and output * added netcdf int64 subroutines * changes to partmc code for wrf partmc * added sorting for real values * changes to aero_state to not track removals in wrf-partmc * added gsl to makefile * add threshold for sampling * fixed cutoff for low number concentration in sampling * added size factor timescale for sampling * added missing dependency in Makefile * change large static character arrays in aero_data to allocatable to avoid compiler warning * changed output of component array to avoid gcc compile warning * change to netcdf4 to allow int64 type * fixed missing weight_class_name for mixing_state test * added missing weight_class_name to file in camp test * reenable per particle coagulation * remove two wrf partmc hacks * moved particle_error debugging for mosaic to wrf partmc only * changed aero_particle_zero to allocate component array of size 0 and adjusted coagulation copying of components * increased maximum aero_component size * add new way to determine aero_component array in coagulation * remove component flag option in coagulation * minor code format fix * added note to makefile for WRF build and added camp_interface * update to not require user specified weighting * change weighting specification in test case inputs * update inputs and spec files in scenarios for weighting changes * remove leftover debugging output * added tracking number of primary particles that make a particle * change documentation to reflect change in order spec file for do_select_weighting * clean up commented out code for sampling in aero_state * fixed long code lines that were my fault * added create_time to output and input. fixed typos for long line breaking. * fix documentation for output of aero_state to include component features * removed unused env_state variable * remove hardcoded value for weighting * added weighting testcase * fix bug * small bug fixes found after wrf-partmc compile * update optical wavelengths * added missing files in wrf-partmc makefile * optical changes. added deaveraging and new mixing state metric by size * bug fix and add cell_volume to env_state * minor changes to optical code * remove deaveraging * fix to aero_state_input_netcdf * add missing files to makefile * move a few num_conc functions to aero_state * update code to handle multiple wavelengths * refactor mixing_state_metric_by_size * fix spec files for parallel tests * fix missing do_camp_chem in run_part_opt mpi calls * clean up debugging code * add comments about controlling the sampling range of normal distribution * fix Makefile for wrf-partmc build * add optical property functions for aerosol state * set size of arrays in aero_state optical functions * safeguard against copying aero_state with no particles * fix dup_all_particles * add write_real_4d * fix repeated error codes that I introduced * Apply formatting suggestions Co-authored-by: Matthew West <[email protected]> * move ifdef down a level in aero_state_total_particles_all_proc. fix bug in reading other particle ID * fix comments. remove code that was no longer used * improve weighting tests * improve weighitng tests. add plotting * remove num_weight_classes argument * improve aero_state_num_concs_by_source to be weighted correctly * fix comment in aero_particle_n_components * rename Makefile to make it more obvious that it belongs only for wrf partmc * move MAX_AERO_COMPONENT_SIZE to aero_particle.F90 * clean up unused variables * rename abs and scat size-resolved functions * improve by_size optical functions * first pass at fixing n_component functionconfusion * refactor size selecting code * change binned analysis code to be more general * revert to optical true * change num_primary_parts to n_primary_parts. scale num_concs_by_source by primary parts and components * randomly select aero_components when exceeding maximum * allow partmc to get wavelengths of optical properties for multi-wavelength MOSAIC codes * fix up wavelength in aero_data * remove unneeded subroutine for wavelengths * improve multiple wavelength build process * rename variables regarding threshold sampling * add comment regarding single wavelength optical subroutine * improve bin_grid_contains * fix double counting problem in bin_grid_contains * handle possible problems in bin_grid_contains * fix mpi calls for run_part_opt. add uuid comment to mosaic calls * make camp happy * fix typo * fix mosaic aerosol_optical calls * fix component scaling with sample_source_particle * rename env_state variables. fix output bug for n_primary_parts * add file input for column * remove n_orig_part from output * fix bin_grid_contains to be consistent with bin_grid_find * move copy_weight outside of aero_state_sample_particles * fix code for bin_grid_contains --------- Co-authored-by: Matthew West <[email protected]>
- Loading branch information