Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gitmodules/partmc
Submodule partmc updated 57 files
+2 −0 .dockerignore
+1 −1 .github/actions/codecov/action.yml
+1 −1 .github/workflows/camp.yml
+1 −1 .github/workflows/cloud_parcel.yml
+1 −1 .github/workflows/doc.yml
+1 −1 .github/workflows/images.yml
+1 −1 .github/workflows/main.yml
+1 −1 .github/workflows/mpi.yml
+1 −1 .github/workflows/tchem.yml.temporarily_off
+32 −0 CITATION.cff
+31 −3 CMakeLists.txt
+24 −0 ChangeLog.md
+7 −7 README.md
+19 −0 codecov.yml
+1 −1 doc/Doxyfile
+1 −1 doc/Makefile
+12 −0 scenarios/7_drydep/1_run_modal.sh
+10 −0 scenarios/7_drydep/2_process_modal.sh
+6 −0 scenarios/7_drydep/aero_back.dat
+1 −0 scenarios/7_drydep/aero_back_dist.dat
+2 −0 scenarios/7_drydep/aero_data.dat
+6 −0 scenarios/7_drydep/aero_emit.dat
+1 −0 scenarios/7_drydep/aero_emit_dist.dat
+2 −0 scenarios/7_drydep/aero_init_comp.dat
+7 −0 scenarios/7_drydep/aero_init_dist.dat
+43 −0 scenarios/7_drydep/drydep_modal.spec
+110 −0 scenarios/7_drydep/drydep_modal_process.F90
+12 −0 scenarios/7_drydep/drydep_params.dat
+79 −0 scenarios/7_drydep/gas_back.dat
+78 −0 scenarios/7_drydep/gas_data.dat
+26 −0 scenarios/7_drydep/gas_emit.dat
+5 −0 scenarios/7_drydep/height.dat
+4 −0 scenarios/7_drydep/pres.dat
+4 −0 scenarios/7_drydep/temp.dat
+81 −0 src/aero_dist.F90
+1 −1 src/aero_weight.F90
+5 −5 src/aero_weight_array.F90
+1 −0 src/condense_solver.c
+1 −1 src/extract_aero_particles.F90
+1 −1 src/extract_aero_size.F90
+1 −1 src/extract_aero_time.F90
+1 −1 src/extract_env.F90
+1 −1 src/extract_gas.F90
+1 −1 src/extract_sectional_aero_size.F90
+1 −1 src/extract_sectional_aero_time.F90
+143 −0 src/output.F90
+138 −3 src/partmc.F90
+293 −0 src/run_modal.F90
+628 −33 src/scenario.F90
+19 −0 src/spec_file.F90
+32 −0 src/util.F90
+3 −0 test/loss/loss_modal_drydep_aero_time_ref.txt
+3 −0 test/loss/loss_modal_drydep_quadpack_aero_time_ref.txt
+42 −0 test/loss/run_modal_drydep.spec
+18 −0 test/loss/test_loss_13.sh
+18 −0 test/loss/test_loss_14.sh
+14 −0 test/loss/test_loss_15.sh
2 changes: 1 addition & 1 deletion src/pypartmc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -646,7 +646,7 @@ NB_MODULE(_PyPartMC, m) {
);

m.def(
"loss_rate_dry_dep", &loss_rate_dry_dep, nb::rv_policy::copy,
"loss_rate_drydep", &loss_rate_drydep, nb::rv_policy::copy,
"Compute and return the dry deposition rate for a given particle."
);

Expand Down
12 changes: 8 additions & 4 deletions src/scenario.F90
Original file line number Diff line number Diff line change
Expand Up @@ -67,28 +67,32 @@ subroutine f_scenario_loss_rate( &

end subroutine

subroutine f_scenario_loss_rate_dry_dep( &
subroutine f_scenario_loss_rate_drydep( &
scenario_ptr_c, &
vol, &
density, &
aero_data_ptr_c, &
env_state_ptr_c, &
rate &
) bind(C)

type(scenario_t), pointer :: scenario_ptr_f => null()
type(aero_data_t), pointer :: aero_data_ptr_f => null()
type(env_state_t), pointer :: env_state_ptr_f => null()
real(c_double), intent(in) :: vol, density
type(c_ptr), intent(in) :: aero_data_ptr_c, env_state_ptr_c
type(c_ptr), intent(in) :: scenario_ptr_c, aero_data_ptr_c, env_state_ptr_c
real(c_double), intent(out) :: rate

call c_f_pointer(scenario_ptr_c, scenario_ptr_f)
call c_f_pointer(aero_data_ptr_c, aero_data_ptr_f)
call c_f_pointer(env_state_ptr_c, env_state_ptr_f)

rate = scenario_loss_rate_dry_dep( &
rate = scenario_loss_rate_drydep( &
vol, &
density, &
aero_data_ptr_f, &
env_state_ptr_f &
env_state_ptr_f, &
scenario_ptr_f &
)

end subroutine
Expand Down
6 changes: 4 additions & 2 deletions src/scenario.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,16 @@ double loss_rate(
return rate;
}

double loss_rate_dry_dep(
double loss_rate_drydep(
const Scenario &scenario,
const double vol,
const double density,
const AeroData &aero_data,
const EnvState &env_state
) {
double rate;
f_scenario_loss_rate_dry_dep(
f_scenario_loss_rate_drydep(
&scenario.ptr,
&vol,
&density,
&aero_data.ptr,
Expand Down
6 changes: 4 additions & 2 deletions src/scenario.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ extern "C" void f_scenario_loss_rate(
const void *env_state,
double *rate
) noexcept;
extern "C" void f_scenario_loss_rate_dry_dep(
extern "C" void f_scenario_loss_rate_drydep(
const void *scenario,
const double *vol,
const double *density,
const void *aero_data,
Expand Down Expand Up @@ -212,7 +213,8 @@ double loss_rate(
const EnvState &env_state
);

double loss_rate_dry_dep(
double loss_rate_drydep(
const Scenario &scenario,
const double vol,
const double density,
const AeroData &aero_data,
Expand Down
2 changes: 1 addition & 1 deletion tests/test_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
ppmc.input_sectional,
ppmc.input_state,
ppmc.loss_rate,
ppmc.loss_rate_dry_dep,
ppmc.loss_rate_drydep,
ppmc.output_state,
ppmc.pow2_above,
ppmc.rad2diam,
Expand Down
4 changes: 2 additions & 2 deletions tests/test_loss_rate.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ def test_loss_rate(loss_function_params: str):
assert rate is not nan

@staticmethod
def test_loss_rate_dry_dep():
def test_loss_rate_drydep():
# arrange
aero_data = ppmc.AeroData(AERO_DATA_CTOR_ARG_MINIMAL)
env_state = ppmc.EnvState(ENV_STATE_CTOR_ARG_MINIMAL)
Expand All @@ -74,7 +74,7 @@ def test_loss_rate_dry_dep():
aero_data.vol_fill_factor = 1

# act
rate = ppmc.loss_rate_dry_dep(vol, density, aero_data, env_state)
rate = ppmc.loss_rate_drydep(vol, density, aero_data, env_state)

# assert
assert rate is not nan
Loading