@@ -40,35 +40,27 @@ module clamp_number_concentrations
4040
4141! > \section arg_table_clamp_number_concentrations_init Argument Table
4242! ! \htmlinclude clamp_number_concentrations_init.html
43- subroutine clamp_number_concentrations_init (const_props , errmsg , errflg )
43+ subroutine clamp_number_concentrations_init (errmsg , errflg )
44+ use ccpp_scheme_utils, only: ccpp_constituent_index
4445
45- use ccpp_constituent_prop_mod, only: ccpp_constituent_prop_ptr_t
46- use ccpp_const_utils, only: ccpp_const_get_idx
47-
48- type (ccpp_constituent_prop_ptr_t), &
49- intent (in ) :: const_props(:)
50- character (len= 512 ), intent (out ) :: errmsg
51- integer , intent (out ) :: errflg
46+ character (len=* ), intent (out ) :: errmsg
47+ integer , intent (out ) :: errflg
5248
5349 ! Local variables
5450 integer :: ix_species(num_species)
5551 integer :: n
56- character (len= 512 ) :: local_errmsg
57- integer :: local_errflg
5852
5953 errmsg = ' '
6054 errflg = 0
6155
6256 ix_species(:) = - 1
6357 ! Look up constituent indices. A missing species is skipped
6458 do n = 1 , num_species
65- call ccpp_const_get_idx(const_props, trim (std_names(n)), &
66- ix_species(n), local_errmsg, local_errflg)
67- if (local_errflg /= 0 ) then
68- ! Constituent not found — mark as inactive, reset error
59+ call ccpp_constituent_index( trim (std_names(n)), ix_species(n), errmsg = errmsg, errcode = errflg)
60+ if (errflg /= 0 ) return
61+ if (ix_species(n) < 0 ) then
62+ ! Constituent not found — mark as inactive
6963 ix_species(n) = - 1
70- local_errflg = 0
71- local_errmsg = ' '
7264 end if
7365 end do
7466
@@ -83,16 +75,15 @@ end subroutine clamp_number_concentrations_init
8375! > \section arg_table_clamp_number_concentrations_run Argument Table
8476! ! \htmlinclude clamp_number_concentrations_run.html
8577 subroutine clamp_number_concentrations_run ( &
86- ncol , pver , dt , &
78+ ncol , pver , &
8779 const_q , const_tend , &
8880 errmsg , errflg )
8981
9082 integer , intent (in ) :: ncol
9183 integer , intent (in ) :: pver
92- real (kind_phys), intent (in ) :: dt ! physics timestep [s]
9384 real (kind_phys), intent (inout ) :: const_q(:, :, :) ! constituent mixing ratios
9485 real (kind_phys), intent (inout ) :: const_tend(:, :, :) ! constituent tendencies
95- character (len= 512 ), intent (out ) :: errmsg
86+ character (len=* ), intent (out ) :: errmsg
9687 integer , intent (out ) :: errflg
9788
9889 ! Local variables
0 commit comments