SCALE-RM
Functions/Subroutines | Variables
mod_cpl_vars Module Reference

module COUPLER Variables More...

Functions/Subroutines

subroutine, public cpl_vars_setup
 Setup. More...
 
subroutine, public cpl_vars_finalize
 Finalize. More...
 
subroutine, public cpl_putatm (TEMP, PRES, W, U, V, DENS, QV, PBL, SFC_DENS, SFC_PRES, SFLX_rad_dn, cosSZA, SFLX_water, SFLX_ENGI, countup)
 
subroutine, public cpl_putocn (SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_GH, SFLX_QTRC, U10, V10, T2, Q2, mask, countup)
 
subroutine, public cpl_putlnd (SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_GH, SFLX_QTRC, U10, V10, T2, Q2, mask, countup)
 
subroutine, public cpl_puturb (SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_SHEX, SFLX_LHEX, SFLX_QVEX, SFLX_GH, SFLX_QTRC, U10, V10, T2, Q2, mask, countup)
 
subroutine, public cpl_getsfc_atm (SFC_TEMP, SFC_albedo, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_SHEX, SFLX_LHEX, SFLX_QVEX, SFLX_GH, SFLX_QTRC, SFLX_ENGI, U10, V10, T2, Q2)
 
subroutine, public cpl_getatm_ocn (TEMP, PRES, W, U, V, DENS, QV, PBL, SFC_DENS, SFC_PRES, SFLX_rad_dn, cosSZA, SFLX_water, SFLX_ENGI)
 
subroutine, public cpl_getatm_lnd (TEMP, PRES, W, U, V, DENS, QV, PBL, SFC_DENS, SFC_PRES, SFLX_rad_dn, cosSZA, SFLX_water, SFLX_ENGI)
 
subroutine, public cpl_getatm_urb (TEMP, PRES, W, U, V, DENS, QV, PBL, SFC_DENS, SFC_PRES, SFLX_rad_dn, cosSZA, SFLX_water, SFLX_ENGI)
 

Variables

real(rp), dimension(:,:), allocatable, public ocn_sfc_temp
 
real(rp), dimension(:,:,:,:), allocatable, public ocn_sfc_albedo
 
real(rp), dimension(:,:), allocatable, public ocn_sfc_z0m
 
real(rp), dimension(:,:), allocatable, public ocn_sfc_z0h
 
real(rp), dimension(:,:), allocatable, public ocn_sfc_z0e
 
real(rp), dimension(:,:), allocatable, public ocn_sflx_mw
 
real(rp), dimension(:,:), allocatable, public ocn_sflx_mu
 
real(rp), dimension(:,:), allocatable, public ocn_sflx_mv
 
real(rp), dimension(:,:), allocatable, public ocn_sflx_sh
 
real(rp), dimension(:,:), allocatable, public ocn_sflx_lh
 
real(rp), dimension(:,:), allocatable, public ocn_sflx_gh
 
real(rp), dimension(:,:,:), allocatable, public ocn_sflx_qtrc
 
real(rp), dimension(:,:), allocatable, public ocn_sflx_engi
 
real(rp), dimension(:,:), allocatable, public ocn_u10
 
real(rp), dimension(:,:), allocatable, public ocn_v10
 
real(rp), dimension(:,:), allocatable, public ocn_t2
 
real(rp), dimension(:,:), allocatable, public ocn_q2
 
real(rp), dimension(:,:), allocatable, public lnd_sfc_temp
 
real(rp), dimension(:,:,:,:), allocatable, public lnd_sfc_albedo
 
real(rp), dimension(:,:), allocatable, public lnd_sfc_z0m
 
real(rp), dimension(:,:), allocatable, public lnd_sfc_z0h
 
real(rp), dimension(:,:), allocatable, public lnd_sfc_z0e
 
real(rp), dimension(:,:), allocatable, public lnd_sflx_mw
 
real(rp), dimension(:,:), allocatable, public lnd_sflx_mu
 
real(rp), dimension(:,:), allocatable, public lnd_sflx_mv
 
real(rp), dimension(:,:), allocatable, public lnd_sflx_sh
 
real(rp), dimension(:,:), allocatable, public lnd_sflx_lh
 
real(rp), dimension(:,:), allocatable, public lnd_sflx_gh
 
real(rp), dimension(:,:,:), allocatable, public lnd_sflx_qtrc
 
real(rp), dimension(:,:), allocatable, public lnd_sflx_engi
 
real(rp), dimension(:,:), allocatable, public lnd_u10
 
real(rp), dimension(:,:), allocatable, public lnd_v10
 
real(rp), dimension(:,:), allocatable, public lnd_t2
 
real(rp), dimension(:,:), allocatable, public lnd_q2
 
real(rp), dimension(:,:), allocatable, public urb_sfc_temp
 
real(rp), dimension(:,:,:,:), allocatable, public urb_sfc_albedo
 
real(rp), dimension(:,:), allocatable, public urb_sfc_z0m
 
real(rp), dimension(:,:), allocatable, public urb_sfc_z0h
 
real(rp), dimension(:,:), allocatable, public urb_sfc_z0e
 
real(rp), dimension(:,:), allocatable, public urb_sflx_mw
 
real(rp), dimension(:,:), allocatable, public urb_sflx_mu
 
real(rp), dimension(:,:), allocatable, public urb_sflx_mv
 
real(rp), dimension(:,:), allocatable, public urb_sflx_sh
 
real(rp), dimension(:,:), allocatable, public urb_sflx_lh
 
real(rp), dimension(:,:), allocatable, public urb_sflx_shex
 
real(rp), dimension(:,:), allocatable, public urb_sflx_lhex
 
real(rp), dimension(:,:), allocatable, public urb_sflx_qvex
 
real(rp), dimension(:,:), allocatable, public urb_sflx_gh
 
real(rp), dimension(:,:,:), allocatable, public urb_sflx_qtrc
 
real(rp), dimension(:,:), allocatable, public urb_sflx_engi
 
real(rp), dimension(:,:), allocatable, public urb_u10
 
real(rp), dimension(:,:), allocatable, public urb_v10
 
real(rp), dimension(:,:), allocatable, public urb_t2
 
real(rp), dimension(:,:), allocatable, public urb_q2
 
real(rp), dimension(:,:), allocatable, public ocn_atm_temp
 
real(rp), dimension(:,:), allocatable, public ocn_atm_pres
 
real(rp), dimension(:,:), allocatable, public ocn_atm_w
 
real(rp), dimension(:,:), allocatable, public ocn_atm_u
 
real(rp), dimension(:,:), allocatable, public ocn_atm_v
 
real(rp), dimension(:,:), allocatable, public ocn_atm_dens
 
real(rp), dimension(:,:), allocatable, public ocn_atm_qv
 
real(rp), dimension(:,:), allocatable, public ocn_atm_pbl
 
real(rp), dimension(:,:), allocatable, public ocn_atm_sfc_dens
 
real(rp), dimension(:,:), allocatable, public ocn_atm_sfc_pres
 
real(rp), dimension(:,:,:,:), allocatable, public ocn_atm_sflx_rad_dn
 
real(rp), dimension(:,:), allocatable, public ocn_atm_cossza
 
real(rp), dimension(:,:), allocatable, public ocn_atm_sflx_water
 
real(rp), dimension(:,:), allocatable, public ocn_atm_sflx_engi
 
real(rp), dimension(:,:), allocatable, public lnd_atm_temp
 
real(rp), dimension(:,:), allocatable, public lnd_atm_pres
 
real(rp), dimension(:,:), allocatable, public lnd_atm_w
 
real(rp), dimension(:,:), allocatable, public lnd_atm_u
 
real(rp), dimension(:,:), allocatable, public lnd_atm_v
 
real(rp), dimension(:,:), allocatable, public lnd_atm_dens
 
real(rp), dimension(:,:), allocatable, public lnd_atm_qv
 
real(rp), dimension(:,:), allocatable, public lnd_atm_pbl
 
real(rp), dimension(:,:), allocatable, public lnd_atm_sfc_dens
 
real(rp), dimension(:,:), allocatable, public lnd_atm_sfc_pres
 
real(rp), dimension(:,:,:,:), allocatable, public lnd_atm_sflx_rad_dn
 
real(rp), dimension(:,:), allocatable, public lnd_atm_cossza
 
real(rp), dimension(:,:), allocatable, public lnd_atm_sflx_water
 
real(rp), dimension(:,:), allocatable, public lnd_atm_sflx_engi
 
real(rp), dimension(:,:), allocatable, public urb_atm_temp
 
real(rp), dimension(:,:), allocatable, public urb_atm_pres
 
real(rp), dimension(:,:), allocatable, public urb_atm_w
 
real(rp), dimension(:,:), allocatable, public urb_atm_u
 
real(rp), dimension(:,:), allocatable, public urb_atm_v
 
real(rp), dimension(:,:), allocatable, public urb_atm_dens
 
real(rp), dimension(:,:), allocatable, public urb_atm_qv
 
real(rp), dimension(:,:), allocatable, public urb_atm_pbl
 
real(rp), dimension(:,:), allocatable, public urb_atm_sfc_dens
 
real(rp), dimension(:,:), allocatable, public urb_atm_sfc_pres
 
real(rp), dimension(:,:,:,:), allocatable, public urb_atm_sflx_rad_dn
 
real(rp), dimension(:,:), allocatable, public urb_atm_cossza
 
real(rp), dimension(:,:), allocatable, public urb_atm_sflx_water
 
real(rp), dimension(:,:), allocatable, public urb_atm_sflx_engi
 
real(rp), public cnt_putatm_ocn
 
real(rp), public cnt_putatm_lnd
 
real(rp), public cnt_putatm_urb
 
real(rp), public cnt_putocn
 
real(rp), public cnt_putlnd
 
real(rp), public cnt_puturb
 

Detailed Description

module COUPLER Variables

Description
Container for coupler variables
Author
Team SCALE

Function/Subroutine Documentation

◆ cpl_vars_setup()

subroutine, public mod_cpl_vars::cpl_vars_setup

Setup.

Definition at line 176 of file mod_cpl_vars.F90.

177  use scale_const, only: &
178  undef => const_undef
179  use scale_prc, only: &
180  prc_abort
181  use scale_landuse, only: &
186  use scale_atmos_hydrometeor, only: &
188  use mod_ocean_admin, only: &
189  ocean_do
190  use mod_land_admin, only: &
191  land_do
192  use mod_urban_admin, only: &
193  urban_do
194  use mod_lake_admin, only: &
195  lake_do
196  implicit none
197 
198  real(RP) :: checkfact
199  !---------------------------------------------------------------------------
200 
201  log_newline
202  log_info("CPL_vars_setup",*) 'Setup'
203  log_info("CPL_vars_setup",*) 'No namelists.'
204 
205  ! Check consistency of OCEAN_do and LANDUSE_fact_ocean
206  checkfact = maxval( landuse_fact_ocean(:,:) )
207  if ( .NOT. ocean_do .AND. checkfact > 0.0_rp ) then
208  log_error("CPL_vars_setup",*) 'Ocean fraction exists, but ocean component has not been called. Please check this inconsistency. STOP.', checkfact
209  call prc_abort
210  endif
211 
212  ! Check consistency of LAND_do and LANDUSE_fact_land
213  checkfact = maxval( landuse_fact_land(:,:) )
214  if ( .NOT. land_do .AND. checkfact > 0.0_rp ) then
215  log_error("CPL_vars_setup",*) 'Land fraction exists, but land component has not been called. Please check this inconsistency. STOP.', checkfact
216  call prc_abort
217  endif
218 
219  ! Check consistency of URBAN_do and LANDUSE_fact_urban
220  checkfact = maxval( landuse_fact_urban(:,:) )
221  if ( .NOT. urban_do .AND. checkfact > 0.0_rp ) then
222  log_error("CPL_vars_setup",*) 'Urban fraction exists, but urban component has not been called. Please check this inconsistency. STOP.', checkfact
223  call prc_abort
224  endif
225 
226  ! Check consistency of LAKE_do and LANDUSE_fact_lake
227  checkfact = maxval( landuse_fact_lake(:,:) )
228  if ( .NOT. lake_do .AND. checkfact > 0.0_rp ) then
229  log_error("CPL_vars_setup",*) 'Lake fraction exists, but lake component has not been called. Please check this inconsistency. STOP.', checkfact
230  call prc_abort
231  endif
232 
233 
234  allocate( ocn_sfc_temp(ia,ja) )
235  allocate( ocn_sfc_albedo(ia,ja,n_rad_dir,n_rad_rgn) )
236  allocate( ocn_sfc_z0m(ia,ja) )
237  allocate( ocn_sfc_z0h(ia,ja) )
238  allocate( ocn_sfc_z0e(ia,ja) )
239  allocate( ocn_sflx_mu(ia,ja) )
240  allocate( ocn_sflx_mv(ia,ja) )
241  allocate( ocn_sflx_mw(ia,ja) )
242  allocate( ocn_sflx_sh(ia,ja) )
243  allocate( ocn_sflx_lh(ia,ja) )
244  allocate( ocn_sflx_gh(ia,ja) )
245  allocate( ocn_sflx_qtrc(ia,ja,max(qa,1)) )
246  allocate( ocn_sflx_engi(ia,ja) )
247  allocate( ocn_u10(ia,ja) )
248  allocate( ocn_v10(ia,ja) )
249  allocate( ocn_t2(ia,ja) )
250  allocate( ocn_q2(ia,ja) )
251  ocn_sfc_temp(:,:) = undef
252  ocn_sfc_albedo(:,:,:,:) = undef
253  ocn_sfc_z0m(:,:) = undef
254  ocn_sfc_z0h(:,:) = undef
255  ocn_sfc_z0e(:,:) = undef
256  ocn_sflx_mu(:,:) = undef
257  ocn_sflx_mv(:,:) = undef
258  ocn_sflx_mw(:,:) = undef
259  ocn_sflx_sh(:,:) = undef
260  ocn_sflx_lh(:,:) = undef
261  ocn_sflx_gh(:,:) = undef
262  ocn_sflx_qtrc(:,:,:) = undef
263  ocn_sflx_engi(:,:) = undef
264  ocn_u10(:,:) = undef
265  ocn_v10(:,:) = undef
266  ocn_t2(:,:) = undef
267  ocn_q2(:,:) = undef
268  !$acc enter data create(OCN_SFC_TEMP,OCN_SFC_albedo,OCN_SFC_Z0M,OCN_SFC_Z0H,OCN_SFC_Z0E,OCN_SFLX_MU,OCN_SFLX_MV,OCN_SFLX_MW,OCN_SFLX_SH,OCN_SFLX_LH,OCN_SFLX_GH,OCN_SFLX_QTRC,OCN_SFLX_ENGI,OCN_U10,OCN_V10,OCN_T2,OCN_Q2)
269 
270  allocate( lnd_sfc_temp(ia,ja) )
271  allocate( lnd_sfc_albedo(ia,ja,n_rad_dir,n_rad_rgn) )
272  allocate( lnd_sfc_z0m(ia,ja) )
273  allocate( lnd_sfc_z0h(ia,ja) )
274  allocate( lnd_sfc_z0e(ia,ja) )
275  allocate( lnd_sflx_mu(ia,ja) )
276  allocate( lnd_sflx_mv(ia,ja) )
277  allocate( lnd_sflx_mw(ia,ja) )
278  allocate( lnd_sflx_sh(ia,ja) )
279  allocate( lnd_sflx_lh(ia,ja) )
280  allocate( lnd_sflx_gh(ia,ja) )
281  allocate( lnd_sflx_qtrc(ia,ja,max(qa,1)) )
282  allocate( lnd_sflx_engi(ia,ja) )
283  allocate( lnd_u10(ia,ja) )
284  allocate( lnd_v10(ia,ja) )
285  allocate( lnd_t2(ia,ja) )
286  allocate( lnd_q2(ia,ja) )
287  lnd_sfc_temp(:,:) = undef
288  lnd_sfc_albedo(:,:,:,:) = undef
289  lnd_sfc_z0m(:,:) = undef
290  lnd_sfc_z0h(:,:) = undef
291  lnd_sfc_z0e(:,:) = undef
292  lnd_sflx_mu(:,:) = undef
293  lnd_sflx_mv(:,:) = undef
294  lnd_sflx_mw(:,:) = undef
295  lnd_sflx_sh(:,:) = undef
296  lnd_sflx_lh(:,:) = undef
297  lnd_sflx_gh(:,:) = undef
298  lnd_sflx_qtrc(:,:,:) = undef
299  lnd_sflx_engi(:,:) = undef
300  lnd_u10(:,:) = undef
301  lnd_v10(:,:) = undef
302  lnd_t2(:,:) = undef
303  lnd_q2(:,:) = undef
304  !$acc enter data create(LND_SFC_TEMP,LND_SFC_albedo,LND_SFC_Z0M,LND_SFC_Z0H,LND_SFC_Z0E,LND_SFLX_MU,LND_SFLX_MV,LND_SFLX_MW,LND_SFLX_SH,LND_SFLX_LH,LND_SFLX_GH,LND_SFLX_QTRC,LND_SFLX_ENGI,LND_U10,LND_V10,LND_T2,LND_Q2)
305 
306  allocate( urb_sfc_temp(ia,ja) )
307  allocate( urb_sfc_albedo(ia,ja,n_rad_dir,n_rad_rgn) )
308  allocate( urb_sfc_z0m(ia,ja) )
309  allocate( urb_sfc_z0h(ia,ja) )
310  allocate( urb_sfc_z0e(ia,ja) )
311  allocate( urb_sflx_mu(ia,ja) )
312  allocate( urb_sflx_mv(ia,ja) )
313  allocate( urb_sflx_mw(ia,ja) )
314  allocate( urb_sflx_sh(ia,ja) )
315  allocate( urb_sflx_lh(ia,ja) )
316  allocate( urb_sflx_shex(ia,ja) )
317  allocate( urb_sflx_lhex(ia,ja) )
318  allocate( urb_sflx_qvex(ia,ja) )
319  allocate( urb_sflx_gh(ia,ja) )
320  allocate( urb_sflx_qtrc(ia,ja,max(qa,1)) )
321  allocate( urb_sflx_engi(ia,ja) )
322  allocate( urb_u10(ia,ja) )
323  allocate( urb_v10(ia,ja) )
324  allocate( urb_t2(ia,ja) )
325  allocate( urb_q2(ia,ja) )
326  urb_sfc_temp(:,:) = undef
327  urb_sfc_albedo(:,:,:,:) = undef
328  urb_sfc_z0m(:,:) = undef
329  urb_sfc_z0h(:,:) = undef
330  urb_sfc_z0e(:,:) = undef
331  urb_sflx_mu(:,:) = undef
332  urb_sflx_mv(:,:) = undef
333  urb_sflx_mw(:,:) = undef
334  urb_sflx_sh(:,:) = undef
335  urb_sflx_lh(:,:) = undef
336  urb_sflx_shex(:,:) = undef
337  urb_sflx_lhex(:,:) = undef
338  urb_sflx_qvex(:,:) = undef
339  urb_sflx_gh(:,:) = undef
340  urb_sflx_qtrc(:,:,:) = undef
341  urb_sflx_engi(:,:) = undef
342  urb_u10(:,:) = undef
343  urb_v10(:,:) = undef
344  urb_t2(:,:) = undef
345  urb_q2(:,:) = undef
346  !$acc enter data create(URB_SFC_TEMP,URB_SFC_albedo,URB_SFC_Z0M,URB_SFC_Z0H,URB_SFC_Z0E,URB_SFLX_MU,URB_SFLX_MV,URB_SFLX_MW,URB_SFLX_SH,URB_SFLX_LH,URB_SFLX_SHEX,URB_SFLX_LHEX,URB_SFLX_QVEX,URB_SFLX_GH,URB_SFLX_QTRC,URB_SFLX_ENGI,URB_U10,URB_V10,URB_T2,URB_Q2)
347 
348  allocate( ocn_atm_temp(ia,ja) )
349  allocate( ocn_atm_pres(ia,ja) )
350  allocate( ocn_atm_w(ia,ja) )
351  allocate( ocn_atm_u(ia,ja) )
352  allocate( ocn_atm_v(ia,ja) )
353  allocate( ocn_atm_dens(ia,ja) )
354  allocate( ocn_atm_qv(ia,ja) )
355  allocate( ocn_atm_pbl(ia,ja) )
356  allocate( ocn_atm_sfc_dens(ia,ja) )
357  allocate( ocn_atm_sfc_pres(ia,ja) )
358  allocate( ocn_atm_sflx_rad_dn(ia,ja,n_rad_dir,n_rad_rgn) )
359  allocate( ocn_atm_cossza(ia,ja) )
360  allocate( ocn_atm_sflx_water(ia,ja) )
361  allocate( ocn_atm_sflx_engi(ia,ja) )
362  ocn_atm_temp(:,:) = undef
363  ocn_atm_pres(:,:) = undef
364  ocn_atm_w(:,:) = undef
365  ocn_atm_u(:,:) = undef
366  ocn_atm_v(:,:) = undef
367  ocn_atm_dens(:,:) = undef
368  ocn_atm_qv(:,:) = undef
369  ocn_atm_pbl(:,:) = undef
370  ocn_atm_sfc_dens(:,:) = undef
371  ocn_atm_sfc_pres(:,:) = undef
372  ocn_atm_sflx_rad_dn(:,:,:,:) = undef
373  ocn_atm_cossza(:,:) = undef
374  ocn_atm_sflx_water(:,:) = undef
375  ocn_atm_sflx_engi(:,:) = undef
376  !$acc enter data create(OCN_ATM_TEMP,OCN_ATM_PRES,OCN_ATM_W,OCN_ATM_U,OCN_ATM_V,OCN_ATM_DENS,OCN_ATM_QV,OCN_ATM_PBL,OCN_ATM_SFC_DENS,OCN_ATM_SFC_PRES,OCN_ATM_SFLX_rad_dn,OCN_ATM_cosSZA,OCN_ATM_SFLX_water,OCN_ATM_SFLX_ENGI)
377 
378  allocate( lnd_atm_temp(ia,ja) )
379  allocate( lnd_atm_pres(ia,ja) )
380  allocate( lnd_atm_w(ia,ja) )
381  allocate( lnd_atm_u(ia,ja) )
382  allocate( lnd_atm_v(ia,ja) )
383  allocate( lnd_atm_dens(ia,ja) )
384  allocate( lnd_atm_qv(ia,ja) )
385  allocate( lnd_atm_pbl(ia,ja) )
386  allocate( lnd_atm_sfc_dens(ia,ja) )
387  allocate( lnd_atm_sfc_pres(ia,ja) )
388  allocate( lnd_atm_sflx_rad_dn(ia,ja,n_rad_dir,n_rad_rgn) )
389  allocate( lnd_atm_cossza(ia,ja) )
390  allocate( lnd_atm_sflx_water(ia,ja) )
391  allocate( lnd_atm_sflx_engi(ia,ja) )
392  lnd_atm_temp(:,:) = undef
393  lnd_atm_pres(:,:) = undef
394  lnd_atm_w(:,:) = undef
395  lnd_atm_u(:,:) = undef
396  lnd_atm_v(:,:) = undef
397  lnd_atm_dens(:,:) = undef
398  lnd_atm_qv(:,:) = undef
399  lnd_atm_pbl(:,:) = undef
400  lnd_atm_sfc_dens(:,:) = undef
401  lnd_atm_sfc_pres(:,:) = undef
402  lnd_atm_sflx_rad_dn(:,:,:,:) = undef
403  lnd_atm_cossza(:,:) = undef
404  lnd_atm_sflx_water(:,:) = undef
405  lnd_atm_sflx_engi(:,:) = undef
406  !$acc enter data create(LND_ATM_TEMP,LND_ATM_PRES,LND_ATM_W,LND_ATM_U,LND_ATM_V,LND_ATM_DENS,LND_ATM_QV,LND_ATM_PBL,LND_ATM_SFC_DENS,LND_ATM_SFC_PRES,LND_ATM_SFLX_rad_dn,LND_ATM_cosSZA,LND_ATM_SFLX_water,LND_ATM_SFLX_ENGI)
407 
408  allocate( urb_atm_temp(ia,ja) )
409  allocate( urb_atm_pres(ia,ja) )
410  allocate( urb_atm_w(ia,ja) )
411  allocate( urb_atm_u(ia,ja) )
412  allocate( urb_atm_v(ia,ja) )
413  allocate( urb_atm_dens(ia,ja) )
414  allocate( urb_atm_qv(ia,ja) )
415  allocate( urb_atm_pbl(ia,ja) )
416  allocate( urb_atm_sfc_dens(ia,ja) )
417  allocate( urb_atm_sfc_pres(ia,ja) )
418  allocate( urb_atm_sflx_rad_dn(ia,ja,n_rad_dir,n_rad_rgn) )
419  allocate( urb_atm_cossza(ia,ja) )
420  allocate( urb_atm_sflx_water(ia,ja) )
421  allocate( urb_atm_sflx_engi(ia,ja) )
422  urb_atm_temp(:,:) = undef
423  urb_atm_pres(:,:) = undef
424  urb_atm_w(:,:) = undef
425  urb_atm_u(:,:) = undef
426  urb_atm_v(:,:) = undef
427  urb_atm_dens(:,:) = undef
428  urb_atm_qv(:,:) = undef
429  urb_atm_pbl(:,:) = undef
430  urb_atm_sfc_dens(:,:) = undef
431  urb_atm_sfc_pres(:,:) = undef
432  urb_atm_sflx_rad_dn(:,:,:,:) = undef
433  urb_atm_cossza(:,:) = undef
434  urb_atm_sflx_water(:,:) = undef
435  urb_atm_sflx_engi(:,:) = undef
436  !$acc enter data create(URB_ATM_TEMP,URB_ATM_PRES,URB_ATM_W,URB_ATM_U,URB_ATM_V,URB_ATM_DENS,URB_ATM_QV,URB_ATM_PBL,URB_ATM_SFC_DENS,URB_ATM_SFC_PRES,URB_ATM_SFLX_rad_dn,URB_ATM_cosSZA,URB_ATM_SFLX_water,URB_ATM_SFLX_ENGI)
437 
438  ! counter intialize
439  cnt_putatm_ocn = 0.0_rp
440  cnt_putatm_lnd = 0.0_rp
441  cnt_putatm_urb = 0.0_rp
442  cnt_putocn = 0.0_rp
443  cnt_putlnd = 0.0_rp
444  cnt_puturb = 0.0_rp
445 
446  if ( atmos_hydrometeor_dry ) then
447  ocn_atm_qv = 0.0_rp
448  lnd_atm_qv = 0.0_rp
449  urb_atm_qv = 0.0_rp
450  endif
451 
452  return
module Lake admin
logical, public lake_do
module Land admin
logical, public land_do
module Ocean admin
logical, public ocean_do
module Urban admin
logical, public urban_do
module atmosphere / hydrometeor
module CONSTANT
Definition: scale_const.F90:11
real(rp), public const_undef
Definition: scale_const.F90:43
module LANDUSE
real(rp), dimension(:,:), allocatable, public landuse_fact_lake
lake factor
real(rp), dimension(:,:), allocatable, public landuse_fact_urban
urban factor
real(rp), dimension(:,:), allocatable, public landuse_fact_ocean
ocean factor
real(rp), dimension(:,:), allocatable, public landuse_fact_land
land factor
module PROCESS
Definition: scale_prc.F90:11
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:350

References scale_atmos_hydrometeor::atmos_hydrometeor_dry, cnt_putatm_lnd, cnt_putatm_ocn, cnt_putatm_urb, cnt_putlnd, cnt_putocn, cnt_puturb, scale_const::const_undef, scale_atmos_grid_cartesc_index::ia, scale_atmos_grid_cartesc_index::ja, mod_lake_admin::lake_do, mod_land_admin::land_do, scale_landuse::landuse_fact_lake, scale_landuse::landuse_fact_land, scale_landuse::landuse_fact_ocean, scale_landuse::landuse_fact_urban, lnd_atm_cossza, lnd_atm_dens, lnd_atm_pbl, lnd_atm_pres, lnd_atm_qv, lnd_atm_sfc_dens, lnd_atm_sfc_pres, lnd_atm_sflx_engi, lnd_atm_sflx_rad_dn, lnd_atm_sflx_water, lnd_atm_temp, lnd_atm_u, lnd_atm_v, lnd_atm_w, lnd_q2, lnd_sfc_albedo, lnd_sfc_temp, lnd_sfc_z0e, lnd_sfc_z0h, lnd_sfc_z0m, lnd_sflx_engi, lnd_sflx_gh, lnd_sflx_lh, lnd_sflx_mu, lnd_sflx_mv, lnd_sflx_mw, lnd_sflx_qtrc, lnd_sflx_sh, lnd_t2, lnd_u10, lnd_v10, scale_cpl_sfc_index::n_rad_dir, scale_cpl_sfc_index::n_rad_rgn, mod_ocean_admin::ocean_do, ocn_atm_cossza, ocn_atm_dens, ocn_atm_pbl, ocn_atm_pres, ocn_atm_qv, ocn_atm_sfc_dens, ocn_atm_sfc_pres, ocn_atm_sflx_engi, ocn_atm_sflx_rad_dn, ocn_atm_sflx_water, ocn_atm_temp, ocn_atm_u, ocn_atm_v, ocn_atm_w, ocn_q2, ocn_sfc_albedo, ocn_sfc_temp, ocn_sfc_z0e, ocn_sfc_z0h, ocn_sfc_z0m, ocn_sflx_engi, ocn_sflx_gh, ocn_sflx_lh, ocn_sflx_mu, ocn_sflx_mv, ocn_sflx_mw, ocn_sflx_qtrc, ocn_sflx_sh, ocn_t2, ocn_u10, ocn_v10, scale_prc::prc_abort(), scale_tracer::qa, urb_atm_cossza, urb_atm_dens, urb_atm_pbl, urb_atm_pres, urb_atm_qv, urb_atm_sfc_dens, urb_atm_sfc_pres, urb_atm_sflx_engi, urb_atm_sflx_rad_dn, urb_atm_sflx_water, urb_atm_temp, urb_atm_u, urb_atm_v, urb_atm_w, urb_q2, urb_sfc_albedo, urb_sfc_temp, urb_sfc_z0e, urb_sfc_z0h, urb_sfc_z0m, urb_sflx_engi, urb_sflx_gh, urb_sflx_lh, urb_sflx_lhex, urb_sflx_mu, urb_sflx_mv, urb_sflx_mw, urb_sflx_qtrc, urb_sflx_qvex, urb_sflx_sh, urb_sflx_shex, urb_t2, urb_u10, urb_v10, and mod_urban_admin::urban_do.

Referenced by mod_rm_driver::rm_driver(), and mod_rm_prep::rm_prep().

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

◆ cpl_vars_finalize()

subroutine, public mod_cpl_vars::cpl_vars_finalize

Finalize.

Definition at line 457 of file mod_cpl_vars.F90.

458  implicit none
459  !---------------------------------------------------------------------------
460 
461  log_newline
462  log_info("CPL_vars_finalize",*) 'Finalize'
463 
464  !$acc exit data delete(OCN_SFC_TEMP,OCN_SFC_albedo,OCN_SFC_Z0M,OCN_SFC_Z0H,OCN_SFC_Z0E,OCN_SFLX_MU,OCN_SFLX_MV,OCN_SFLX_MW,OCN_SFLX_SH,OCN_SFLX_LH,OCN_SFLX_GH,OCN_SFLX_QTRC,OCN_SFLX_ENGI,OCN_U10,OCN_V10,OCN_T2,OCN_Q2)
465  deallocate( ocn_sfc_temp )
466  deallocate( ocn_sfc_albedo )
467  deallocate( ocn_sfc_z0m )
468  deallocate( ocn_sfc_z0h )
469  deallocate( ocn_sfc_z0e )
470  deallocate( ocn_sflx_mu )
471  deallocate( ocn_sflx_mv )
472  deallocate( ocn_sflx_mw )
473  deallocate( ocn_sflx_sh )
474  deallocate( ocn_sflx_lh )
475  deallocate( ocn_sflx_gh )
476  deallocate( ocn_sflx_qtrc )
477  deallocate( ocn_sflx_engi )
478  deallocate( ocn_u10 )
479  deallocate( ocn_v10 )
480  deallocate( ocn_t2 )
481  deallocate( ocn_q2 )
482 
483  !$acc exit data delete(LND_SFC_TEMP,LND_SFC_albedo,LND_SFC_Z0M,LND_SFC_Z0H,LND_SFC_Z0E,LND_SFLX_MU,LND_SFLX_MV,LND_SFLX_MW,LND_SFLX_SH,LND_SFLX_LH,LND_SFLX_GH,LND_SFLX_QTRC,LND_SFLX_ENGI,LND_U10,LND_V10,LND_T2,LND_Q2)
484  deallocate( lnd_sfc_temp )
485  deallocate( lnd_sfc_albedo )
486  deallocate( lnd_sfc_z0m )
487  deallocate( lnd_sfc_z0h )
488  deallocate( lnd_sfc_z0e )
489  deallocate( lnd_sflx_mu )
490  deallocate( lnd_sflx_mv )
491  deallocate( lnd_sflx_mw )
492  deallocate( lnd_sflx_sh )
493  deallocate( lnd_sflx_lh )
494  deallocate( lnd_sflx_gh )
495  deallocate( lnd_sflx_qtrc )
496  deallocate( lnd_sflx_engi )
497  deallocate( lnd_u10 )
498  deallocate( lnd_v10 )
499  deallocate( lnd_t2 )
500  deallocate( lnd_q2 )
501 
502  !$acc exit data delete(URB_SFC_TEMP,URB_SFC_albedo,URB_SFC_Z0M,URB_SFC_Z0H,URB_SFC_Z0E,URB_SFLX_MU,URB_SFLX_MV,URB_SFLX_MW,URB_SFLX_SH,URB_SFLX_LH,URB_SFLX_SHEX,URB_SFLX_LHEX,URB_SFLX_QVEX,URB_SFLX_GH,URB_SFLX_QTRC,URB_SFLX_ENGI,URB_U10,URB_V10,URB_T2,URB_Q2)
503  deallocate( urb_sfc_temp )
504  deallocate( urb_sfc_albedo )
505  deallocate( urb_sfc_z0m )
506  deallocate( urb_sfc_z0h )
507  deallocate( urb_sfc_z0e )
508  deallocate( urb_sflx_mu )
509  deallocate( urb_sflx_mv )
510  deallocate( urb_sflx_mw )
511  deallocate( urb_sflx_sh )
512  deallocate( urb_sflx_lh )
513  deallocate( urb_sflx_shex )
514  deallocate( urb_sflx_lhex )
515  deallocate( urb_sflx_qvex )
516  deallocate( urb_sflx_gh )
517  deallocate( urb_sflx_qtrc )
518  deallocate( urb_sflx_engi )
519  deallocate( urb_u10 )
520  deallocate( urb_v10 )
521  deallocate( urb_t2 )
522  deallocate( urb_q2 )
523 
524  !$acc exit data delete(OCN_ATM_TEMP,OCN_ATM_PRES,OCN_ATM_W,OCN_ATM_U,OCN_ATM_V,OCN_ATM_DENS,OCN_ATM_QV,OCN_ATM_PBL,OCN_ATM_SFC_DENS,OCN_ATM_SFC_PRES,OCN_ATM_SFLX_rad_dn,OCN_ATM_cosSZA,OCN_ATM_SFLX_water,OCN_ATM_SFLX_ENGI)
525  deallocate( ocn_atm_temp )
526  deallocate( ocn_atm_pres )
527  deallocate( ocn_atm_w )
528  deallocate( ocn_atm_u )
529  deallocate( ocn_atm_v )
530  deallocate( ocn_atm_dens )
531  deallocate( ocn_atm_qv )
532  deallocate( ocn_atm_pbl )
533  deallocate( ocn_atm_sfc_dens )
534  deallocate( ocn_atm_sfc_pres )
535  deallocate( ocn_atm_sflx_rad_dn )
536  deallocate( ocn_atm_cossza )
537  deallocate( ocn_atm_sflx_water )
538  deallocate( ocn_atm_sflx_engi )
539 
540  !$acc exit data delete(LND_ATM_TEMP,LND_ATM_PRES,LND_ATM_W,LND_ATM_U,LND_ATM_V,LND_ATM_DENS,LND_ATM_QV,LND_ATM_PBL,LND_ATM_SFC_DENS,LND_ATM_SFC_PRES,LND_ATM_SFLX_rad_dn,LND_ATM_cosSZA,LND_ATM_SFLX_water,LND_ATM_SFLX_ENGI)
541  deallocate( lnd_atm_temp )
542  deallocate( lnd_atm_pres )
543  deallocate( lnd_atm_w )
544  deallocate( lnd_atm_u )
545  deallocate( lnd_atm_v )
546  deallocate( lnd_atm_dens )
547  deallocate( lnd_atm_qv )
548  deallocate( lnd_atm_pbl )
549  deallocate( lnd_atm_sfc_dens )
550  deallocate( lnd_atm_sfc_pres )
551  deallocate( lnd_atm_sflx_rad_dn )
552  deallocate( lnd_atm_cossza )
553  deallocate( lnd_atm_sflx_water )
554  deallocate( lnd_atm_sflx_engi )
555 
556  !$acc exit data delete(URB_ATM_TEMP,URB_ATM_PRES,URB_ATM_W,URB_ATM_U,URB_ATM_V,URB_ATM_DENS,URB_ATM_QV,URB_ATM_PBL,URB_ATM_SFC_DENS,URB_ATM_SFC_PRES,URB_ATM_SFLX_rad_dn,URB_ATM_cosSZA,URB_ATM_SFLX_water,URB_ATM_SFLX_ENGI)
557  deallocate( urb_atm_temp )
558  deallocate( urb_atm_pres )
559  deallocate( urb_atm_w )
560  deallocate( urb_atm_u )
561  deallocate( urb_atm_v )
562  deallocate( urb_atm_dens )
563  deallocate( urb_atm_qv )
564  deallocate( urb_atm_pbl )
565  deallocate( urb_atm_sfc_dens )
566  deallocate( urb_atm_sfc_pres )
567  deallocate( urb_atm_sflx_rad_dn )
568  deallocate( urb_atm_cossza )
569  deallocate( urb_atm_sflx_water )
570  deallocate( urb_atm_sflx_engi )
571 
572  return

References lnd_atm_cossza, lnd_atm_dens, lnd_atm_pbl, lnd_atm_pres, lnd_atm_qv, lnd_atm_sfc_dens, lnd_atm_sfc_pres, lnd_atm_sflx_engi, lnd_atm_sflx_rad_dn, lnd_atm_sflx_water, lnd_atm_temp, lnd_atm_u, lnd_atm_v, lnd_atm_w, lnd_q2, lnd_sfc_albedo, lnd_sfc_temp, lnd_sfc_z0e, lnd_sfc_z0h, lnd_sfc_z0m, lnd_sflx_engi, lnd_sflx_gh, lnd_sflx_lh, lnd_sflx_mu, lnd_sflx_mv, lnd_sflx_mw, lnd_sflx_qtrc, lnd_sflx_sh, lnd_t2, lnd_u10, lnd_v10, ocn_atm_cossza, ocn_atm_dens, ocn_atm_pbl, ocn_atm_pres, ocn_atm_qv, ocn_atm_sfc_dens, ocn_atm_sfc_pres, ocn_atm_sflx_engi, ocn_atm_sflx_rad_dn, ocn_atm_sflx_water, ocn_atm_temp, ocn_atm_u, ocn_atm_v, ocn_atm_w, ocn_q2, ocn_sfc_albedo, ocn_sfc_temp, ocn_sfc_z0e, ocn_sfc_z0h, ocn_sfc_z0m, ocn_sflx_engi, ocn_sflx_gh, ocn_sflx_lh, ocn_sflx_mu, ocn_sflx_mv, ocn_sflx_mw, ocn_sflx_qtrc, ocn_sflx_sh, ocn_t2, ocn_u10, ocn_v10, urb_atm_cossza, urb_atm_dens, urb_atm_pbl, urb_atm_pres, urb_atm_qv, urb_atm_sfc_dens, urb_atm_sfc_pres, urb_atm_sflx_engi, urb_atm_sflx_rad_dn, urb_atm_sflx_water, urb_atm_temp, urb_atm_u, urb_atm_v, urb_atm_w, urb_q2, urb_sfc_albedo, urb_sfc_temp, urb_sfc_z0e, urb_sfc_z0h, urb_sfc_z0m, urb_sflx_engi, urb_sflx_gh, urb_sflx_lh, urb_sflx_lhex, urb_sflx_mu, urb_sflx_mv, urb_sflx_mw, urb_sflx_qtrc, urb_sflx_qvex, urb_sflx_sh, urb_sflx_shex, urb_t2, urb_u10, and urb_v10.

Referenced by mod_rm_driver::rm_driver(), and mod_rm_prep::rm_prep().

Here is the caller graph for this function:

◆ cpl_putatm()

subroutine, public mod_cpl_vars::cpl_putatm ( real(rp), dimension (ia,ja), intent(in)  TEMP,
real(rp), dimension (ia,ja), intent(in)  PRES,
real(rp), dimension (ia,ja), intent(in)  W,
real(rp), dimension (ia,ja), intent(in)  U,
real(rp), dimension (ia,ja), intent(in)  V,
real(rp), dimension (ia,ja), intent(in)  DENS,
real(rp), dimension (ia,ja), intent(in)  QV,
real(rp), dimension (ia,ja), intent(in)  PBL,
real(rp), dimension (ia,ja), intent(in)  SFC_DENS,
real(rp), dimension (ia,ja), intent(in)  SFC_PRES,
real(rp), dimension(ia,ja,n_rad_dir,n_rad_rgn), intent(in)  SFLX_rad_dn,
real(rp), dimension (ia,ja), intent(in)  cosSZA,
real(rp), dimension (ia,ja), intent(in)  SFLX_water,
real(rp), dimension (ia,ja), intent(in)  SFLX_ENGI,
logical, intent(in)  countup 
)

Definition at line 576 of file mod_cpl_vars.F90.

592  use scale_atmos_hydrometeor, only: &
594  cv_water, &
595  cv_ice, &
596  lhf
597  implicit none
598 
599  real(RP), intent(in) :: TEMP (IA,JA)
600  real(RP), intent(in) :: PRES (IA,JA)
601  real(RP), intent(in) :: W (IA,JA)
602  real(RP), intent(in) :: U (IA,JA)
603  real(RP), intent(in) :: V (IA,JA)
604  real(RP), intent(in) :: DENS (IA,JA)
605  real(RP), intent(in) :: QV (IA,JA)
606  real(RP), intent(in) :: PBL (IA,JA)
607  real(RP), intent(in) :: SFC_DENS (IA,JA)
608  real(RP), intent(in) :: SFC_PRES (IA,JA)
609  real(RP), intent(in) :: SFLX_rad_dn(IA,JA,N_RAD_DIR,N_RAD_RGN)
610  real(RP), intent(in) :: cosSZA (IA,JA)
611  real(RP), intent(in) :: SFLX_water (IA,JA)
612  real(RP), intent(in) :: SFLX_ENGI (IA,JA)
613  logical, intent(in) :: countup
614 
615  integer :: i, j, idir, irgn
616  !---------------------------------------------------------------------------
617 
618  !$omp parallel do default(none) private(i,j,idir,irgn) OMP_SCHEDULE_ &
619  !$omp shared(JS,JE,IS,IE,OCN_ATM_TEMP,OCN_ATM_PRES,OCN_ATM_W,OCN_ATM_U) &
620  !$omp shared(OCN_ATM_V,OCN_ATM_DENS,CNT_putATM_OCN,TEMP,PRES,W,U,V,DENS) &
621  !$omp shared(ATMOS_HYDROMETEOR_dry,OCN_ATM_QV,OCN_ATM_PBL,OCN_ATM_SFC_DENS,OCN_ATM_SFC_PRES,OCN_ATM_SFLX_rad_dn) &
622  !$omp shared(OCN_ATM_cosSZA,OCN_ATM_SFLX_water,OCN_ATM_SFLX_ENGI,QV,PBL,SFC_DENS,SFC_PRES) &
623  !$omp shared(SFLX_rad_dn,cosSZA,SFLX_water,SFLX_ENGI) &
624  !$omp shared(LND_ATM_TEMP,LND_ATM_PRES,LND_ATM_W,LND_ATM_U,LND_ATM_V,LND_ATM_DENS) &
625  !$omp shared(LND_ATM_QV,LND_ATM_PBL,LND_ATM_SFC_DENS,LND_ATM_SFC_PRES,LND_ATM_SFLX_rad_dn,LND_ATM_cosSZA) &
626  !$omp shared(LND_ATM_SFLX_water,LND_ATM_SFLX_ENGI) &
627  !$omp shared(URB_ATM_TEMP,URB_ATM_PRES,URB_ATM_W,URB_ATM_U,URB_ATM_V,URB_ATM_DENS) &
628  !$omp shared(URB_ATM_QV,URB_ATM_PBL,URB_ATM_SFC_DENS,URB_ATM_SFC_PRES,URB_ATM_SFLX_rad_dn,URB_ATM_cosSZA) &
629  !$omp shared(URB_ATM_SFLX_water,URB_ATM_SFLX_ENGI,CNT_putATM_URB,CNT_putATM_LND)
630  !$acc kernels
631  do j = js, je
632  do i = is, ie
633  ! for ocean
634  ocn_atm_temp(i,j) = ocn_atm_temp(i,j) * cnt_putatm_ocn + temp(i,j)
635  ocn_atm_pres(i,j) = ocn_atm_pres(i,j) * cnt_putatm_ocn + pres(i,j)
636  ocn_atm_w(i,j) = ocn_atm_w(i,j) * cnt_putatm_ocn + w(i,j)
637  ocn_atm_u(i,j) = ocn_atm_u(i,j) * cnt_putatm_ocn + u(i,j)
638  ocn_atm_v(i,j) = ocn_atm_v(i,j) * cnt_putatm_ocn + v(i,j)
639  ocn_atm_dens(i,j) = ocn_atm_dens(i,j) * cnt_putatm_ocn + dens(i,j)
640  if ( .NOT. atmos_hydrometeor_dry ) &
641  ocn_atm_qv(i,j) = ocn_atm_qv(i,j) * cnt_putatm_ocn + qv(i,j)
642  ocn_atm_pbl(i,j) = ocn_atm_pbl(i,j) * cnt_putatm_ocn + pbl(i,j)
643  ocn_atm_sfc_dens(i,j) = ocn_atm_sfc_dens(i,j) * cnt_putatm_ocn + sfc_dens(i,j)
644  ocn_atm_sfc_pres(i,j) = ocn_atm_sfc_pres(i,j) * cnt_putatm_ocn + sfc_pres(i,j)
645  ocn_atm_cossza(i,j) = ocn_atm_cossza(i,j) * cnt_putatm_ocn + cossza(i,j)
646  ocn_atm_sflx_water(i,j) = ocn_atm_sflx_water(i,j) * cnt_putatm_ocn + sflx_water(i,j)
647  ocn_atm_sflx_engi(i,j) = ocn_atm_sflx_engi(i,j) * cnt_putatm_ocn + sflx_engi(i,j)
648  do irgn = i_r_ir, i_r_vis
649  do idir = i_r_direct, i_r_diffuse
650  ocn_atm_sflx_rad_dn(i,j,idir,irgn) = ocn_atm_sflx_rad_dn(i,j,idir,irgn) * cnt_putatm_ocn + sflx_rad_dn(i,j,idir,irgn)
651  enddo
652  enddo
653 
654  ! for land
655  lnd_atm_temp(i,j) = lnd_atm_temp(i,j) * cnt_putatm_lnd + temp(i,j)
656  lnd_atm_pres(i,j) = lnd_atm_pres(i,j) * cnt_putatm_lnd + pres(i,j)
657  lnd_atm_w(i,j) = lnd_atm_w(i,j) * cnt_putatm_lnd + w(i,j)
658  lnd_atm_u(i,j) = lnd_atm_u(i,j) * cnt_putatm_lnd + u(i,j)
659  lnd_atm_v(i,j) = lnd_atm_v(i,j) * cnt_putatm_lnd + v(i,j)
660  lnd_atm_dens(i,j) = lnd_atm_dens(i,j) * cnt_putatm_lnd + dens(i,j)
661  if ( .NOT. atmos_hydrometeor_dry ) &
662  lnd_atm_qv(i,j) = lnd_atm_qv(i,j) * cnt_putatm_lnd + qv(i,j)
663  lnd_atm_pbl(i,j) = lnd_atm_pbl(i,j) * cnt_putatm_lnd + pbl(i,j)
664  lnd_atm_sfc_dens(i,j) = lnd_atm_sfc_dens(i,j) * cnt_putatm_lnd + sfc_dens(i,j)
665  lnd_atm_sfc_pres(i,j) = lnd_atm_sfc_pres(i,j) * cnt_putatm_lnd + sfc_pres(i,j)
666  lnd_atm_cossza(i,j) = lnd_atm_cossza(i,j) * cnt_putatm_lnd + cossza(i,j)
667  lnd_atm_sflx_water(i,j) = lnd_atm_sflx_water(i,j) * cnt_putatm_lnd + sflx_water(i,j)
668  lnd_atm_sflx_engi(i,j) = lnd_atm_sflx_engi(i,j) * cnt_putatm_lnd + sflx_engi(i,j)
669  do irgn = i_r_ir, i_r_vis
670  do idir = i_r_direct, i_r_diffuse
671  lnd_atm_sflx_rad_dn(i,j,idir,irgn) = lnd_atm_sflx_rad_dn(i,j,idir,irgn) * cnt_putatm_lnd + sflx_rad_dn(i,j,idir,irgn)
672  enddo
673  enddo
674 
675  ! for urban
676  urb_atm_temp(i,j) = urb_atm_temp(i,j) * cnt_putatm_urb + temp(i,j)
677  urb_atm_pres(i,j) = urb_atm_pres(i,j) * cnt_putatm_urb + pres(i,j)
678  urb_atm_w(i,j) = urb_atm_w(i,j) * cnt_putatm_urb + w(i,j)
679  urb_atm_u(i,j) = urb_atm_u(i,j) * cnt_putatm_urb + u(i,j)
680  urb_atm_v(i,j) = urb_atm_v(i,j) * cnt_putatm_urb + v(i,j)
681  urb_atm_dens(i,j) = urb_atm_dens(i,j) * cnt_putatm_urb + dens(i,j)
682  if ( .NOT. atmos_hydrometeor_dry ) &
683  urb_atm_qv(i,j) = urb_atm_qv(i,j) * cnt_putatm_urb + qv(i,j)
684  urb_atm_pbl(i,j) = urb_atm_pbl(i,j) * cnt_putatm_urb + pbl(i,j)
685  urb_atm_sfc_dens(i,j) = urb_atm_sfc_dens(i,j) * cnt_putatm_urb + sfc_dens(i,j)
686  urb_atm_sfc_pres(i,j) = urb_atm_sfc_pres(i,j) * cnt_putatm_urb + sfc_pres(i,j)
687  urb_atm_cossza(i,j) = urb_atm_cossza(i,j) * cnt_putatm_urb + cossza(i,j)
688  urb_atm_sflx_water(i,j) = urb_atm_sflx_water(i,j) * cnt_putatm_urb + sflx_water(i,j)
689  urb_atm_sflx_engi(i,j) = urb_atm_sflx_engi(i,j) * cnt_putatm_urb + sflx_engi(i,j)
690  do irgn = i_r_ir, i_r_vis
691  do idir = i_r_direct, i_r_diffuse
692  urb_atm_sflx_rad_dn(i,j,idir,irgn) = urb_atm_sflx_rad_dn(i,j,idir,irgn) * cnt_putatm_urb + sflx_rad_dn(i,j,idir,irgn)
693  enddo
694  enddo
695 
696 
697  ! for ocean
698  ocn_atm_temp(i,j) = ocn_atm_temp(i,j) / ( cnt_putatm_ocn + 1.0_rp )
699  ocn_atm_pres(i,j) = ocn_atm_pres(i,j) / ( cnt_putatm_ocn + 1.0_rp )
700  ocn_atm_w(i,j) = ocn_atm_w(i,j) / ( cnt_putatm_ocn + 1.0_rp )
701  ocn_atm_u(i,j) = ocn_atm_u(i,j) / ( cnt_putatm_ocn + 1.0_rp )
702  ocn_atm_v(i,j) = ocn_atm_v(i,j) / ( cnt_putatm_ocn + 1.0_rp )
703  ocn_atm_dens(i,j) = ocn_atm_dens(i,j) / ( cnt_putatm_ocn + 1.0_rp )
704  ocn_atm_qv(i,j) = ocn_atm_qv(i,j) / ( cnt_putatm_ocn + 1.0_rp )
705  ocn_atm_pbl(i,j) = ocn_atm_pbl(i,j) / ( cnt_putatm_ocn + 1.0_rp )
706  ocn_atm_sfc_dens(i,j) = ocn_atm_sfc_dens(i,j) / ( cnt_putatm_ocn + 1.0_rp )
707  ocn_atm_sfc_pres(i,j) = ocn_atm_sfc_pres(i,j) / ( cnt_putatm_ocn + 1.0_rp )
708  ocn_atm_cossza(i,j) = ocn_atm_cossza(i,j) / ( cnt_putatm_ocn + 1.0_rp )
709  ocn_atm_sflx_water(i,j) = ocn_atm_sflx_water(i,j) / ( cnt_putatm_ocn + 1.0_rp )
710  ocn_atm_sflx_engi(i,j) = ocn_atm_sflx_engi(i,j) / ( cnt_putatm_ocn + 1.0_rp )
711  do irgn = i_r_ir, i_r_vis
712  do idir = i_r_direct, i_r_diffuse
713  ocn_atm_sflx_rad_dn(i,j,idir,irgn) = ocn_atm_sflx_rad_dn(i,j,idir,irgn) / ( cnt_putatm_ocn + 1.0_rp )
714  enddo
715  enddo
716 
717  ! for land
718  lnd_atm_temp(i,j) = lnd_atm_temp(i,j) / ( cnt_putatm_lnd + 1.0_rp )
719  lnd_atm_pres(i,j) = lnd_atm_pres(i,j) / ( cnt_putatm_lnd + 1.0_rp )
720  lnd_atm_w(i,j) = lnd_atm_w(i,j) / ( cnt_putatm_lnd + 1.0_rp )
721  lnd_atm_u(i,j) = lnd_atm_u(i,j) / ( cnt_putatm_lnd + 1.0_rp )
722  lnd_atm_v(i,j) = lnd_atm_v(i,j) / ( cnt_putatm_lnd + 1.0_rp )
723  lnd_atm_dens(i,j) = lnd_atm_dens(i,j) / ( cnt_putatm_lnd + 1.0_rp )
724  lnd_atm_qv(i,j) = lnd_atm_qv(i,j) / ( cnt_putatm_lnd + 1.0_rp )
725  lnd_atm_pbl(i,j) = lnd_atm_pbl(i,j) / ( cnt_putatm_lnd + 1.0_rp )
726  lnd_atm_sfc_dens(i,j) = lnd_atm_sfc_dens(i,j) / ( cnt_putatm_lnd + 1.0_rp )
727  lnd_atm_sfc_pres(i,j) = lnd_atm_sfc_pres(i,j) / ( cnt_putatm_lnd + 1.0_rp )
728  lnd_atm_cossza(i,j) = lnd_atm_cossza(i,j) / ( cnt_putatm_lnd + 1.0_rp )
729  lnd_atm_sflx_water(i,j) = lnd_atm_sflx_water(i,j) / ( cnt_putatm_lnd + 1.0_rp )
730  lnd_atm_sflx_engi(i,j) = lnd_atm_sflx_engi(i,j) / ( cnt_putatm_lnd + 1.0_rp )
731  do irgn = i_r_ir, i_r_vis
732  do idir = i_r_direct, i_r_diffuse
733  lnd_atm_sflx_rad_dn(i,j,idir,irgn) = lnd_atm_sflx_rad_dn(i,j,idir,irgn) / ( cnt_putatm_lnd + 1.0_rp )
734  enddo
735  enddo
736 
737  ! for urban
738  urb_atm_temp(i,j) = urb_atm_temp(i,j) / ( cnt_putatm_urb + 1.0_rp )
739  urb_atm_pres(i,j) = urb_atm_pres(i,j) / ( cnt_putatm_urb + 1.0_rp )
740  urb_atm_w(i,j) = urb_atm_w(i,j) / ( cnt_putatm_urb + 1.0_rp )
741  urb_atm_u(i,j) = urb_atm_u(i,j) / ( cnt_putatm_urb + 1.0_rp )
742  urb_atm_v(i,j) = urb_atm_v(i,j) / ( cnt_putatm_urb + 1.0_rp )
743  urb_atm_dens(i,j) = urb_atm_dens(i,j) / ( cnt_putatm_urb + 1.0_rp )
744  urb_atm_qv(i,j) = urb_atm_qv(i,j) / ( cnt_putatm_urb + 1.0_rp )
745  urb_atm_pbl(i,j) = urb_atm_pbl(i,j) / ( cnt_putatm_urb + 1.0_rp )
746  urb_atm_sfc_dens(i,j) = urb_atm_sfc_dens(i,j) / ( cnt_putatm_urb + 1.0_rp )
747  urb_atm_sfc_pres(i,j) = urb_atm_sfc_pres(i,j) / ( cnt_putatm_urb + 1.0_rp )
748  urb_atm_cossza(i,j) = urb_atm_cossza(i,j) / ( cnt_putatm_urb + 1.0_rp )
749  urb_atm_sflx_water(i,j) = urb_atm_sflx_water(i,j) / ( cnt_putatm_urb + 1.0_rp )
750  urb_atm_sflx_engi(i,j) = urb_atm_sflx_engi(i,j) / ( cnt_putatm_urb + 1.0_rp )
751  do irgn = i_r_ir, i_r_vis
752  do idir = i_r_direct, i_r_diffuse
753  urb_atm_sflx_rad_dn(i,j,idir,irgn) = urb_atm_sflx_rad_dn(i,j,idir,irgn) / ( cnt_putatm_urb + 1.0_rp )
754  enddo
755  enddo
756  enddo
757  enddo
758  !$acc end kernels
759 
760  if( countup ) then
761  cnt_putatm_ocn = cnt_putatm_ocn + 1.0_rp
762  cnt_putatm_lnd = cnt_putatm_lnd + 1.0_rp
763  cnt_putatm_urb = cnt_putatm_urb + 1.0_rp
764  endif
765 
766  return
real(rp), public lhf
latent heat of fusion for use [J/kg]
real(rp), public cv_ice
CV for ice [J/kg/K].
real(rp), public cv_water
CV for water [J/kg/K].

References scale_atmos_hydrometeor::atmos_hydrometeor_dry, cnt_putatm_lnd, cnt_putatm_ocn, cnt_putatm_urb, scale_atmos_hydrometeor::cv_ice, scale_atmos_hydrometeor::cv_water, 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_vis, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_atmos_hydrometeor::lhf, lnd_atm_cossza, lnd_atm_dens, lnd_atm_pbl, lnd_atm_pres, lnd_atm_qv, lnd_atm_sfc_dens, lnd_atm_sfc_pres, lnd_atm_sflx_engi, lnd_atm_sflx_rad_dn, lnd_atm_sflx_water, lnd_atm_temp, lnd_atm_u, lnd_atm_v, lnd_atm_w, ocn_atm_cossza, ocn_atm_dens, ocn_atm_pbl, ocn_atm_pres, ocn_atm_qv, ocn_atm_sfc_dens, ocn_atm_sfc_pres, ocn_atm_sflx_engi, ocn_atm_sflx_rad_dn, ocn_atm_sflx_water, ocn_atm_temp, ocn_atm_u, ocn_atm_v, ocn_atm_w, urb_atm_cossza, urb_atm_dens, urb_atm_pbl, urb_atm_pres, urb_atm_qv, urb_atm_sfc_dens, urb_atm_sfc_pres, urb_atm_sflx_engi, urb_atm_sflx_rad_dn, urb_atm_sflx_water, urb_atm_temp, urb_atm_u, urb_atm_v, and urb_atm_w.

Referenced by mod_atmos_driver::atmos_surface_set().

Here is the caller graph for this function:

◆ cpl_putocn()

subroutine, public mod_cpl_vars::cpl_putocn ( real(rp), dimension (ia,ja), intent(in)  SFC_TEMP,
real(rp), dimension(ia,ja,n_rad_dir,n_rad_rgn), intent(in)  SFC_albedo,
real(rp), dimension (ia,ja), intent(in)  SFC_Z0M,
real(rp), dimension (ia,ja), intent(in)  SFC_Z0H,
real(rp), dimension (ia,ja), intent(in)  SFC_Z0E,
real(rp), dimension (ia,ja), intent(in)  SFLX_MW,
real(rp), dimension (ia,ja), intent(in)  SFLX_MU,
real(rp), dimension (ia,ja), intent(in)  SFLX_MV,
real(rp), dimension (ia,ja), intent(in)  SFLX_SH,
real(rp), dimension (ia,ja), intent(in)  SFLX_LH,
real(rp), dimension (ia,ja), intent(in)  SFLX_GH,
real(rp), dimension (ia,ja,qa), intent(in)  SFLX_QTRC,
real(rp), dimension (ia,ja), intent(in)  U10,
real(rp), dimension (ia,ja), intent(in)  V10,
real(rp), dimension (ia,ja), intent(in)  T2,
real(rp), dimension (ia,ja), intent(in)  Q2,
logical, dimension (ia,ja), intent(in)  mask,
logical, intent(in)  countup 
)

Definition at line 770 of file mod_cpl_vars.F90.

789  implicit none
790 
791  real(RP), intent(in) :: SFC_TEMP (IA,JA)
792  real(RP), intent(in) :: SFC_albedo(IA,JA,N_RAD_DIR,N_RAD_RGN)
793  real(RP), intent(in) :: SFC_Z0M (IA,JA)
794  real(RP), intent(in) :: SFC_Z0H (IA,JA)
795  real(RP), intent(in) :: SFC_Z0E (IA,JA)
796  real(RP), intent(in) :: SFLX_MW (IA,JA)
797  real(RP), intent(in) :: SFLX_MU (IA,JA)
798  real(RP), intent(in) :: SFLX_MV (IA,JA)
799  real(RP), intent(in) :: SFLX_SH (IA,JA)
800  real(RP), intent(in) :: SFLX_LH (IA,JA)
801  real(RP), intent(in) :: SFLX_GH (IA,JA)
802  real(RP), intent(in) :: SFLX_QTRC (IA,JA,QA)
803  real(RP), intent(in) :: U10 (IA,JA)
804  real(RP), intent(in) :: V10 (IA,JA)
805  real(RP), intent(in) :: T2 (IA,JA)
806  real(RP), intent(in) :: Q2 (IA,JA)
807  logical, intent(in) :: mask (IA,JA)
808  logical, intent(in) :: countup
809 
810  integer :: i, j, iq, idir, irgn
811  !---------------------------------------------------------------------------
812 
813  !$omp parallel do default(none) private(i,j,idir,irgn) OMP_SCHEDULE_ &
814  !$omp shared(JS,JE,IS,IE,QA) &
815  !$omp shared(OCN_SFC_TEMP,OCN_SFC_albedo,OCN_SFC_Z0M,OCN_SFC_Z0H,OCN_SFC_Z0E) &
816  !$omp shared(OCN_SFLX_MW,OCN_SFLX_MU,OCN_SFLX_MV,OCN_SFLX_SH,OCN_SFLX_LH,OCN_SFLX_GH,OCN_SFLX_QTRC,OCN_SFLX_ENGI,OCN_U10,OCN_V10,OCN_T2,OCN_Q2) &
817  !$omp shared(SFC_TEMP,SFC_albedo,SFC_Z0M,SFC_Z0H,SFC_Z0E,SFLX_MW,SFLX_MU,SFLX_MV,SFLX_SH,SFLX_LH,SFLX_GH,SFLX_QTRC,U10,V10,T2,Q2) &
818  !$omp shared(mask) &
819  !$omp shared(CNT_putOCN) &
820  !$omp shared(TRACER_CV,TRACER_ENGI0)
821  !$acc kernels
822  do j = js, je
823  do i = is, ie
824  if ( mask(i,j) ) then
825  ocn_sfc_temp(i,j) = ocn_sfc_temp(i,j) * cnt_putocn + sfc_temp(i,j)
826  ocn_sfc_z0m(i,j) = ocn_sfc_z0m(i,j) * cnt_putocn + sfc_z0m(i,j)
827  ocn_sfc_z0h(i,j) = ocn_sfc_z0h(i,j) * cnt_putocn + sfc_z0h(i,j)
828  ocn_sfc_z0e(i,j) = ocn_sfc_z0e(i,j) * cnt_putocn + sfc_z0e(i,j)
829  ocn_sflx_mw(i,j) = ocn_sflx_mw(i,j) * cnt_putocn + sflx_mw(i,j)
830  ocn_sflx_mu(i,j) = ocn_sflx_mu(i,j) * cnt_putocn + sflx_mu(i,j)
831  ocn_sflx_mv(i,j) = ocn_sflx_mv(i,j) * cnt_putocn + sflx_mv(i,j)
832  ocn_sflx_sh(i,j) = ocn_sflx_sh(i,j) * cnt_putocn + sflx_sh(i,j)
833  ocn_sflx_lh(i,j) = ocn_sflx_lh(i,j) * cnt_putocn + sflx_lh(i,j)
834  ocn_sflx_gh(i,j) = ocn_sflx_gh(i,j) * cnt_putocn + sflx_gh(i,j)
835  ocn_sflx_engi(i,j) = ocn_sflx_engi(i,j) * cnt_putocn
836  do iq = 1, qa
837  ocn_sflx_qtrc(i,j,iq) = ocn_sflx_qtrc(i,j,iq) * cnt_putocn + sflx_qtrc(i,j,iq)
838  ocn_sflx_engi(i,j) = ocn_sflx_engi(i,j) + sflx_qtrc(i,j,iq) * ( tracer_cv(iq) * sfc_temp(i,j) + tracer_engi0(iq) )
839  end do
840  ocn_u10(i,j) = ocn_u10(i,j) * cnt_putocn + u10(i,j)
841  ocn_v10(i,j) = ocn_v10(i,j) * cnt_putocn + v10(i,j)
842  ocn_t2(i,j) = ocn_t2(i,j) * cnt_putocn + t2(i,j)
843  ocn_q2(i,j) = ocn_q2(i,j) * cnt_putocn + q2(i,j)
844  do irgn = i_r_ir, i_r_vis
845  do idir = i_r_direct, i_r_diffuse
846  ocn_sfc_albedo(i,j,idir,irgn) = ocn_sfc_albedo(i,j,idir,irgn) * cnt_putocn + sfc_albedo(i,j,idir,irgn)
847  enddo
848  enddo
849 
850  ocn_sfc_temp(i,j) = ocn_sfc_temp(i,j) / ( cnt_putocn + 1.0_rp )
851  ocn_sfc_z0m(i,j) = ocn_sfc_z0m(i,j) / ( cnt_putocn + 1.0_rp )
852  ocn_sfc_z0h(i,j) = ocn_sfc_z0h(i,j) / ( cnt_putocn + 1.0_rp )
853  ocn_sfc_z0e(i,j) = ocn_sfc_z0e(i,j) / ( cnt_putocn + 1.0_rp )
854  ocn_sflx_mw(i,j) = ocn_sflx_mw(i,j) / ( cnt_putocn + 1.0_rp )
855  ocn_sflx_mu(i,j) = ocn_sflx_mu(i,j) / ( cnt_putocn + 1.0_rp )
856  ocn_sflx_mv(i,j) = ocn_sflx_mv(i,j) / ( cnt_putocn + 1.0_rp )
857  ocn_sflx_sh(i,j) = ocn_sflx_sh(i,j) / ( cnt_putocn + 1.0_rp )
858  ocn_sflx_lh(i,j) = ocn_sflx_lh(i,j) / ( cnt_putocn + 1.0_rp )
859  ocn_sflx_gh(i,j) = ocn_sflx_gh(i,j) / ( cnt_putocn + 1.0_rp )
860  ocn_sflx_qtrc(i,j,:) = ocn_sflx_qtrc(i,j,:) / ( cnt_putocn + 1.0_rp )
861  ocn_sflx_engi(i,j) = ocn_sflx_engi(i,j) / ( cnt_putocn + 1.0_rp )
862  ocn_u10(i,j) = ocn_u10(i,j) / ( cnt_putocn + 1.0_rp )
863  ocn_v10(i,j) = ocn_v10(i,j) / ( cnt_putocn + 1.0_rp )
864  ocn_t2(i,j) = ocn_t2(i,j) / ( cnt_putocn + 1.0_rp )
865  ocn_q2(i,j) = ocn_q2(i,j) / ( cnt_putocn + 1.0_rp )
866  do irgn = i_r_ir, i_r_vis
867  do idir = i_r_direct, i_r_diffuse
868  ocn_sfc_albedo(i,j,idir,irgn) = ocn_sfc_albedo(i,j,idir,irgn) / ( cnt_putocn + 1.0_rp )
869  enddo
870  enddo
871  end if
872  enddo
873  enddo
874  !$acc end kernels
875 
876  if( countup ) then
877  cnt_putocn = cnt_putocn + 1.0_rp
878  endif
879 
880  return

References cnt_putocn, 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_vis, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, ocn_q2, ocn_sfc_albedo, ocn_sfc_temp, ocn_sfc_z0e, ocn_sfc_z0h, ocn_sfc_z0m, ocn_sflx_engi, ocn_sflx_gh, ocn_sflx_lh, ocn_sflx_mu, ocn_sflx_mv, ocn_sflx_mw, ocn_sflx_qtrc, ocn_sflx_sh, ocn_t2, ocn_u10, ocn_v10, scale_tracer::qa, scale_tracer::tracer_cv, and scale_tracer::tracer_engi0.

Referenced by mod_ocean_driver::ocean_surface_set().

Here is the caller graph for this function:

◆ cpl_putlnd()

subroutine, public mod_cpl_vars::cpl_putlnd ( real(rp), dimension (ia,ja), intent(in)  SFC_TEMP,
real(rp), dimension(ia,ja,n_rad_dir,n_rad_rgn), intent(in)  SFC_albedo,
real(rp), dimension (ia,ja), intent(in)  SFC_Z0M,
real(rp), dimension (ia,ja), intent(in)  SFC_Z0H,
real(rp), dimension (ia,ja), intent(in)  SFC_Z0E,
real(rp), dimension (ia,ja), intent(in)  SFLX_MW,
real(rp), dimension (ia,ja), intent(in)  SFLX_MU,
real(rp), dimension (ia,ja), intent(in)  SFLX_MV,
real(rp), dimension (ia,ja), intent(in)  SFLX_SH,
real(rp), dimension (ia,ja), intent(in)  SFLX_LH,
real(rp), dimension (ia,ja), intent(in)  SFLX_GH,
real(rp), dimension (ia,ja,qa), intent(in)  SFLX_QTRC,
real(rp), dimension (ia,ja), intent(in)  U10,
real(rp), dimension (ia,ja), intent(in)  V10,
real(rp), dimension (ia,ja), intent(in)  T2,
real(rp), dimension (ia,ja), intent(in)  Q2,
logical, dimension (ia,ja), intent(in)  mask,
logical, intent(in)  countup 
)

Definition at line 884 of file mod_cpl_vars.F90.

903  implicit none
904 
905  real(RP), intent(in) :: SFC_TEMP (IA,JA)
906  real(RP), intent(in) :: SFC_albedo(IA,JA,N_RAD_DIR,N_RAD_RGN)
907  real(RP), intent(in) :: SFC_Z0M (IA,JA)
908  real(RP), intent(in) :: SFC_Z0H (IA,JA)
909  real(RP), intent(in) :: SFC_Z0E (IA,JA)
910  real(RP), intent(in) :: SFLX_MW (IA,JA)
911  real(RP), intent(in) :: SFLX_MU (IA,JA)
912  real(RP), intent(in) :: SFLX_MV (IA,JA)
913  real(RP), intent(in) :: SFLX_SH (IA,JA)
914  real(RP), intent(in) :: SFLX_LH (IA,JA)
915  real(RP), intent(in) :: SFLX_GH (IA,JA)
916  real(RP), intent(in) :: SFLX_QTRC (IA,JA,QA)
917  real(RP), intent(in) :: U10 (IA,JA)
918  real(RP), intent(in) :: V10 (IA,JA)
919  real(RP), intent(in) :: T2 (IA,JA)
920  real(RP), intent(in) :: Q2 (IA,JA)
921  logical, intent(in) :: mask (IA,JA)
922  logical, intent(in) :: countup
923 
924  integer :: i, j, iq, idir, irgn
925  !---------------------------------------------------------------------------
926 
927  !$omp parallel do default(none) &
928  !$omp shared(JS,JE,IS,IE,QA) &
929  !$omp shared(LND_SFC_TEMP,LND_SFC_albedo,LND_SFC_Z0M,LND_SFC_Z0H,LND_SFC_Z0E) &
930  !$omp shared(LND_SFLX_MW,LND_SFLX_MU,LND_SFLX_MV,LND_SFLX_SH,LND_SFLX_LH,LND_SFLX_GH,LND_SFLX_QTRC,LND_SFLX_ENGI) &
931  !$omp shared(LND_U10,LND_V10,LND_T2,LND_Q2,CNT_putLND,SFC_TEMP,SFC_albedo,SFC_Z0M,SFC_Z0H) &
932  !$omp shared(SFC_Z0E,SFLX_MW,SFLX_MU,SFLX_MV,SFLX_SH,SFLX_LH,SFLX_GH,SFLX_QTRC,U10,V10,T2,Q2) &
933  !$omp shared(mask) &
934  !$omp shared(TRACER_CV,TRACER_ENGI0) &
935  !$omp private(i,j,idir,irgn) OMP_SCHEDULE_
936  !$acc kernels
937  do j = js, je
938  do i = is, ie
939  if ( mask(i,j) ) then
940  lnd_sfc_temp(i,j) = lnd_sfc_temp(i,j) * cnt_putlnd + sfc_temp(i,j)
941  lnd_sfc_z0m(i,j) = lnd_sfc_z0m(i,j) * cnt_putlnd + sfc_z0m(i,j)
942  lnd_sfc_z0h(i,j) = lnd_sfc_z0h(i,j) * cnt_putlnd + sfc_z0h(i,j)
943  lnd_sfc_z0e(i,j) = lnd_sfc_z0e(i,j) * cnt_putlnd + sfc_z0e(i,j)
944  lnd_sflx_mw(i,j) = lnd_sflx_mw(i,j) * cnt_putlnd + sflx_mw(i,j)
945  lnd_sflx_mu(i,j) = lnd_sflx_mu(i,j) * cnt_putlnd + sflx_mu(i,j)
946  lnd_sflx_mv(i,j) = lnd_sflx_mv(i,j) * cnt_putlnd + sflx_mv(i,j)
947  lnd_sflx_sh(i,j) = lnd_sflx_sh(i,j) * cnt_putlnd + sflx_sh(i,j)
948  lnd_sflx_lh(i,j) = lnd_sflx_lh(i,j) * cnt_putlnd + sflx_lh(i,j)
949  lnd_sflx_gh(i,j) = lnd_sflx_gh(i,j) * cnt_putlnd + sflx_gh(i,j)
950  lnd_sflx_engi(i,j) = lnd_sflx_engi(i,j) * cnt_putlnd
951  do iq = 1, qa
952  lnd_sflx_qtrc(i,j,iq) = lnd_sflx_qtrc(i,j,iq) * cnt_putlnd + sflx_qtrc(i,j,iq)
953  lnd_sflx_engi(i,j) = lnd_sflx_engi(i,j) + sflx_qtrc(i,j,iq) * ( tracer_cv(iq) * sfc_temp(i,j) + tracer_engi0(iq) )
954  end do
955  lnd_u10(i,j) = lnd_u10(i,j) * cnt_putlnd + u10(i,j)
956  lnd_v10(i,j) = lnd_v10(i,j) * cnt_putlnd + v10(i,j)
957  lnd_t2(i,j) = lnd_t2(i,j) * cnt_putlnd + t2(i,j)
958  lnd_q2(i,j) = lnd_q2(i,j) * cnt_putlnd + q2(i,j)
959  do irgn = i_r_ir, i_r_vis
960  do idir = i_r_direct, i_r_diffuse
961  lnd_sfc_albedo(i,j,idir,irgn) = lnd_sfc_albedo(i,j,idir,irgn) * cnt_putlnd + sfc_albedo(i,j,idir,irgn)
962  enddo
963  enddo
964 
965  lnd_sfc_temp(i,j) = lnd_sfc_temp(i,j) / ( cnt_putlnd + 1.0_rp )
966  lnd_sfc_z0m(i,j) = lnd_sfc_z0m(i,j) / ( cnt_putlnd + 1.0_rp )
967  lnd_sfc_z0h(i,j) = lnd_sfc_z0h(i,j) / ( cnt_putlnd + 1.0_rp )
968  lnd_sfc_z0e(i,j) = lnd_sfc_z0e(i,j) / ( cnt_putlnd + 1.0_rp )
969  lnd_sflx_mw(i,j) = lnd_sflx_mw(i,j) / ( cnt_putlnd + 1.0_rp )
970  lnd_sflx_mu(i,j) = lnd_sflx_mu(i,j) / ( cnt_putlnd + 1.0_rp )
971  lnd_sflx_mv(i,j) = lnd_sflx_mv(i,j) / ( cnt_putlnd + 1.0_rp )
972  lnd_sflx_sh(i,j) = lnd_sflx_sh(i,j) / ( cnt_putlnd + 1.0_rp )
973  lnd_sflx_lh(i,j) = lnd_sflx_lh(i,j) / ( cnt_putlnd + 1.0_rp )
974  lnd_sflx_gh(i,j) = lnd_sflx_gh(i,j) / ( cnt_putlnd + 1.0_rp )
975  lnd_sflx_qtrc(i,j,:) = lnd_sflx_qtrc(i,j,:) / ( cnt_putlnd + 1.0_rp )
976  lnd_sflx_engi(i,j) = lnd_sflx_engi(i,j) / ( cnt_putlnd + 1.0_rp )
977  lnd_u10(i,j) = lnd_u10(i,j) / ( cnt_putlnd + 1.0_rp )
978  lnd_v10(i,j) = lnd_v10(i,j) / ( cnt_putlnd + 1.0_rp )
979  lnd_t2(i,j) = lnd_t2(i,j) / ( cnt_putlnd + 1.0_rp )
980  lnd_q2(i,j) = lnd_q2(i,j) / ( cnt_putlnd + 1.0_rp )
981  do irgn = i_r_ir, i_r_vis
982  do idir = i_r_direct, i_r_diffuse
983  lnd_sfc_albedo(i,j,idir,irgn) = lnd_sfc_albedo(i,j,idir,irgn) / ( cnt_putlnd + 1.0_rp )
984  enddo
985  enddo
986  end if
987  enddo
988  enddo
989  !$acc end kernels
990 
991  if( countup ) then
992  cnt_putlnd = cnt_putlnd + 1.0_rp
993  endif
994 
995  return

References cnt_putlnd, 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_vis, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, lnd_q2, lnd_sfc_albedo, lnd_sfc_temp, lnd_sfc_z0e, lnd_sfc_z0h, lnd_sfc_z0m, lnd_sflx_engi, lnd_sflx_gh, lnd_sflx_lh, lnd_sflx_mu, lnd_sflx_mv, lnd_sflx_mw, lnd_sflx_qtrc, lnd_sflx_sh, lnd_t2, lnd_u10, lnd_v10, scale_tracer::qa, scale_tracer::tracer_cv, and scale_tracer::tracer_engi0.

Referenced by mod_land_driver::land_surface_set().

Here is the caller graph for this function:

◆ cpl_puturb()

subroutine, public mod_cpl_vars::cpl_puturb ( real(rp), dimension (ia,ja), intent(in)  SFC_TEMP,
real(rp), dimension(ia,ja,n_rad_dir,n_rad_rgn), intent(in)  SFC_albedo,
real(rp), dimension (ia,ja), intent(in)  SFC_Z0M,
real(rp), dimension (ia,ja), intent(in)  SFC_Z0H,
real(rp), dimension (ia,ja), intent(in)  SFC_Z0E,
real(rp), dimension (ia,ja), intent(in)  SFLX_MW,
real(rp), dimension (ia,ja), intent(in)  SFLX_MU,
real(rp), dimension (ia,ja), intent(in)  SFLX_MV,
real(rp), dimension (ia,ja), intent(in)  SFLX_SH,
real(rp), dimension (ia,ja), intent(in)  SFLX_LH,
real(rp), dimension (ia,ja), intent(in)  SFLX_SHEX,
real(rp), dimension (ia,ja), intent(in)  SFLX_LHEX,
real(rp), dimension (ia,ja), intent(in)  SFLX_QVEX,
real(rp), dimension (ia,ja), intent(in)  SFLX_GH,
real(rp), dimension (ia,ja,qa), intent(in)  SFLX_QTRC,
real(rp), dimension (ia,ja), intent(in)  U10,
real(rp), dimension (ia,ja), intent(in)  V10,
real(rp), dimension (ia,ja), intent(in)  T2,
real(rp), dimension (ia,ja), intent(in)  Q2,
logical, dimension (ia,ja), intent(in)  mask,
logical, intent(in)  countup 
)

Definition at line 999 of file mod_cpl_vars.F90.

1021  implicit none
1022 
1023  real(RP), intent(in) :: SFC_TEMP (IA,JA)
1024  real(RP), intent(in) :: SFC_albedo(IA,JA,N_RAD_DIR,N_RAD_RGN)
1025  real(RP), intent(in) :: SFC_Z0M (IA,JA)
1026  real(RP), intent(in) :: SFC_Z0H (IA,JA)
1027  real(RP), intent(in) :: SFC_Z0E (IA,JA)
1028  real(RP), intent(in) :: SFLX_MW (IA,JA)
1029  real(RP), intent(in) :: SFLX_MU (IA,JA)
1030  real(RP), intent(in) :: SFLX_MV (IA,JA)
1031  real(RP), intent(in) :: SFLX_SH (IA,JA)
1032  real(RP), intent(in) :: SFLX_LH (IA,JA)
1033  real(RP), intent(in) :: SFLX_SHEX (IA,JA)
1034  real(RP), intent(in) :: SFLX_LHEX (IA,JA)
1035  real(RP), intent(in) :: SFLX_QVEX (IA,JA)
1036  real(RP), intent(in) :: SFLX_GH (IA,JA)
1037  real(RP), intent(in) :: SFLX_QTRC (IA,JA,QA)
1038  real(RP), intent(in) :: U10 (IA,JA)
1039  real(RP), intent(in) :: V10 (IA,JA)
1040  real(RP), intent(in) :: T2 (IA,JA)
1041  real(RP), intent(in) :: Q2 (IA,JA)
1042  logical, intent(in) :: mask (IA,JA)
1043  logical, intent(in) :: countup
1044 
1045  integer :: i, j, iq, idir, irgn
1046  !---------------------------------------------------------------------------
1047 
1048  !$omp parallel do default(none) OMP_SCHEDULE_ &
1049  !$omp shared(JS,JE,IS,IE,QA, &
1050  !$omp URB_SFC_TEMP,URB_SFC_albedo,URB_SFC_Z0M,URB_SFC_Z0H,URB_SFC_Z0E, &
1051  !$omp URB_SFLX_MW,URB_SFLX_MU,URB_SFLX_MV,URB_SFLX_SH,URB_SFLX_LH,URB_SFLX_SHEX,URB_SFLX_LHEX,URB_SFLX_QVEX,URB_SFLX_GH, &
1052  !$omp URB_SFLX_QTRC,URB_SFLX_ENGI,URB_U10,URB_V10,URB_T2,URB_Q2,CNT_putURB, &
1053  !$omp SFC_TEMP,SFC_albedo,SFC_Z0M,SFC_Z0H,SFC_Z0E,SFLX_MW,SFLX_MU,SFLX_MV,SFLX_SH,SFLX_LH,SFLX_SHEX,SFLX_LHEX,SFLX_QVEX,SFLX_GH,SFLX_QTRC,U10,V10,T2,Q2, &
1054  !$omp mask, &
1055  !$omp TRACER_CV,TRACER_ENGI0)
1056  !$acc kernels
1057  do j = js, je
1058  do i = is, ie
1059  if ( mask(i,j) ) then
1060  urb_sfc_temp(i,j) = urb_sfc_temp(i,j) * cnt_puturb + sfc_temp(i,j)
1061  urb_sfc_z0m(i,j) = urb_sfc_z0m(i,j) * cnt_puturb + sfc_z0m(i,j)
1062  urb_sfc_z0h(i,j) = urb_sfc_z0h(i,j) * cnt_puturb + sfc_z0h(i,j)
1063  urb_sfc_z0e(i,j) = urb_sfc_z0e(i,j) * cnt_puturb + sfc_z0e(i,j)
1064  urb_sflx_mw(i,j) = urb_sflx_mw(i,j) * cnt_puturb + sflx_mw(i,j)
1065  urb_sflx_mu(i,j) = urb_sflx_mu(i,j) * cnt_puturb + sflx_mu(i,j)
1066  urb_sflx_mv(i,j) = urb_sflx_mv(i,j) * cnt_puturb + sflx_mv(i,j)
1067  urb_sflx_sh(i,j) = urb_sflx_sh(i,j) * cnt_puturb + sflx_sh(i,j)
1068  urb_sflx_lh(i,j) = urb_sflx_lh(i,j) * cnt_puturb + sflx_lh(i,j)
1069  urb_sflx_shex(i,j) = urb_sflx_shex(i,j) * cnt_puturb + sflx_shex(i,j)
1070  urb_sflx_lhex(i,j) = urb_sflx_lhex(i,j) * cnt_puturb + sflx_lhex(i,j)
1071  urb_sflx_qvex(i,j) = urb_sflx_qvex(i,j) * cnt_puturb + sflx_qvex(i,j)
1072  urb_sflx_gh(i,j) = urb_sflx_gh(i,j) * cnt_puturb + sflx_gh(i,j)
1073  urb_sflx_engi(i,j) = urb_sflx_engi(i,j) * cnt_puturb
1074  do iq = 1, qa
1075  urb_sflx_qtrc(i,j,iq) = urb_sflx_qtrc(i,j,iq) * cnt_puturb + sflx_qtrc(i,j,iq)
1076  urb_sflx_engi(i,j) = urb_sflx_engi(i,j) + sflx_qtrc(i,j,iq) * ( tracer_cv(iq) * sfc_temp(i,j) + tracer_engi0(iq) )
1077  end do
1078  urb_u10(i,j) = urb_u10(i,j) * cnt_puturb + u10(i,j)
1079  urb_v10(i,j) = urb_v10(i,j) * cnt_puturb + v10(i,j)
1080  urb_t2(i,j) = urb_t2(i,j) * cnt_puturb + t2(i,j)
1081  urb_q2(i,j) = urb_q2(i,j) * cnt_puturb + q2(i,j)
1082  do irgn = i_r_ir, i_r_vis
1083  do idir = i_r_direct, i_r_diffuse
1084  urb_sfc_albedo(i,j,idir,irgn) = urb_sfc_albedo(i,j,idir,irgn) * cnt_puturb + sfc_albedo(i,j,idir,irgn)
1085  enddo
1086  enddo
1087 
1088  urb_sfc_temp(i,j) = urb_sfc_temp(i,j) / ( cnt_puturb + 1.0_rp )
1089  urb_sfc_z0m(i,j) = urb_sfc_z0m(i,j) / ( cnt_puturb + 1.0_rp )
1090  urb_sfc_z0h(i,j) = urb_sfc_z0h(i,j) / ( cnt_puturb + 1.0_rp )
1091  urb_sfc_z0e(i,j) = urb_sfc_z0e(i,j) / ( cnt_puturb + 1.0_rp )
1092  urb_sflx_mw(i,j) = urb_sflx_mw(i,j) / ( cnt_puturb + 1.0_rp )
1093  urb_sflx_mu(i,j) = urb_sflx_mu(i,j) / ( cnt_puturb + 1.0_rp )
1094  urb_sflx_mv(i,j) = urb_sflx_mv(i,j) / ( cnt_puturb + 1.0_rp )
1095  urb_sflx_sh(i,j) = urb_sflx_sh(i,j) / ( cnt_puturb + 1.0_rp )
1096  urb_sflx_lh(i,j) = urb_sflx_lh(i,j) / ( cnt_puturb + 1.0_rp )
1097  urb_sflx_shex(i,j) = urb_sflx_shex(i,j) / ( cnt_puturb + 1.0_rp )
1098  urb_sflx_lhex(i,j) = urb_sflx_lhex(i,j) / ( cnt_puturb + 1.0_rp )
1099  urb_sflx_qvex(i,j) = urb_sflx_qvex(i,j) / ( cnt_puturb + 1.0_rp )
1100  urb_sflx_gh(i,j) = urb_sflx_gh(i,j) / ( cnt_puturb + 1.0_rp )
1101  urb_sflx_qtrc(i,j,:) = urb_sflx_qtrc(i,j,:) / ( cnt_puturb + 1.0_rp )
1102  urb_sflx_engi(i,j) = urb_sflx_engi(i,j) / ( cnt_puturb + 1.0_rp )
1103  urb_u10(i,j) = urb_u10(i,j) / ( cnt_puturb + 1.0_rp )
1104  urb_v10(i,j) = urb_v10(i,j) / ( cnt_puturb + 1.0_rp )
1105  urb_t2(i,j) = urb_t2(i,j) / ( cnt_puturb + 1.0_rp )
1106  urb_q2(i,j) = urb_q2(i,j) / ( cnt_puturb + 1.0_rp )
1107  do irgn = i_r_ir, i_r_vis
1108  do idir = i_r_direct, i_r_diffuse
1109  urb_sfc_albedo(i,j,idir,irgn) = urb_sfc_albedo(i,j,idir,irgn) / ( cnt_puturb + 1.0_rp )
1110  enddo
1111  enddo
1112  end if
1113  enddo
1114  enddo
1115  !$acc end kernels
1116 
1117  if( countup ) then
1118  cnt_puturb = cnt_puturb + 1.0_rp
1119  endif
1120 
1121  return

References cnt_puturb, 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_vis, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_tracer::qa, scale_tracer::tracer_cv, scale_tracer::tracer_engi0, urb_q2, urb_sfc_albedo, urb_sfc_temp, urb_sfc_z0e, urb_sfc_z0h, urb_sfc_z0m, urb_sflx_engi, urb_sflx_gh, urb_sflx_lh, urb_sflx_lhex, urb_sflx_mu, urb_sflx_mv, urb_sflx_mw, urb_sflx_qtrc, urb_sflx_qvex, urb_sflx_sh, urb_sflx_shex, urb_t2, urb_u10, and urb_v10.

Referenced by mod_urban_driver::urban_surface_set().

Here is the caller graph for this function:

◆ cpl_getsfc_atm()

subroutine, public mod_cpl_vars::cpl_getsfc_atm ( real(rp), dimension (ia,ja), intent(out)  SFC_TEMP,
real(rp), dimension(ia,ja,n_rad_dir,n_rad_rgn), intent(out)  SFC_albedo,
real(rp), dimension (ia,ja), intent(out)  SFC_Z0M,
real(rp), dimension (ia,ja), intent(out)  SFC_Z0H,
real(rp), dimension (ia,ja), intent(out)  SFC_Z0E,
real(rp), dimension (ia,ja), intent(out)  SFLX_MW,
real(rp), dimension (ia,ja), intent(out)  SFLX_MU,
real(rp), dimension (ia,ja), intent(out)  SFLX_MV,
real(rp), dimension (ia,ja), intent(out)  SFLX_SH,
real(rp), dimension (ia,ja), intent(out)  SFLX_LH,
real(rp), dimension (ia,ja), intent(out)  SFLX_SHEX,
real(rp), dimension (ia,ja), intent(out)  SFLX_LHEX,
real(rp), dimension (ia,ja), intent(out)  SFLX_QVEX,
real(rp), dimension (ia,ja), intent(out)  SFLX_GH,
real(rp), dimension (ia,ja,qa), intent(out)  SFLX_QTRC,
real(rp), dimension (ia,ja), intent(out)  SFLX_ENGI,
real(rp), dimension (ia,ja), intent(out)  U10,
real(rp), dimension (ia,ja), intent(out)  V10,
real(rp), dimension (ia,ja), intent(out)  T2,
real(rp), dimension (ia,ja), intent(out)  Q2 
)

Definition at line 1125 of file mod_cpl_vars.F90.

1146  use scale_landuse, only: &
1147  fact_ocean => landuse_fact_ocean, &
1148  fact_land => landuse_fact_land, &
1149  fact_urban => landuse_fact_urban
1150  use scale_const, only: &
1151  eps => const_eps
1152  use scale_atmos_hydrometeor, only: &
1153  i_qv
1154  implicit none
1155 
1156  real(RP), intent(out) :: SFC_TEMP (IA,JA)
1157  real(RP), intent(out) :: SFC_albedo(IA,JA,N_RAD_DIR,N_RAD_RGN)
1158  real(RP), intent(out) :: SFC_Z0M (IA,JA)
1159  real(RP), intent(out) :: SFC_Z0H (IA,JA)
1160  real(RP), intent(out) :: SFC_Z0E (IA,JA)
1161  real(RP), intent(out) :: SFLX_MW (IA,JA)
1162  real(RP), intent(out) :: SFLX_MU (IA,JA)
1163  real(RP), intent(out) :: SFLX_MV (IA,JA)
1164  real(RP), intent(out) :: SFLX_SH (IA,JA)
1165  real(RP), intent(out) :: SFLX_LH (IA,JA)
1166  real(RP), intent(out) :: SFLX_SHEX (IA,JA)
1167  real(RP), intent(out) :: SFLX_LHEX (IA,JA)
1168  real(RP), intent(out) :: SFLX_QVEX (IA,JA)
1169  real(RP), intent(out) :: SFLX_GH (IA,JA)
1170  real(RP), intent(out) :: SFLX_QTRC (IA,JA,QA)
1171  real(RP), intent(out) :: SFLX_ENGI (IA,JA)
1172  real(RP), intent(out) :: U10 (IA,JA)
1173  real(RP), intent(out) :: V10 (IA,JA)
1174  real(RP), intent(out) :: T2 (IA,JA)
1175  real(RP), intent(out) :: Q2 (IA,JA)
1176 
1177  integer :: i, j, idir, irgn, iq
1178  !---------------------------------------------------------------------------
1179 
1180  !$omp parallel do default(none) &
1181  !$omp shared(JS,JE,IS,IE,QA,I_QV,EPS,SFLX_QTRC,SFLX_ENGI,SFC_TEMP,SFC_albedo,SFC_Z0M,SFC_Z0H,SFC_Z0E) &
1182  !$omp shared(SFLX_MW,SFLX_MU,SFLX_MV,SFLX_SH,SFLX_LH,SFLX_SHEX,SFLX_LHEX,SFLX_QVEX,SFLX_GH,U10,V10,T2,Q2) &
1183  !$omp shared(fact_ocean,fact_land,fact_urban,OCN_SFC_TEMP,LND_SFC_TEMP,URB_SFC_TEMP,OCN_SFC_albedo) &
1184  !$omp shared(LND_SFC_albedo,URB_SFC_albedo,OCN_SFC_Z0M,LND_SFC_Z0M,URB_SFC_Z0M) &
1185  !$omp shared(OCN_SFC_Z0H,LND_SFC_Z0H,URB_SFC_Z0H,OCN_SFC_Z0E,LND_SFC_Z0E,URB_SFC_Z0E) &
1186  !$omp shared(OCN_SFLX_MW,LND_SFLX_MW,URB_SFLX_MW,OCN_SFLX_MU,LND_SFLX_MU,URB_SFLX_MU) &
1187  !$omp shared(OCN_SFLX_MV,LND_SFLX_MV,URB_SFLX_MV) &
1188  !$omp shared(OCN_SFLX_SH,LND_SFLX_SH,URB_SFLX_SH,URB_SFLX_SHEX,OCN_SFLX_LH,LND_SFLX_LH,URB_SFLX_LH,URB_SFLX_LHEX,URB_SFLX_QVEX) &
1189  !$omp shared(OCN_SFLX_GH,LND_SFLX_GH,URB_SFLX_GH,OCN_SFLX_QTRC,LND_SFLX_QTRC,URB_SFLX_QTRC,OCN_SFLX_ENGI,LND_SFLX_ENGI,URB_SFLX_ENGI) &
1190  !$omp shared(OCN_U10,LND_U10,URB_U10,OCN_V10,LND_V10,URB_V10,OCN_T2,LND_T2,URB_T2,OCN_Q2,LND_Q2,URB_Q2) &
1191  !$omp private(i,j,iq) OMP_SCHEDULE_
1192  !$acc kernels
1193  do j = js, je
1194  do i = is, ie
1195  sfc_temp(i,j) = fact_ocean(i,j) * ocn_sfc_temp(i,j) &
1196  + fact_land(i,j) * lnd_sfc_temp(i,j) &
1197  + fact_urban(i,j) * urb_sfc_temp(i,j)
1198 
1199  do irgn = i_r_ir, i_r_vis
1200  do idir = i_r_direct, i_r_diffuse
1201  sfc_albedo(i,j,idir,irgn) = fact_ocean(i,j) * ocn_sfc_albedo(i,j,idir,irgn) &
1202  + fact_land(i,j) * lnd_sfc_albedo(i,j,idir,irgn) &
1203  + fact_urban(i,j) * urb_sfc_albedo(i,j,idir,irgn)
1204  enddo
1205  enddo
1206 
1207  sfc_z0m(i,j) = fact_ocean(i,j) * ocn_sfc_z0m(i,j) &
1208  + fact_land(i,j) * lnd_sfc_z0m(i,j) &
1209  + fact_urban(i,j) * urb_sfc_z0m(i,j)
1210 
1211  sfc_z0h(i,j) = fact_ocean(i,j) * ocn_sfc_z0h(i,j) &
1212  + fact_land(i,j) * lnd_sfc_z0h(i,j) &
1213  + fact_urban(i,j) * urb_sfc_z0h(i,j)
1214 
1215  sfc_z0e(i,j) = fact_ocean(i,j) * ocn_sfc_z0e(i,j) &
1216  + fact_land(i,j) * lnd_sfc_z0e(i,j) &
1217  + fact_urban(i,j) * urb_sfc_z0e(i,j)
1218 
1219  sflx_mw(i,j) = fact_ocean(i,j) * ocn_sflx_mw(i,j) &
1220  + fact_land(i,j) * lnd_sflx_mw(i,j) &
1221  + fact_urban(i,j) * urb_sflx_mw(i,j)
1222 
1223  sflx_mu(i,j) = fact_ocean(i,j) * ocn_sflx_mu(i,j) &
1224  + fact_land(i,j) * lnd_sflx_mu(i,j) &
1225  + fact_urban(i,j) * urb_sflx_mu(i,j)
1226 
1227  sflx_mv(i,j) = fact_ocean(i,j) * ocn_sflx_mv(i,j) &
1228  + fact_land(i,j) * lnd_sflx_mv(i,j) &
1229  + fact_urban(i,j) * urb_sflx_mv(i,j)
1230 
1231  sflx_shex(i,j) = real(ceiling(fact_urban(i,j)-eps), kind=rp) * urb_sflx_shex(i,j) ! only a grid cell where urban exists
1232 
1233  sflx_lhex(i,j) = real(ceiling(fact_urban(i,j)-eps), kind=rp) * urb_sflx_lhex(i,j) ! only a grid cell where urban exists
1234 
1235  sflx_qvex(i,j) = real(ceiling(fact_urban(i,j)-eps), kind=rp) * urb_sflx_qvex(i,j) ! only a grid cell where urban exists
1236 
1237  sflx_sh(i,j) = fact_ocean(i,j) * ocn_sflx_sh(i,j) &
1238  + fact_land(i,j) * lnd_sflx_sh(i,j) &
1239  + fact_urban(i,j) * urb_sflx_sh(i,j) &
1240  + sflx_shex(i,j) ! grid average
1241 
1242  sflx_lh(i,j) = fact_ocean(i,j) * ocn_sflx_lh(i,j) &
1243  + fact_land(i,j) * lnd_sflx_lh(i,j) &
1244  + fact_urban(i,j) * urb_sflx_lh(i,j) &
1245  + sflx_lhex(i,j) ! grid average
1246 
1247  sflx_gh(i,j) = fact_ocean(i,j) * ocn_sflx_gh(i,j) &
1248  + fact_land(i,j) * lnd_sflx_gh(i,j) &
1249  + fact_urban(i,j) * urb_sflx_gh(i,j)
1250 
1251  do iq = 1, qa
1252  sflx_qtrc(i,j,iq) = fact_ocean(i,j) * ocn_sflx_qtrc(i,j,iq) &
1253  + fact_land(i,j) * lnd_sflx_qtrc(i,j,iq) &
1254  + fact_urban(i,j) * urb_sflx_qtrc(i,j,iq)
1255  enddo
1256  sflx_qtrc(i,j,i_qv) = sflx_qtrc(i,j,i_qv) + sflx_qvex(i,j)
1257 
1258  sflx_engi(i,j) = fact_ocean(i,j) * ocn_sflx_engi(i,j) &
1259  + fact_land(i,j) * lnd_sflx_engi(i,j) &
1260  + fact_urban(i,j) * urb_sflx_engi(i,j)
1261 
1262  u10(i,j) = fact_ocean(i,j) * ocn_u10(i,j) &
1263  + fact_land(i,j) * lnd_u10(i,j) &
1264  + fact_urban(i,j) * urb_u10(i,j)
1265 
1266  v10(i,j) = fact_ocean(i,j) * ocn_v10(i,j) &
1267  + fact_land(i,j) * lnd_v10(i,j) &
1268  + fact_urban(i,j) * urb_v10(i,j)
1269 
1270  t2(i,j) = fact_ocean(i,j) * ocn_t2(i,j) &
1271  + fact_land(i,j) * lnd_t2(i,j) &
1272  + fact_urban(i,j) * urb_t2(i,j)
1273 
1274  q2(i,j) = fact_ocean(i,j) * ocn_q2(i,j) &
1275  + fact_land(i,j) * lnd_q2(i,j) &
1276  + fact_urban(i,j) * urb_q2(i,j)
1277  enddo
1278  enddo
1279  !$acc end kernels
1280 
1281  cnt_putocn = 0.0_rp
1282  cnt_putlnd = 0.0_rp
1283  cnt_puturb = 0.0_rp
1284 
1285  return
real(rp), public const_eps
small number
Definition: scale_const.F90:35

References cnt_putlnd, cnt_putocn, cnt_puturb, scale_const::const_eps, scale_atmos_hydrometeor::i_qv, 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_vis, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_landuse::landuse_fact_land, scale_landuse::landuse_fact_ocean, scale_landuse::landuse_fact_urban, lnd_q2, lnd_sfc_albedo, lnd_sfc_temp, lnd_sfc_z0e, lnd_sfc_z0h, lnd_sfc_z0m, lnd_sflx_engi, lnd_sflx_gh, lnd_sflx_lh, lnd_sflx_mu, lnd_sflx_mv, lnd_sflx_mw, lnd_sflx_qtrc, lnd_sflx_sh, lnd_t2, lnd_u10, lnd_v10, ocn_q2, ocn_sfc_albedo, ocn_sfc_temp, ocn_sfc_z0e, ocn_sfc_z0h, ocn_sfc_z0m, ocn_sflx_engi, ocn_sflx_gh, ocn_sflx_lh, ocn_sflx_mu, ocn_sflx_mv, ocn_sflx_mw, ocn_sflx_qtrc, ocn_sflx_sh, ocn_t2, ocn_u10, ocn_v10, scale_tracer::qa, scale_precision::rp, urb_q2, urb_sfc_albedo, urb_sfc_temp, urb_sfc_z0e, urb_sfc_z0h, urb_sfc_z0m, urb_sflx_engi, urb_sflx_gh, urb_sflx_lh, urb_sflx_lhex, urb_sflx_mu, urb_sflx_mv, urb_sflx_mw, urb_sflx_qtrc, urb_sflx_qvex, urb_sflx_sh, urb_sflx_shex, urb_t2, urb_u10, and urb_v10.

Referenced by mod_atmos_driver::atmos_surface_get().

Here is the caller graph for this function:

◆ cpl_getatm_ocn()

subroutine, public mod_cpl_vars::cpl_getatm_ocn ( real(rp), dimension (ia,ja), intent(out)  TEMP,
real(rp), dimension (ia,ja), intent(out)  PRES,
real(rp), dimension (ia,ja), intent(out)  W,
real(rp), dimension (ia,ja), intent(out)  U,
real(rp), dimension (ia,ja), intent(out)  V,
real(rp), dimension (ia,ja), intent(out)  DENS,
real(rp), dimension (ia,ja), intent(out)  QV,
real(rp), dimension (ia,ja), intent(out)  PBL,
real(rp), dimension (ia,ja), intent(out)  SFC_DENS,
real(rp), dimension (ia,ja), intent(out)  SFC_PRES,
real(rp), dimension(ia,ja,n_rad_dir,n_rad_rgn), intent(out)  SFLX_rad_dn,
real(rp), dimension (ia,ja), intent(out)  cosSZA,
real(rp), dimension (ia,ja), intent(out)  SFLX_water,
real(rp), dimension (ia,ja), intent(out)  SFLX_ENGI 
)

Definition at line 1289 of file mod_cpl_vars.F90.

1304  implicit none
1305 
1306  real(RP), intent(out) :: TEMP (IA,JA)
1307  real(RP), intent(out) :: PRES (IA,JA)
1308  real(RP), intent(out) :: W (IA,JA)
1309  real(RP), intent(out) :: U (IA,JA)
1310  real(RP), intent(out) :: V (IA,JA)
1311  real(RP), intent(out) :: DENS (IA,JA)
1312  real(RP), intent(out) :: QV (IA,JA)
1313  real(RP), intent(out) :: PBL (IA,JA)
1314  real(RP), intent(out) :: SFC_DENS (IA,JA)
1315  real(RP), intent(out) :: SFC_PRES (IA,JA)
1316  real(RP), intent(out) :: SFLX_rad_dn(IA,JA,N_RAD_DIR,N_RAD_RGN)
1317  real(RP), intent(out) :: cosSZA (IA,JA)
1318  real(RP), intent(out) :: SFLX_water (IA,JA)
1319  real(RP), intent(out) :: SFLX_ENGI (IA,JA)
1320 
1321  integer :: i, j, idir, irgn
1322  !---------------------------------------------------------------------------
1323 
1324 !OCL XFILL
1325  !$omp parallel do default(none) private(i,j,idir,irgn) OMP_SCHEDULE_ &
1326  !$omp shared(JS,JE,IS,IE,TEMP,PRES,W,U,V,DENS,QV,PBL,SFC_DENS,SFC_PRES,SFLX_rad_dn,cosSZA,SFLX_water,SFLX_ENGI) &
1327  !$omp shared(OCN_ATM_TEMP,OCN_ATM_PRES,OCN_ATM_W,OCN_ATM_U,OCN_ATM_V,OCN_ATM_DENS,OCN_ATM_QV) &
1328  !$omp shared(OCN_ATM_PBL,OCN_ATM_SFC_DENS,OCN_ATM_SFC_PRES,OCN_ATM_SFLX_rad_dn,OCN_ATM_cosSZA,OCN_ATM_SFLX_water,OCN_ATM_SFLX_ENGI)
1329  !$acc kernels
1330  do j = js, je
1331  do i = is, ie
1332  temp(i,j) = ocn_atm_temp(i,j)
1333  pres(i,j) = ocn_atm_pres(i,j)
1334  w(i,j) = ocn_atm_w(i,j)
1335  u(i,j) = ocn_atm_u(i,j)
1336  v(i,j) = ocn_atm_v(i,j)
1337  dens(i,j) = ocn_atm_dens(i,j)
1338  qv(i,j) = ocn_atm_qv(i,j)
1339  pbl(i,j) = ocn_atm_pbl(i,j)
1340  sfc_dens(i,j) = ocn_atm_sfc_dens(i,j)
1341  sfc_pres(i,j) = ocn_atm_sfc_pres(i,j)
1342  cossza(i,j) = ocn_atm_cossza(i,j)
1343  sflx_water(i,j) = ocn_atm_sflx_water(i,j)
1344  sflx_engi(i,j) = ocn_atm_sflx_engi(i,j)
1345  do irgn = i_r_ir, i_r_vis
1346  do idir = i_r_direct, i_r_diffuse
1347  sflx_rad_dn(i,j,idir,irgn) = ocn_atm_sflx_rad_dn(i,j,idir,irgn)
1348  enddo
1349  enddo
1350  enddo
1351  enddo
1352  !$acc end kernels
1353 
1354  cnt_putatm_ocn = 0.0_rp
1355 
1356  return

References cnt_putatm_ocn, 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_vis, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, ocn_atm_cossza, ocn_atm_dens, ocn_atm_pbl, ocn_atm_pres, ocn_atm_qv, ocn_atm_sfc_dens, ocn_atm_sfc_pres, ocn_atm_sflx_engi, ocn_atm_sflx_rad_dn, ocn_atm_sflx_water, ocn_atm_temp, ocn_atm_u, ocn_atm_v, and ocn_atm_w.

Referenced by mod_ocean_driver::ocean_surface_get().

Here is the caller graph for this function:

◆ cpl_getatm_lnd()

subroutine, public mod_cpl_vars::cpl_getatm_lnd ( real(rp), dimension (ia,ja), intent(out)  TEMP,
real(rp), dimension (ia,ja), intent(out)  PRES,
real(rp), dimension (ia,ja), intent(out)  W,
real(rp), dimension (ia,ja), intent(out)  U,
real(rp), dimension (ia,ja), intent(out)  V,
real(rp), dimension (ia,ja), intent(out)  DENS,
real(rp), dimension (ia,ja), intent(out)  QV,
real(rp), dimension (ia,ja), intent(out)  PBL,
real(rp), dimension (ia,ja), intent(out)  SFC_DENS,
real(rp), dimension (ia,ja), intent(out)  SFC_PRES,
real(rp), dimension(ia,ja,n_rad_dir,n_rad_rgn), intent(out)  SFLX_rad_dn,
real(rp), dimension (ia,ja), intent(out)  cosSZA,
real(rp), dimension (ia,ja), intent(out)  SFLX_water,
real(rp), dimension (ia,ja), intent(out)  SFLX_ENGI 
)

Definition at line 1360 of file mod_cpl_vars.F90.

1375  implicit none
1376 
1377  real(RP), intent(out) :: TEMP (IA,JA)
1378  real(RP), intent(out) :: PRES (IA,JA)
1379  real(RP), intent(out) :: W (IA,JA)
1380  real(RP), intent(out) :: U (IA,JA)
1381  real(RP), intent(out) :: V (IA,JA)
1382  real(RP), intent(out) :: DENS (IA,JA)
1383  real(RP), intent(out) :: QV (IA,JA)
1384  real(RP), intent(out) :: PBL (IA,JA)
1385  real(RP), intent(out) :: SFC_DENS (IA,JA)
1386  real(RP), intent(out) :: SFC_PRES (IA,JA)
1387  real(RP), intent(out) :: SFLX_rad_dn(IA,JA,N_RAD_DIR,N_RAD_RGN)
1388  real(RP), intent(out) :: cosSZA (IA,JA)
1389  real(RP), intent(out) :: SFLX_water (IA,JA)
1390  real(RP), intent(out) :: SFLX_ENGI (IA,JA)
1391 
1392  integer :: i, j, idir, irgn
1393  !---------------------------------------------------------------------------
1394 
1395 !OCL XFILL
1396  !$omp parallel do default(none) private(i,j,idir,irgn) OMP_SCHEDULE_ &
1397  !$omp shared(JS,JE,IS,IE,TEMP,PRES,W,U,V,DENS,QV,PBL,SFC_DENS,SFC_PRES,SFLX_rad_dn,cosSZA,SFLX_water,SFLX_ENGI) &
1398  !$omp shared(LND_ATM_TEMP,LND_ATM_PRES,LND_ATM_W,LND_ATM_U,LND_ATM_V,LND_ATM_DENS,LND_ATM_QV) &
1399  !$omp shared(LND_ATM_PBL,LND_ATM_SFC_DENS,LND_ATM_SFC_PRES,LND_ATM_SFLX_rad_dn,LND_ATM_cosSZA,LND_ATM_SFLX_water,LND_ATM_SFLX_ENGI)
1400  !$acc kernels
1401  do j = js, je
1402  do i = is, ie
1403  temp(i,j) = lnd_atm_temp(i,j)
1404  pres(i,j) = lnd_atm_pres(i,j)
1405  w(i,j) = lnd_atm_w(i,j)
1406  u(i,j) = lnd_atm_u(i,j)
1407  v(i,j) = lnd_atm_v(i,j)
1408  dens(i,j) = lnd_atm_dens(i,j)
1409  qv(i,j) = lnd_atm_qv(i,j)
1410  pbl(i,j) = lnd_atm_pbl(i,j)
1411  sfc_dens(i,j) = lnd_atm_sfc_dens(i,j)
1412  sfc_pres(i,j) = lnd_atm_sfc_pres(i,j)
1413  cossza(i,j) = lnd_atm_cossza(i,j)
1414  sflx_water(i,j) = lnd_atm_sflx_water(i,j)
1415  sflx_engi(i,j) = lnd_atm_sflx_engi(i,j)
1416  do irgn = i_r_ir, i_r_vis
1417  do idir = i_r_direct, i_r_diffuse
1418  sflx_rad_dn(i,j,idir,irgn) = lnd_atm_sflx_rad_dn(i,j,idir,irgn)
1419  enddo
1420  enddo
1421  enddo
1422  enddo
1423  !$acc end kernels
1424 
1425  cnt_putatm_lnd = 0.0_rp
1426 
1427  return

References cnt_putatm_lnd, 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_vis, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, lnd_atm_cossza, lnd_atm_dens, lnd_atm_pbl, lnd_atm_pres, lnd_atm_qv, lnd_atm_sfc_dens, lnd_atm_sfc_pres, lnd_atm_sflx_engi, lnd_atm_sflx_rad_dn, lnd_atm_sflx_water, lnd_atm_temp, lnd_atm_u, lnd_atm_v, and lnd_atm_w.

Referenced by mod_land_driver::land_surface_get().

Here is the caller graph for this function:

◆ cpl_getatm_urb()

subroutine, public mod_cpl_vars::cpl_getatm_urb ( real(rp), dimension (ia,ja), intent(out)  TEMP,
real(rp), dimension (ia,ja), intent(out)  PRES,
real(rp), dimension (ia,ja), intent(out)  W,
real(rp), dimension (ia,ja), intent(out)  U,
real(rp), dimension (ia,ja), intent(out)  V,
real(rp), dimension (ia,ja), intent(out)  DENS,
real(rp), dimension (ia,ja), intent(out)  QV,
real(rp), dimension (ia,ja), intent(out)  PBL,
real(rp), dimension (ia,ja), intent(out)  SFC_DENS,
real(rp), dimension (ia,ja), intent(out)  SFC_PRES,
real(rp), dimension(ia,ja,n_rad_dir,n_rad_rgn), intent(out)  SFLX_rad_dn,
real(rp), dimension (ia,ja), intent(out)  cosSZA,
real(rp), dimension (ia,ja), intent(out)  SFLX_water,
real(rp), dimension (ia,ja), intent(out)  SFLX_ENGI 
)

Definition at line 1431 of file mod_cpl_vars.F90.

1446  implicit none
1447 
1448  real(RP), intent(out) :: TEMP (IA,JA)
1449  real(RP), intent(out) :: PRES (IA,JA)
1450  real(RP), intent(out) :: W (IA,JA)
1451  real(RP), intent(out) :: U (IA,JA)
1452  real(RP), intent(out) :: V (IA,JA)
1453  real(RP), intent(out) :: DENS (IA,JA)
1454  real(RP), intent(out) :: QV (IA,JA)
1455  real(RP), intent(out) :: PBL (IA,JA)
1456  real(RP), intent(out) :: SFC_DENS (IA,JA)
1457  real(RP), intent(out) :: SFC_PRES (IA,JA)
1458  real(RP), intent(out) :: SFLX_rad_dn(IA,JA,N_RAD_DIR,N_RAD_RGN)
1459  real(RP), intent(out) :: cosSZA (IA,JA)
1460  real(RP), intent(out) :: SFLX_water (IA,JA)
1461  real(RP), intent(out) :: SFLX_ENGI (IA,JA)
1462 
1463  integer :: i, j, idir, irgn
1464  !---------------------------------------------------------------------------
1465 
1466 !OCL XFILL
1467  !$omp parallel do default(none) private(i,j,idir,irgn) OMP_SCHEDULE_ &
1468  !$omp shared(JS,JE,IS,IE,TEMP,PRES,W,U,V,DENS,QV,PBL,SFC_DENS,SFC_PRES,SFLX_rad_dn,cosSZA,SFLX_water,SFLX_ENGI) &
1469  !$omp shared(URB_ATM_TEMP,URB_ATM_PRES,URB_ATM_W,URB_ATM_U,URB_ATM_V,URB_ATM_DENS,URB_ATM_QV) &
1470  !$omp shared(URB_ATM_PBL,URB_ATM_SFC_DENS,URB_ATM_SFC_PRES,URB_ATM_SFLX_rad_dn,URB_ATM_cosSZA,URB_ATM_SFLX_water,URB_ATM_SFLX_ENGI)
1471  !$acc kernels
1472  do j = js, je
1473  do i = is, ie
1474  temp(i,j) = urb_atm_temp(i,j)
1475  pres(i,j) = urb_atm_pres(i,j)
1476  w(i,j) = urb_atm_w(i,j)
1477  u(i,j) = urb_atm_u(i,j)
1478  v(i,j) = urb_atm_v(i,j)
1479  dens(i,j) = urb_atm_dens(i,j)
1480  qv(i,j) = urb_atm_qv(i,j)
1481  pbl(i,j) = urb_atm_pbl(i,j)
1482  sfc_dens(i,j) = urb_atm_sfc_dens(i,j)
1483  sfc_pres(i,j) = urb_atm_sfc_pres(i,j)
1484  cossza(i,j) = urb_atm_cossza(i,j)
1485  sflx_water(i,j) = urb_atm_sflx_water(i,j)
1486  sflx_engi(i,j) = urb_atm_sflx_engi(i,j)
1487  do irgn = i_r_ir, i_r_vis
1488  do idir = i_r_direct, i_r_diffuse
1489  sflx_rad_dn(i,j,idir,irgn) = urb_atm_sflx_rad_dn(i,j,idir,irgn)
1490  enddo
1491  enddo
1492  enddo
1493  enddo
1494  !$acc end kernels
1495 
1496  cnt_putatm_urb = 0.0_rp
1497 
1498  return

References cnt_putatm_urb, 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_vis, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, urb_atm_cossza, urb_atm_dens, urb_atm_pbl, urb_atm_pres, urb_atm_qv, urb_atm_sfc_dens, urb_atm_sfc_pres, urb_atm_sflx_engi, urb_atm_sflx_rad_dn, urb_atm_sflx_water, urb_atm_temp, urb_atm_u, urb_atm_v, and urb_atm_w.

Referenced by mod_urban_driver::urban_surface_get().

Here is the caller graph for this function:

Variable Documentation

◆ ocn_sfc_temp

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sfc_temp

Definition at line 49 of file mod_cpl_vars.F90.

49  real(RP), public, allocatable :: OCN_SFC_TEMP (:,:) ! ocean surface skin temperature [K]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sfc_albedo

real(rp), dimension(:,:,:,:), allocatable, public mod_cpl_vars::ocn_sfc_albedo

Definition at line 50 of file mod_cpl_vars.F90.

50  real(RP), public, allocatable :: OCN_SFC_albedo(:,:,:,:) ! ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sfc_z0m

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sfc_z0m

Definition at line 51 of file mod_cpl_vars.F90.

51  real(RP), public, allocatable :: OCN_SFC_Z0M (:,:) ! ocean surface roughness length for momemtum [m]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sfc_z0h

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sfc_z0h

Definition at line 52 of file mod_cpl_vars.F90.

52  real(RP), public, allocatable :: OCN_SFC_Z0H (:,:) ! ocean surface roughness length for heat [m]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sfc_z0e

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sfc_z0e

Definition at line 53 of file mod_cpl_vars.F90.

53  real(RP), public, allocatable :: OCN_SFC_Z0E (:,:) ! ocean surface roughness length for vapor [m]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sflx_mw

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sflx_mw

Definition at line 54 of file mod_cpl_vars.F90.

54  real(RP), public, allocatable :: OCN_SFLX_MW (:,:) ! ocean surface w-momentum flux [kg/m/s2]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sflx_mu

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sflx_mu

Definition at line 55 of file mod_cpl_vars.F90.

55  real(RP), public, allocatable :: OCN_SFLX_MU (:,:) ! ocean surface u-momentum flux [kg/m/s2]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sflx_mv

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sflx_mv

Definition at line 56 of file mod_cpl_vars.F90.

56  real(RP), public, allocatable :: OCN_SFLX_MV (:,:) ! ocean surface v-momentum flux [kg/m/s2]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sflx_sh

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sflx_sh

Definition at line 57 of file mod_cpl_vars.F90.

57  real(RP), public, allocatable :: OCN_SFLX_SH (:,:) ! ocean surface sensible heat flux [J/m/s2]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sflx_lh

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sflx_lh

Definition at line 58 of file mod_cpl_vars.F90.

58  real(RP), public, allocatable :: OCN_SFLX_LH (:,:) ! ocean surface latent heat flux [J/m2/s]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sflx_gh

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sflx_gh

Definition at line 59 of file mod_cpl_vars.F90.

59  real(RP), public, allocatable :: OCN_SFLX_GH (:,:) ! ocean surface water heat flux [J/m2/s]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sflx_qtrc

real(rp), dimension (:,:,:), allocatable, public mod_cpl_vars::ocn_sflx_qtrc

Definition at line 60 of file mod_cpl_vars.F90.

60  real(RP), public, allocatable :: OCN_SFLX_QTRC (:,:,:) ! ocean surface tracer flux [kg/m2/s]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_sflx_engi

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_sflx_engi

Definition at line 61 of file mod_cpl_vars.F90.

61  real(RP), public, allocatable :: OCN_SFLX_ENGI (:,:) ! ocean surface internal energy flux [J/m2/s]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_u10

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_u10

Definition at line 62 of file mod_cpl_vars.F90.

62  real(RP), public, allocatable :: OCN_U10 (:,:) ! ocean velocity u at 10m [m/s]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_v10

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_v10

Definition at line 63 of file mod_cpl_vars.F90.

63  real(RP), public, allocatable :: OCN_V10 (:,:) ! ocean velocity v at 10m [m/s]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_t2

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_t2

Definition at line 64 of file mod_cpl_vars.F90.

64  real(RP), public, allocatable :: OCN_T2 (:,:) ! ocean temperature at 2m [K]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_q2

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_q2

Definition at line 65 of file mod_cpl_vars.F90.

65  real(RP), public, allocatable :: OCN_Q2 (:,:) ! ocean water vapor at 2m [kg/kg]

Referenced by cpl_getsfc_atm(), cpl_putocn(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sfc_temp

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sfc_temp

Definition at line 68 of file mod_cpl_vars.F90.

68  real(RP), public, allocatable :: LND_SFC_TEMP (:,:) ! land surface skin temperature [K]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sfc_albedo

real(rp), dimension(:,:,:,:), allocatable, public mod_cpl_vars::lnd_sfc_albedo

Definition at line 69 of file mod_cpl_vars.F90.

69  real(RP), public, allocatable :: LND_SFC_albedo(:,:,:,:) ! land surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sfc_z0m

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sfc_z0m

Definition at line 70 of file mod_cpl_vars.F90.

70  real(RP), public, allocatable :: LND_SFC_Z0M (:,:) ! land surface roughness length for momemtum [m]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sfc_z0h

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sfc_z0h

Definition at line 71 of file mod_cpl_vars.F90.

71  real(RP), public, allocatable :: LND_SFC_Z0H (:,:) ! land surface roughness length for heat [m]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sfc_z0e

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sfc_z0e

Definition at line 72 of file mod_cpl_vars.F90.

72  real(RP), public, allocatable :: LND_SFC_Z0E (:,:) ! land surface roughness length for vapor [m]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sflx_mw

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sflx_mw

Definition at line 73 of file mod_cpl_vars.F90.

73  real(RP), public, allocatable :: LND_SFLX_MW (:,:) ! land surface w-momentum flux [kg/m/s2]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sflx_mu

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sflx_mu

Definition at line 74 of file mod_cpl_vars.F90.

74  real(RP), public, allocatable :: LND_SFLX_MU (:,:) ! land surface u-momentum flux [kg/m/s2]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sflx_mv

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sflx_mv

Definition at line 75 of file mod_cpl_vars.F90.

75  real(RP), public, allocatable :: LND_SFLX_MV (:,:) ! land surface v-momentum flux [kg/m/s2]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sflx_sh

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sflx_sh

Definition at line 76 of file mod_cpl_vars.F90.

76  real(RP), public, allocatable :: LND_SFLX_SH (:,:) ! land surface sensible heat flux [J/m2/s]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sflx_lh

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sflx_lh

Definition at line 77 of file mod_cpl_vars.F90.

77  real(RP), public, allocatable :: LND_SFLX_LH (:,:) ! land surface latent heat flux [J/m2/s]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sflx_gh

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sflx_gh

Definition at line 78 of file mod_cpl_vars.F90.

78  real(RP), public, allocatable :: LND_SFLX_GH (:,:) ! land surface ground heat flux [J/m2/s]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sflx_qtrc

real(rp), dimension (:,:,:), allocatable, public mod_cpl_vars::lnd_sflx_qtrc

Definition at line 79 of file mod_cpl_vars.F90.

79  real(RP), public, allocatable :: LND_SFLX_QTRC (:,:,:) ! land surface tracer flux [kg/m2/s]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_sflx_engi

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_sflx_engi

Definition at line 80 of file mod_cpl_vars.F90.

80  real(RP), public, allocatable :: LND_SFLX_ENGI (:,:) ! land surface internal energy flux [J/m2/s]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_u10

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_u10

Definition at line 81 of file mod_cpl_vars.F90.

81  real(RP), public, allocatable :: LND_U10 (:,:) ! land velocity u at 10m [m/s]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_v10

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_v10

Definition at line 82 of file mod_cpl_vars.F90.

82  real(RP), public, allocatable :: LND_V10 (:,:) ! land velocity v at 10m [m/s]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_t2

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_t2

Definition at line 83 of file mod_cpl_vars.F90.

83  real(RP), public, allocatable :: LND_T2 (:,:) ! land temperature at 2m [K]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_q2

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_q2

Definition at line 84 of file mod_cpl_vars.F90.

84  real(RP), public, allocatable :: LND_Q2 (:,:) ! land water vapor at 2m [kg/kg]

Referenced by cpl_getsfc_atm(), cpl_putlnd(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sfc_temp

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sfc_temp

Definition at line 87 of file mod_cpl_vars.F90.

87  real(RP), public, allocatable :: URB_SFC_TEMP (:,:) ! urban surface skin temperature [K]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sfc_albedo

real(rp), dimension(:,:,:,:), allocatable, public mod_cpl_vars::urb_sfc_albedo

Definition at line 88 of file mod_cpl_vars.F90.

88  real(RP), public, allocatable :: URB_SFC_albedo(:,:,:,:) ! urban surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sfc_z0m

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sfc_z0m

Definition at line 89 of file mod_cpl_vars.F90.

89  real(RP), public, allocatable :: URB_SFC_Z0M (:,:) ! urban surface roughness length for momemtum [m]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sfc_z0h

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sfc_z0h

Definition at line 90 of file mod_cpl_vars.F90.

90  real(RP), public, allocatable :: URB_SFC_Z0H (:,:) ! urban surface roughness length for heat [m]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sfc_z0e

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sfc_z0e

Definition at line 91 of file mod_cpl_vars.F90.

91  real(RP), public, allocatable :: URB_SFC_Z0E (:,:) ! urban surface roughness length for vapor [m]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_mw

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sflx_mw

Definition at line 92 of file mod_cpl_vars.F90.

92  real(RP), public, allocatable :: URB_SFLX_MW (:,:) ! urban surface w-momentum flux [kg/m/s2]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_mu

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sflx_mu

Definition at line 93 of file mod_cpl_vars.F90.

93  real(RP), public, allocatable :: URB_SFLX_MU (:,:) ! urban surface u-momentum flux [kg/m/s2]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_mv

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sflx_mv

Definition at line 94 of file mod_cpl_vars.F90.

94  real(RP), public, allocatable :: URB_SFLX_MV (:,:) ! urban surface v-momentum flux [kg/m/s2]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_sh

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sflx_sh

Definition at line 95 of file mod_cpl_vars.F90.

95  real(RP), public, allocatable :: URB_SFLX_SH (:,:) ! urban surface sensible heat flux [J/m2/s] (urban grid average)

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_lh

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sflx_lh

Definition at line 96 of file mod_cpl_vars.F90.

96  real(RP), public, allocatable :: URB_SFLX_LH (:,:) ! urban surface latent heat flux [J/m2/s] (urban grid average)

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_shex

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sflx_shex

Definition at line 97 of file mod_cpl_vars.F90.

97  real(RP), public, allocatable :: URB_SFLX_SHEX (:,:) ! extra (anthropogenic) sensible heat flux from urban [J/m2/s] (grid average value)

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_lhex

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sflx_lhex

Definition at line 98 of file mod_cpl_vars.F90.

98  real(RP), public, allocatable :: URB_SFLX_LHEX (:,:) ! extra (anthropogenic) latent heat flux from urban [J/m2/s] (grid average value)

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_qvex

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sflx_qvex

Definition at line 99 of file mod_cpl_vars.F90.

99  real(RP), public, allocatable :: URB_SFLX_QVEX (:,:) ! extra (anthropogenic) water vapour flux from urban [kg/kg/m2/s] (grid average value)

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_gh

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sflx_gh

Definition at line 100 of file mod_cpl_vars.F90.

100  real(RP), public, allocatable :: URB_SFLX_GH (:,:) ! urban surface ground heat flux [J/m2/s]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_qtrc

real(rp), dimension (:,:,:), allocatable, public mod_cpl_vars::urb_sflx_qtrc

Definition at line 101 of file mod_cpl_vars.F90.

101  real(RP), public, allocatable :: URB_SFLX_QTRC (:,:,:) ! urban surface tracer flux [kg/m2/s]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_sflx_engi

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_sflx_engi

Definition at line 102 of file mod_cpl_vars.F90.

102  real(RP), public, allocatable :: URB_SFLX_ENGI (:,:) ! urban surface internal energy flux [J/m2/s]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_u10

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_u10

Definition at line 103 of file mod_cpl_vars.F90.

103  real(RP), public, allocatable :: URB_U10 (:,:) ! urban velocity u at 10m [m/s]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_v10

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_v10

Definition at line 104 of file mod_cpl_vars.F90.

104  real(RP), public, allocatable :: URB_V10 (:,:) ! urban velocity v at 10m [m/s]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_t2

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_t2

Definition at line 105 of file mod_cpl_vars.F90.

105  real(RP), public, allocatable :: URB_T2 (:,:) ! urban temperature at 2m [K]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_q2

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_q2

Definition at line 106 of file mod_cpl_vars.F90.

106  real(RP), public, allocatable :: URB_Q2 (:,:) ! urban water vapor at 2m [kg/kg]

Referenced by cpl_getsfc_atm(), cpl_puturb(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_temp

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_temp

Definition at line 109 of file mod_cpl_vars.F90.

109  real(RP), public, allocatable :: OCN_ATM_TEMP (:,:) ! temperature at the lowermost atmosphere layer [K]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_pres

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_pres

Definition at line 110 of file mod_cpl_vars.F90.

110  real(RP), public, allocatable :: OCN_ATM_PRES (:,:) ! pressure at the lowermost atmosphere layer [Pa]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_w

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_w

Definition at line 111 of file mod_cpl_vars.F90.

111  real(RP), public, allocatable :: OCN_ATM_W (:,:) ! velocity w at the lowermost atmosphere layer [m/s]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_u

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_u

Definition at line 112 of file mod_cpl_vars.F90.

112  real(RP), public, allocatable :: OCN_ATM_U (:,:) ! velocity u at the lowermost atmosphere layer [m/s]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_v

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_v

Definition at line 113 of file mod_cpl_vars.F90.

113  real(RP), public, allocatable :: OCN_ATM_V (:,:) ! velocity v at the lowermost atmosphere layer [m/s]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_dens

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_dens

Definition at line 114 of file mod_cpl_vars.F90.

114  real(RP), public, allocatable :: OCN_ATM_DENS (:,:) ! density at the lowermost atmosphere layer [kg/m3]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_qv

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_qv

Definition at line 115 of file mod_cpl_vars.F90.

115  real(RP), public, allocatable :: OCN_ATM_QV (:,:) ! water vapor at the lowermost atmosphere layer [kg/kg]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_pbl

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_pbl

Definition at line 116 of file mod_cpl_vars.F90.

116  real(RP), public, allocatable :: OCN_ATM_PBL (:,:) ! the top of atmospheric mixing layer [m]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_sfc_dens

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_sfc_dens

Definition at line 117 of file mod_cpl_vars.F90.

117  real(RP), public, allocatable :: OCN_ATM_SFC_DENS (:,:) ! surface density [kg/m3]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_sfc_pres

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_sfc_pres

Definition at line 118 of file mod_cpl_vars.F90.

118  real(RP), public, allocatable :: OCN_ATM_SFC_PRES (:,:) ! surface pressure [Pa]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_sflx_rad_dn

real(rp), dimension(:,:,:,:), allocatable, public mod_cpl_vars::ocn_atm_sflx_rad_dn

Definition at line 119 of file mod_cpl_vars.F90.

119  real(RP), public, allocatable :: OCN_ATM_SFLX_rad_dn(:,:,:,:) ! downward radiation flux (direct/diffuse,IR/near-IR/VIS) [J/m2/s]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_cossza

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_cossza

Definition at line 120 of file mod_cpl_vars.F90.

120  real(RP), public, allocatable :: OCN_ATM_cosSZA (:,:) ! cos(solar zenith angle) (0-1)

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_sflx_water

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_sflx_water

Definition at line 121 of file mod_cpl_vars.F90.

121  real(RP), public, allocatable :: OCN_ATM_SFLX_water (:,:) ! precipitation flux [kg/m2/s]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ ocn_atm_sflx_engi

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::ocn_atm_sflx_engi

Definition at line 122 of file mod_cpl_vars.F90.

122  real(RP), public, allocatable :: OCN_ATM_SFLX_ENGI (:,:) ! internal energy flux [J/m2/s]

Referenced by cpl_getatm_ocn(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_temp

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_temp

Definition at line 125 of file mod_cpl_vars.F90.

125  real(RP), public, allocatable :: LND_ATM_TEMP (:,:) ! temperature at the lowermost atmosphere layer [K]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_pres

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_pres

Definition at line 126 of file mod_cpl_vars.F90.

126  real(RP), public, allocatable :: LND_ATM_PRES (:,:) ! pressure at the lowermost atmosphere layer [Pa]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_w

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_w

Definition at line 127 of file mod_cpl_vars.F90.

127  real(RP), public, allocatable :: LND_ATM_W (:,:) ! velocity w at the lowermost atmosphere layer [m/s]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_u

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_u

Definition at line 128 of file mod_cpl_vars.F90.

128  real(RP), public, allocatable :: LND_ATM_U (:,:) ! velocity u at the lowermost atmosphere layer [m/s]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_v

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_v

Definition at line 129 of file mod_cpl_vars.F90.

129  real(RP), public, allocatable :: LND_ATM_V (:,:) ! velocity v at the lowermost atmosphere layer [m/s]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_dens

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_dens

Definition at line 130 of file mod_cpl_vars.F90.

130  real(RP), public, allocatable :: LND_ATM_DENS (:,:) ! density at the lowermost atmosphere layer [kg/m3]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_qv

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_qv

Definition at line 131 of file mod_cpl_vars.F90.

131  real(RP), public, allocatable :: LND_ATM_QV (:,:) ! water vapor at the lowermost atmosphere layer [kg/kg]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_pbl

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_pbl

Definition at line 132 of file mod_cpl_vars.F90.

132  real(RP), public, allocatable :: LND_ATM_PBL (:,:) ! the top of atmospheric mixing layer [m]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_sfc_dens

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_sfc_dens

Definition at line 133 of file mod_cpl_vars.F90.

133  real(RP), public, allocatable :: LND_ATM_SFC_DENS (:,:) ! surface density [kg/m3]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_sfc_pres

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_sfc_pres

Definition at line 134 of file mod_cpl_vars.F90.

134  real(RP), public, allocatable :: LND_ATM_SFC_PRES (:,:) ! surface pressure [Pa]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_sflx_rad_dn

real(rp), dimension(:,:,:,:), allocatable, public mod_cpl_vars::lnd_atm_sflx_rad_dn

Definition at line 135 of file mod_cpl_vars.F90.

135  real(RP), public, allocatable :: LND_ATM_SFLX_rad_dn(:,:,:,:) ! downward radiation flux (direct/diffuse,IR/near-IR/VIS) [J/m2/s]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_cossza

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_cossza

Definition at line 136 of file mod_cpl_vars.F90.

136  real(RP), public, allocatable :: LND_ATM_cosSZA (:,:) ! cos(solar zenith angle) (0-1)

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_sflx_water

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_sflx_water

Definition at line 137 of file mod_cpl_vars.F90.

137  real(RP), public, allocatable :: LND_ATM_SFLX_water (:,:) ! precipitation flux [kg/m2/s]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ lnd_atm_sflx_engi

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::lnd_atm_sflx_engi

Definition at line 138 of file mod_cpl_vars.F90.

138  real(RP), public, allocatable :: LND_ATM_SFLX_ENGI (:,:) ! internal energy flux [J/m2/s]

Referenced by cpl_getatm_lnd(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_temp

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_temp

Definition at line 141 of file mod_cpl_vars.F90.

141  real(RP), public, allocatable :: URB_ATM_TEMP (:,:) ! temperature at the lowermost atmosphere layer [K]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_pres

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_pres

Definition at line 142 of file mod_cpl_vars.F90.

142  real(RP), public, allocatable :: URB_ATM_PRES (:,:) ! pressure at the lowermost atmosphere layer [Pa]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_w

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_w

Definition at line 143 of file mod_cpl_vars.F90.

143  real(RP), public, allocatable :: URB_ATM_W (:,:) ! velocity w at the lowermost atmosphere layer [m/s]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_u

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_u

Definition at line 144 of file mod_cpl_vars.F90.

144  real(RP), public, allocatable :: URB_ATM_U (:,:) ! velocity u at the lowermost atmosphere layer [m/s]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_v

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_v

Definition at line 145 of file mod_cpl_vars.F90.

145  real(RP), public, allocatable :: URB_ATM_V (:,:) ! velocity v at the lowermost atmosphere layer [m/s]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_dens

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_dens

Definition at line 146 of file mod_cpl_vars.F90.

146  real(RP), public, allocatable :: URB_ATM_DENS (:,:) ! density at the lowermost atmosphere layer [kg/m3]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_qv

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_qv

Definition at line 147 of file mod_cpl_vars.F90.

147  real(RP), public, allocatable :: URB_ATM_QV (:,:) ! water vapor at the lowermost atmosphere layer [kg/kg]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_pbl

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_pbl

Definition at line 148 of file mod_cpl_vars.F90.

148  real(RP), public, allocatable :: URB_ATM_PBL (:,:) ! the top of atmospheric mixing layer [m]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_sfc_dens

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_sfc_dens

Definition at line 149 of file mod_cpl_vars.F90.

149  real(RP), public, allocatable :: URB_ATM_SFC_DENS (:,:) ! surface density [kg/m3]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_sfc_pres

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_sfc_pres

Definition at line 150 of file mod_cpl_vars.F90.

150  real(RP), public, allocatable :: URB_ATM_SFC_PRES (:,:) ! surface pressure [Pa]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_sflx_rad_dn

real(rp), dimension(:,:,:,:), allocatable, public mod_cpl_vars::urb_atm_sflx_rad_dn

Definition at line 151 of file mod_cpl_vars.F90.

151  real(RP), public, allocatable :: URB_ATM_SFLX_rad_dn(:,:,:,:) ! downward radiation flux (direct/diffuse,IR/near-IR/VIS) [J/m2/s]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_cossza

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_cossza

Definition at line 152 of file mod_cpl_vars.F90.

152  real(RP), public, allocatable :: URB_ATM_cosSZA (:,:) ! cos(solar zenith angle) (0-1)

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_sflx_water

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_sflx_water

Definition at line 153 of file mod_cpl_vars.F90.

153  real(RP), public, allocatable :: URB_ATM_SFLX_water (:,:) ! precipitation flux [kg/m2/s]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ urb_atm_sflx_engi

real(rp), dimension (:,:), allocatable, public mod_cpl_vars::urb_atm_sflx_engi

Definition at line 154 of file mod_cpl_vars.F90.

154  real(RP), public, allocatable :: URB_ATM_SFLX_ENGI (:,:) ! internal energy flux [J/m2/s]

Referenced by cpl_getatm_urb(), cpl_putatm(), cpl_vars_finalize(), and cpl_vars_setup().

◆ cnt_putatm_ocn

real(rp), public mod_cpl_vars::cnt_putatm_ocn

Definition at line 157 of file mod_cpl_vars.F90.

157  real(RP), public :: CNT_putATM_OCN ! put counter for atmos to ocean

Referenced by cpl_getatm_ocn(), cpl_putatm(), and cpl_vars_setup().

◆ cnt_putatm_lnd

real(rp), public mod_cpl_vars::cnt_putatm_lnd

Definition at line 158 of file mod_cpl_vars.F90.

158  real(RP), public :: CNT_putATM_LND ! put counter for atmos to land

Referenced by cpl_getatm_lnd(), cpl_putatm(), and cpl_vars_setup().

◆ cnt_putatm_urb

real(rp), public mod_cpl_vars::cnt_putatm_urb

Definition at line 159 of file mod_cpl_vars.F90.

159  real(RP), public :: CNT_putATM_URB ! put counter for atmos to urban

Referenced by cpl_getatm_urb(), cpl_putatm(), and cpl_vars_setup().

◆ cnt_putocn

real(rp), public mod_cpl_vars::cnt_putocn

Definition at line 160 of file mod_cpl_vars.F90.

160  real(RP), public :: CNT_putOCN ! put counter for ocean

Referenced by cpl_getsfc_atm(), cpl_putocn(), and cpl_vars_setup().

◆ cnt_putlnd

real(rp), public mod_cpl_vars::cnt_putlnd

Definition at line 161 of file mod_cpl_vars.F90.

161  real(RP), public :: CNT_putLND ! put counter for land

Referenced by cpl_getsfc_atm(), cpl_putlnd(), and cpl_vars_setup().

◆ cnt_puturb

real(rp), public mod_cpl_vars::cnt_puturb

Definition at line 162 of file mod_cpl_vars.F90.

162  real(RP), public :: CNT_putURB ! put counter for urban

Referenced by cpl_getsfc_atm(), cpl_puturb(), and cpl_vars_setup().