Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggests path sedimentations diags #63

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
19 changes: 17 additions & 2 deletions src/aed_pathogens.F90
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,10 @@ MODULE aed_pathogens

! Diagnostic IDs for processes
INTEGER,ALLOCATABLE :: id_growth(:), id_mortality(:), id_sunlight(:), id_grazing(:), id_total(:)
INTEGER,ALLOCATABLE :: id_pth_f_sed(:), id_pth_d_sed(:)

INTEGER :: id_oxy, id_pH, id_doc, id_tss ! Dependency ID
INTEGER :: id_tem, id_sal ! Environmental IDs (3D)
INTEGER :: id_tem, id_sal, id_dz ! Environmental IDs (3D)
INTEGER :: id_par, id_nir, id_uva, id_uvb ! Environmental IDs (3D)
INTEGER :: id_I_0 ! Environmental ID (2D)
INTEGER :: resuspension
Expand Down Expand Up @@ -253,6 +254,7 @@ SUBROUTINE aed_define_pathogens(data, namlst)
data%id_uva = aed_locate_global('uva')
data%id_uvb = aed_locate_global('uvb')
data%id_I_0 = aed_locate_sheet_global('par_sf')
data%id_dz = aed_locate_global('layer_ht')
IF ( resuspension > 0 ) &
data%id_taub = aed_locate_sheet_global('taub')

Expand Down Expand Up @@ -403,6 +405,8 @@ SUBROUTINE aed_pathogens_load_params(data, dbase, count, list)
ALLOCATE(data%id_growth(count))
ALLOCATE(data%id_sunlight(count))
ALLOCATE(data%id_mortality(count))
ALLOCATE(data%id_pth_f_sed(count))
ALLOCATE(data%id_pth_d_sed(count))
ENDIF

DO i=1,count
Expand Down Expand Up @@ -456,6 +460,8 @@ SUBROUTINE aed_pathogens_load_params(data, dbase, count, list)
data%id_growth(i) = aed_define_diag_variable( TRIM(data%pathogens(i)%p_name)//'_g', 'orgs/m3/day', 'growth')
data%id_sunlight(i) = aed_define_diag_variable( TRIM(data%pathogens(i)%p_name)//'_l', 'orgs/m3/day', 'sunlight')
data%id_mortality(i) = aed_define_diag_variable( TRIM(data%pathogens(i)%p_name)//'_m', 'orgs/m3/day', 'mortality')
data%id_pth_f_sed(i) = aed_define_diag_variable( TRIM(data%pathogens(i)%p_name)//'_f_set', 'orgs/m3/d', 'alive sedimentation') !PRequest
data%id_pth_d_sed(i) = aed_define_diag_variable( TRIM(data%pathogens(i)%p_name)//'_d_set', 'orgs/m3/d', 'dead sedimentation') !PRequest
ENDIF
ENDDO
DEALLOCATE(pd)
Expand Down Expand Up @@ -526,6 +532,7 @@ SUBROUTINE aed_calculate_pathogens(data,column,layer_idx)
IF (data%pathogens(pth_i)%coef_sett_fa > zero_) THEN
pth_a = _STATE_VAR_(data%id_pa(pth_i))
END IF
pth_d = _STATE_VAR_(data%id_pd(pth_i)) ! BMT pull request

growth = zero_
predation = zero_
Expand Down Expand Up @@ -761,16 +768,24 @@ SUBROUTINE aed_mobility_pathogens(data,column,layer_idx,mobility)
AED_REAL,INTENT(inout) :: mobility(:)
!
!LOCALS
AED_REAL :: temp, vel
AED_REAL :: temp, vel, dz
INTEGER :: ss_i,pth_i
!
!-------------------------------------------------------------------------------
!BEGIN
temp = _STATE_VAR_(data%id_tem)
dz = _STATE_VAR_(data%id_dz)

_DIAG_VAR_(data%id_pth_f_sed) = zero_
_DIAG_VAR_(data%id_pth_d_sed) = zero_

! First set velocity for free pathogen groups
DO pth_i=1,data%num_pathogens
mobility(data%id_pf(pth_i)) = data%pathogens(pth_i)%coef_sett_w_path
IF ( diag_level >= 10 ) THEN
_DIAG_VAR_(data%id_pth_f_sed(pth_i)) = (mobility(data%id_pf(pth_i))/dz) * _STATE_VAR_(data%id_pf(pth_i)) * secs_per_day ! orgs/m3/d !PRequest
_DIAG_VAR_(data%id_pth_d_sed(pth_i)) = (mobility(data%id_pd(pth_i))/dz) * _STATE_VAR_(data%id_pd(pth_i)) * secs_per_day ! orgs/m3/d !PRequest
END IF
ENDDO

! Compute settling rate of particles
Expand Down