SCALE-RM
Functions/Subroutines
scale_ocean_phy_albedo Module Reference

module ocean / physics / surface albedo More...

Functions/Subroutines

subroutine, public ocean_phy_albedo_const_setup
 
subroutine, public ocean_phy_albedo_seaice_setup
 
subroutine, public ocean_phy_albedo_const (OIA, OIS, OIE, OJA, OJS, OJE, SFC_albedo)
 
subroutine, public ocean_phy_albedo_seaice (OIA, OIS, OIE, OJA, OJS, OJE, SFC_albedo)
 

Detailed Description

module ocean / physics / surface albedo

Description
Ocean surface albedo common module
Author
Team SCALE
NAMELIST
  • PARAM_OCEAN_PHY_ALBEDO_const
    nametypedefault valuecomment
    OCEAN_PHY_ALBEDO_IR_DIR real(RP) 0.05_RP
    OCEAN_PHY_ALBEDO_IR_DIF real(RP) 0.05_RP
    OCEAN_PHY_ALBEDO_NIR_DIR real(RP) 0.07_RP
    OCEAN_PHY_ALBEDO_NIR_DIF real(RP) 0.06_RP
    OCEAN_PHY_ALBEDO_VIS_DIR real(RP) 0.07_RP
    OCEAN_PHY_ALBEDO_VIS_DIF real(RP) 0.06_RP

  • PARAM_OCEAN_PHY_ALBEDO_seaice
    nametypedefault valuecomment
    OCEAN_PHY_ALBEDO_SEAICE_IR_DIR real(RP) 0.05_RP
    OCEAN_PHY_ALBEDO_SEAICE_IR_DIF real(RP) 0.05_RP
    OCEAN_PHY_ALBEDO_SEAICE_NIR_DIR real(RP) 0.60_RP
    OCEAN_PHY_ALBEDO_SEAICE_NIR_DIF real(RP) 0.60_RP
    OCEAN_PHY_ALBEDO_SEAICE_VIS_DIR real(RP) 0.80_RP
    OCEAN_PHY_ALBEDO_SEAICE_VIS_DIF real(RP) 0.80_RP

History Output
No history output

Function/Subroutine Documentation

◆ ocean_phy_albedo_const_setup()

subroutine, public scale_ocean_phy_albedo::ocean_phy_albedo_const_setup

Definition at line 63 of file scale_ocean_phy_albedo.F90.

63  use scale_prc, only: &
64  prc_abort
65  implicit none
66 
67  namelist / param_ocean_phy_albedo_const / &
68  ocean_phy_albedo_ir_dir, &
69  ocean_phy_albedo_ir_dif, &
70  ocean_phy_albedo_nir_dir, &
71  ocean_phy_albedo_nir_dif, &
72  ocean_phy_albedo_vis_dir, &
73  ocean_phy_albedo_vis_dif
74 
75  integer :: ierr
76  !---------------------------------------------------------------------------
77 
78  log_newline
79  log_info("OCEAN_PHY_ALBEDO_const_setup",*) 'Setup'
80 
81  !--- read namelist
82  rewind(io_fid_conf)
83  read(io_fid_conf,nml=param_ocean_phy_albedo_const,iostat=ierr)
84  if( ierr < 0 ) then !--- missing
85  log_info("OCEAN_PHY_ALBEDO_const_setup",*) 'Not found namelist. Default used.'
86  elseif( ierr > 0 ) then !--- fatal error
87  log_error("OCEAN_PHY_ALBEDO_const_setup",*) 'Not appropriate names in namelist PARAM_OCEAN_PHY_ALBEDO_const. Check!'
88  call prc_abort
89  endif
90  log_nml(param_ocean_phy_albedo_const)
91 
92  return

References scale_io::io_fid_conf, and scale_prc::prc_abort().

Referenced by mod_ocean_driver::ocean_driver_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_phy_albedo_seaice_setup()

subroutine, public scale_ocean_phy_albedo::ocean_phy_albedo_seaice_setup

Definition at line 97 of file scale_ocean_phy_albedo.F90.

97  use scale_prc, only: &
98  prc_abort
99  implicit none
100 
101  namelist / param_ocean_phy_albedo_seaice / &
102  ocean_phy_albedo_seaice_ir_dir, &
103  ocean_phy_albedo_seaice_ir_dif, &
104  ocean_phy_albedo_seaice_nir_dir, &
105  ocean_phy_albedo_seaice_nir_dif, &
106  ocean_phy_albedo_seaice_vis_dir, &
107  ocean_phy_albedo_seaice_vis_dif
108 
109  integer :: ierr
110  !---------------------------------------------------------------------------
111 
112  log_newline
113  log_info("OCEAN_PHY_ALBEDO_seaice_setup",*) 'Setup'
114 
115  !--- read namelist
116  rewind(io_fid_conf)
117  read(io_fid_conf,nml=param_ocean_phy_albedo_seaice,iostat=ierr)
118  if( ierr < 0 ) then !--- missing
119  log_info("OCEAN_PHY_ALBEDO_seaice_setup",*) 'Not found namelist. Default used.'
120  elseif( ierr > 0 ) then !--- fatal error
121  log_error("OCEAN_PHY_ALBEDO_seaice_setup",*) 'Not appropriate names in namelist PARAM_OCEAN_PHY_ALBEDO_seaice. Check!'
122  call prc_abort
123  endif
124  log_nml(param_ocean_phy_albedo_seaice)
125 
126  return

References scale_io::io_fid_conf, and scale_prc::prc_abort().

Referenced by mod_ocean_driver::ocean_driver_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_phy_albedo_const()

subroutine, public scale_ocean_phy_albedo::ocean_phy_albedo_const ( integer, intent(in)  OIA,
integer, intent(in)  OIS,
integer, intent(in)  OIE,
integer, intent(in)  OJA,
integer, intent(in)  OJS,
integer, intent(in)  OJE,
real(rp), dimension(oia,oja,n_rad_dir,n_rad_rgn), intent(out)  SFC_albedo 
)

Definition at line 134 of file scale_ocean_phy_albedo.F90.

134  implicit none
135 
136  integer, intent(in) :: OIA, OIS, OIE
137  integer, intent(in) :: OJA, OJS, OJE
138  real(RP), intent(out) :: SFC_albedo(OIA,OJA,N_RAD_DIR,N_RAD_RGN) ! surface albedo (0-1)
139 
140  integer :: i, j
141  !---------------------------------------------------------------------------
142 
143  do j = ojs, oje
144  do i = ois, oie
145  sfc_albedo(i,j,i_r_direct ,i_r_ir ) = ocean_phy_albedo_ir_dir
146  sfc_albedo(i,j,i_r_diffuse,i_r_ir ) = ocean_phy_albedo_ir_dif
147  sfc_albedo(i,j,i_r_direct ,i_r_nir) = ocean_phy_albedo_nir_dir
148  sfc_albedo(i,j,i_r_diffuse,i_r_nir) = ocean_phy_albedo_nir_dif
149  sfc_albedo(i,j,i_r_direct ,i_r_vis) = ocean_phy_albedo_vis_dir
150  sfc_albedo(i,j,i_r_diffuse,i_r_vis) = ocean_phy_albedo_vis_dif
151  enddo
152  enddo
153 
154  return

References scale_cpl_sfc_index::i_r_diffuse, scale_cpl_sfc_index::i_r_direct, scale_cpl_sfc_index::i_r_ir, scale_cpl_sfc_index::i_r_nir, and scale_cpl_sfc_index::i_r_vis.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency().

Here is the caller graph for this function:

◆ ocean_phy_albedo_seaice()

subroutine, public scale_ocean_phy_albedo::ocean_phy_albedo_seaice ( integer, intent(in)  OIA,
integer, intent(in)  OIS,
integer, intent(in)  OIE,
integer, intent(in)  OJA,
integer, intent(in)  OJS,
integer, intent(in)  OJE,
real(rp), dimension(oia,oja,n_rad_dir,n_rad_rgn), intent(out)  SFC_albedo 
)

Definition at line 162 of file scale_ocean_phy_albedo.F90.

162  implicit none
163 
164  integer, intent(in) :: OIA, OIS, OIE
165  integer, intent(in) :: OJA, OJS, OJE
166  real(RP), intent(out) :: SFC_albedo(OIA,OJA,N_RAD_DIR,N_RAD_RGN) ! surface albedo (0-1)
167 
168  integer :: i, j
169  !---------------------------------------------------------------------------
170 
171  do j = ojs, oje
172  do i = ois, oie
173  sfc_albedo(i,j,i_r_direct ,i_r_ir ) = ocean_phy_albedo_seaice_ir_dir
174  sfc_albedo(i,j,i_r_diffuse,i_r_ir ) = ocean_phy_albedo_seaice_ir_dif
175  sfc_albedo(i,j,i_r_direct ,i_r_nir) = ocean_phy_albedo_seaice_nir_dir
176  sfc_albedo(i,j,i_r_diffuse,i_r_nir) = ocean_phy_albedo_seaice_nir_dif
177  sfc_albedo(i,j,i_r_direct ,i_r_vis) = ocean_phy_albedo_seaice_vis_dir
178  sfc_albedo(i,j,i_r_diffuse,i_r_vis) = ocean_phy_albedo_seaice_vis_dif
179  enddo
180  enddo
181 
182  return

References scale_cpl_sfc_index::i_r_diffuse, scale_cpl_sfc_index::i_r_direct, scale_cpl_sfc_index::i_r_ir, scale_cpl_sfc_index::i_r_nir, and scale_cpl_sfc_index::i_r_vis.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency().

Here is the caller graph for this function:
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:342
scale_prc
module PROCESS
Definition: scale_prc.F90:11