Line data Source code
1 : module srf_field_check 2 : 3 : ! Utility functions called from the coupling layer to allow CAM to query 4 : ! whether specific fields are being provided by the coupler. This provides 5 : ! a coupler independent way for CAM to make these queries. 6 : 7 : implicit none 8 : private 9 : 10 : ! Input to atm 11 : logical, public, protected :: active_Sl_ram1 = .false. 12 : logical, public, protected :: active_Sl_fv = .false. 13 : logical, public, protected :: active_Sl_soilw = .false. 14 : logical, public, protected :: active_Fall_flxdst1 = .false. 15 : logical, public, protected :: active_Fall_flxvoc = .false. 16 : logical, public, protected :: active_Fall_flxfire = .false. 17 : logical, public, protected :: active_Fall_fco2_lnd = .false. 18 : logical, public, protected :: active_Faoo_fco2_ocn = .false. 19 : 20 : public :: set_active_Sl_ram1 21 : public :: set_active_Sl_fv 22 : public :: set_active_Sl_soilw 23 : public :: set_active_Fall_flxdst1 24 : public :: set_active_Fall_flxvoc 25 : public :: set_active_Fall_flxfire 26 : public :: set_active_Fall_fco2_lnd 27 : public :: set_active_Faoo_fco2_ocn 28 : 29 : !=============================================================================== 30 : contains 31 : !=============================================================================== 32 : 33 1536 : subroutine set_active_Sl_ram1(is_active) 34 : logical, intent(in) :: is_active 35 1536 : active_Sl_ram1 = is_active 36 1536 : end subroutine set_active_Sl_ram1 37 : 38 1536 : subroutine set_active_Sl_fv(is_active) 39 : logical, intent(in) :: is_active 40 1536 : active_Sl_fv = is_active 41 1536 : end subroutine set_active_Sl_fv 42 : 43 0 : subroutine set_active_Sl_soilw(is_active) 44 : logical, intent(in) :: is_active 45 0 : active_Sl_soilw = is_active 46 0 : end subroutine set_active_Sl_soilw 47 : 48 1536 : subroutine set_active_Fall_flxdst1(is_active) 49 : logical, intent(in) :: is_active 50 1536 : active_Fall_flxdst1 = is_active 51 1536 : end subroutine set_active_Fall_flxdst1 52 : 53 1536 : subroutine set_active_Fall_flxvoc(is_active) 54 : logical, intent(in) :: is_active 55 1536 : active_Fall_flxvoc = is_active 56 1536 : end subroutine set_active_Fall_flxvoc 57 : 58 0 : subroutine set_active_Fall_flxfire(is_active) 59 : logical, intent(in) :: is_active 60 0 : active_Fall_flxfire = is_active 61 0 : end subroutine set_active_Fall_flxfire 62 : 63 0 : subroutine set_active_Fall_fco2_lnd(is_active) 64 : logical, intent(in) :: is_active 65 0 : active_Fall_fco2_lnd = is_active 66 0 : end subroutine set_active_Fall_fco2_lnd 67 : 68 0 : subroutine set_active_Faoo_fco2_ocn(is_active) 69 : logical, intent(in) :: is_active 70 0 : active_Faoo_fco2_ocn = is_active 71 0 : end subroutine set_active_Faoo_fco2_ocn 72 : 73 : end module srf_field_check