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 : ! output from atm 21 : logical, public, protected :: active_Faxa_nhx = .false. 22 : logical, public, protected :: active_Faxa_noy = .false. 23 : 24 : public :: set_active_Sl_ram1 25 : public :: set_active_Sl_fv 26 : public :: set_active_Sl_soilw 27 : public :: set_active_Fall_flxdst1 28 : public :: set_active_Fall_flxvoc 29 : public :: set_active_Fall_flxfire 30 : public :: set_active_Fall_fco2_lnd 31 : public :: set_active_Faoo_fco2_ocn 32 : public :: set_active_Faxa_nhx 33 : public :: set_active_Faxa_noy 34 : 35 : !=============================================================================== 36 : contains 37 : !=============================================================================== 38 : 39 1536 : subroutine set_active_Sl_ram1(is_active) 40 : logical, intent(in) :: is_active 41 1536 : active_Sl_ram1 = is_active 42 1536 : end subroutine set_active_Sl_ram1 43 : 44 1536 : subroutine set_active_Sl_fv(is_active) 45 : logical, intent(in) :: is_active 46 1536 : active_Sl_fv = is_active 47 1536 : end subroutine set_active_Sl_fv 48 : 49 0 : subroutine set_active_Sl_soilw(is_active) 50 : logical, intent(in) :: is_active 51 0 : active_Sl_soilw = is_active 52 0 : end subroutine set_active_Sl_soilw 53 : 54 1536 : subroutine set_active_Fall_flxdst1(is_active) 55 : logical, intent(in) :: is_active 56 1536 : active_Fall_flxdst1 = is_active 57 1536 : end subroutine set_active_Fall_flxdst1 58 : 59 0 : subroutine set_active_Fall_flxvoc(is_active) 60 : logical, intent(in) :: is_active 61 0 : active_Fall_flxvoc = is_active 62 0 : end subroutine set_active_Fall_flxvoc 63 : 64 0 : subroutine set_active_Fall_flxfire(is_active) 65 : logical, intent(in) :: is_active 66 0 : active_Fall_flxfire = is_active 67 0 : end subroutine set_active_Fall_flxfire 68 : 69 0 : subroutine set_active_Fall_fco2_lnd(is_active) 70 : logical, intent(in) :: is_active 71 0 : active_Fall_fco2_lnd = is_active 72 0 : end subroutine set_active_Fall_fco2_lnd 73 : 74 0 : subroutine set_active_Faoo_fco2_ocn(is_active) 75 : logical, intent(in) :: is_active 76 0 : active_Faoo_fco2_ocn = is_active 77 0 : end subroutine set_active_Faoo_fco2_ocn 78 : 79 1536 : subroutine set_active_Faxa_nhx(is_active) 80 : logical, intent(in) :: is_active 81 1536 : active_Faxa_nhx = is_active 82 1536 : end subroutine set_active_Faxa_nhx 83 : 84 1536 : subroutine set_active_Faxa_noy(is_active) 85 : logical, intent(in) :: is_active 86 1536 : active_Faxa_noy = is_active 87 1536 : end subroutine set_active_Faxa_noy 88 : 89 : end module srf_field_check