Skip to content

Commit

Permalink
Update info for 2.8.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
jcurtis2 committed Feb 23, 2024
1 parent 3aad1f6 commit afe7bed
Show file tree
Hide file tree
Showing 12 changed files with 48 additions and 23 deletions.
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ project(PARTMC Fortran C)

set(PACKAGE_BUGREPORT "mwest@illinois.edu")
set(PACKAGE_NAME "PartMC")
set(PACKAGE_STRING "PartMC 2.7.0")
set(PACKAGE_STRING "PartMC 2.8.0")
set(PACKAGE_TARNAME "partmc")
set(PACKAGE_VERSION "2.7.0")
set(PACKAGE_VERSION "2.8.0")

######################################################################
# options
Expand Down
18 changes: 18 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
2.8.0 - 2024-02-23

* Add `aero_component` for tracking particle source information (Jeff Curtis).

* Add weight class selection for each aerosol source to multiple sources in a
single weight class (Jeff Curtis).

* Add option to avoid sampling particles that are a certain number of
standard deviations from the mean using a sampling timescale
(Jeff Curtis).

* Add preprocessor flag for WRF-PartMC specific variables and code
(`PMC_USE_WRF`) (Jeff Curtis).

* Fix MPI bug causing CI failure (Sylwester Arabas and Jeff Curtis).

* Fix particle reweighting when using CAMP (Jeff Curtis).

2.7.0 - 2023-08-11

* Add support for SUNDIALS 6+ (Alex Hirzel).
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ PartMC: Particle-resolved Monte Carlo code for atmospheric aerosol simulation

[![Latest version](https://img.shields.io/github/tag/compdyn/partmc.svg?label=version)](https://github.com/compdyn/partmc/blob/master/ChangeLog.md) [![Docker build status](https://img.shields.io/docker/automated/compdyn/partmc.svg)](https://hub.docker.com/r/compdyn/partmc/builds/) [![Github Actions Status](https://github.com/compdyn/partmc/workflows/CI/badge.svg?branch=master)](https://github.com/compdyn/partmc/actions/workflows/main.yml) [![License](https://img.shields.io/github/license/compdyn/partmc.svg)](https://github.com/compdyn/partmc/blob/master/COPYING) [![DOI](https://zenodo.org/badge/24058992.svg)](https://zenodo.org/badge/latestdoi/24058992)

Version 2.7.0
Released 2023-08-11
Version 2.8.0
Released 2024-02-23

**Source:** <https://github.com/compdyn/partmc>

**Homepage:** <http://lagrange.mechse.illinois.edu/partmc/>

**Cite as:** M. West, N. Riemer, J. Curtis, M. Michelotti, and J. Tian (2023) PartMC, [![version](https://img.shields.io/github/release/compdyn/partmc.svg?label=version)](https://github.com/compdyn/partmc), [![DOI](https://zenodo.org/badge/24058992.svg)](https://zenodo.org/badge/latestdoi/24058992)
**Cite as:** M. West, N. Riemer, J. Curtis, M. Michelotti, and J. Tian (2024) PartMC, [![version](https://img.shields.io/github/release/compdyn/partmc.svg?label=version)](https://github.com/compdyn/partmc), [![DOI](https://zenodo.org/badge/24058992.svg)](https://zenodo.org/badge/latestdoi/24058992)

Copyright (C) 2005-2022 Nicole Riemer and Matthew West
Copyright (C) 2005-2024 Nicole Riemer and Matthew West
Portions copyright (C) Andreas Bott, Richard Easter, Jeffrey Curtis,
Matthew Michelotti, and Jian Tian
Licensed under the GNU General Public License version 2 or (at your
Expand Down Expand Up @@ -184,12 +184,12 @@ Installation

2. Unpack PartMC:

tar xzvf partmc-2.7.0.tar.gz
tar xzvf partmc-2.8.0.tar.gz

3. Change into the main PartMC directory (where this README file is
located):

cd partmc-2.7.0
cd partmc-2.8.0

4. Make a directory called `build` and change into it:

Expand Down
2 changes: 1 addition & 1 deletion doc/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = PartMC
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 2.7.0
PROJECT_NUMBER = 2.8.0

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
2 changes: 1 addition & 1 deletion doc/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

VERSION = 2.7.0
VERSION = 2.8.0

GRAPHVIZ_FILE = partmc_modules.gv
GRAPHVIZ_PDF = $(patsubst %.gv,%.pdf,$(GRAPHVIZ_FILE))
Expand Down
10 changes: 6 additions & 4 deletions src/Makefile.wrf_partmc
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ pmc: $(PMC_MODULES)
clean:
@ echo 'use the clean script'

# DEPENDENCIES : only dependencies after this line (don't remove the word DEPENDENCIES)
# DEPENDENCIES : only dependencies after this line (don't remove the word \
DEPENDENCIES)

aero_binned.o: bin_grid.o aero_particle.o spec_file.o \
util.o aero_dist.o mpi.o aero_data.o
Expand Down Expand Up @@ -115,8 +116,8 @@ aero_weight_array.o: util.o constants.o rand.o spec_file.o \

bin_grid.o: constants.o util.o spec_file.o mpi.o netcdf.o

camp_interface.o: aero_data.o aero_state.o aero_particle.o constants.o gas_data.o \
gas_state.o util.o
camp_interface.o: aero_data.o aero_state.o aero_particle.o constants.o \
gas_data.o gas_state.o util.o

chamber.o: aero_data.o constants.o env_state.o spec_file.o

Expand Down Expand Up @@ -156,7 +157,8 @@ coagulation.o: bin_grid.o aero_data.o util.o env_state.o \
coagulation_dist.o: bin_grid.o aero_data.o util.o env_state.o \
aero_state.o coagulation.o mpi.o

condense.o: aero_state.o env_state.o aero_data.o util.o aero_particle.o constants.o
condense.o: aero_state.o env_state.o aero_data.o util.o aero_particle.o \
constants.o

constants.o:

Expand Down
3 changes: 2 additions & 1 deletion src/aero_particle.F90
Original file line number Diff line number Diff line change
Expand Up @@ -919,7 +919,8 @@ subroutine aero_particle_coagulate(aero_particle_1, &
aero_particle_new%weight_class = 0
n_swbands = size(aero_particle_1%absorb_cross_sect)
call ensure_real_array_size(aero_particle_new%absorb_cross_sect, n_swbands)
call ensure_real_array_size(aero_particle_new%scatter_cross_sect, n_swbands)
call ensure_real_array_size(aero_particle_new%scatter_cross_sect, &
n_swbands)
call ensure_real_array_size(aero_particle_new%asymmetry, n_swbands)
call ensure_complex_array_size(aero_particle_new%refract_shell, n_swbands)
call ensure_complex_array_size(aero_particle_new%refract_core, n_swbands)
Expand Down
3 changes: 2 additions & 1 deletion src/bin_grid.F90
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,8 @@ logical function bin_grid_contains(bin_grid, i_bin, val)
call assert_msg(828875607, bin_grid_size(bin_grid) >= 0, "bin_grid not " &
// "created.")
call assert_msg(454111488, 0 <= i_bin .and. &
i_bin <= bin_grid_size(bin_grid) + 1, "i_bin not a valid bin in bin_grid")
i_bin <= bin_grid_size(bin_grid) + 1, "i_bin not a valid bin in " &
// "bin_grid")

bin_grid_contains = .false.

Expand Down
4 changes: 2 additions & 2 deletions src/env_state.F90
Original file line number Diff line number Diff line change
Expand Up @@ -550,8 +550,8 @@ subroutine env_state_output_netcdf(env_state, ncid)
unit="m", standard_name="bottom_altitude")
call pmc_nc_write_real(ncid, env_state%z_max, "top_boundary_altitude", &
unit="m", standard_name="top_altitude")
call pmc_nc_write_real(ncid, env_state%inverse_density, "inverse_density", &
unit="m3kg-1", standard_name="inverse_density")
call pmc_nc_write_real(ncid, env_state%inverse_density, &
"inverse_density", unit="m3kg-1", standard_name="inverse_density")
call pmc_nc_write_real(ncid, env_state%cell_volume, "cell_volume", &
unit="m3", standard_name="cell_volume")
call pmc_nc_write_integer(ncid,env_state%cell_ix,"x_index", &
Expand Down
7 changes: 4 additions & 3 deletions src/mosaic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -525,11 +525,12 @@ end subroutine aerosol_optical
! has specific ordering requirements
do i_part = aero_state_n_part(aero_state),1,-1
#ifdef PMC_USE_MOSAIC_MULTI_OPT
aero_state%apa%particle(i_part)%absorb_cross_sect = (ext_cross(i_part,:) &
- scat_cross(i_part,:)) / 1d4 ! (m^2)
aero_state%apa%particle(i_part)%absorb_cross_sect = &
(ext_cross(i_part,:) - scat_cross(i_part,:)) / 1d4 ! (m^2)
aero_state%apa%particle(i_part)%scatter_cross_sect = &
scat_cross(i_part,:) / 1d4 ! (m^2)
aero_state%apa%particle(i_part)%asymmetry = asym_particle(i_part,:) ! (1)
aero_state%apa%particle(i_part)%asymmetry = &
asym_particle(i_part,:) ! (1)
aero_state%apa%particle(i_part)%refract_shell = &
cmplx(ri_shell_a(i_part,:), kind=dc) ! (1)
aero_state%apa%particle(i_part)%refract_core =&
Expand Down
2 changes: 1 addition & 1 deletion src/output.F90
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ module pmc_output
#endif

!> PartMC verson number.
character(len=100), parameter :: PARTMC_VERSION = "2.7.0"
character(len=100), parameter :: PARTMC_VERSION = "2.8.0"

!> Type code for undefined or invalid output.
integer, parameter :: OUTPUT_TYPE_INVALID = 0
Expand Down
4 changes: 3 additions & 1 deletion src/rand.F90
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,9 @@ end function pmc_rand_normal_gsl
rand_normal = real(harvest, kind=dp)
z0 = (rand_normal - mean)/ stddev
if (present(prob_threshold)) then
if (1.0d0 - abs(erf(z0/(2.0**.5))) >= prob_threshold) acceptable = .true.
if (1.0d0 - abs(erf(z0/(2.0**.5))) >= prob_threshold) then
acceptable = .true.
end if
else
acceptable = .true.
end if
Expand Down

0 comments on commit afe7bed

Please sign in to comment.