SCALE-RM
Functions/Subroutines | Variables
mod_ocean_vars Module Reference

module OCEAN Variables More...

Functions/Subroutines

subroutine, public ocean_vars_setup
 Setup. More...
 
subroutine, public ocean_vars_restart_open
 Open ocean restart file for read. More...
 
subroutine, public ocean_vars_restart_read
 Read ocean restart. More...
 
subroutine, public ocean_vars_history
 History output set for ocean variables. More...
 
subroutine, public ocean_vars_total
 Budget monitor for ocean. More...
 
subroutine, public ocean_vars_restart_create
 Create ocean restart file. More...
 
subroutine, public ocean_vars_restart_enddef
 Exit netCDF define mode. More...
 
subroutine, public ocean_vars_restart_close
 Close restart file. More...
 
subroutine, public ocean_vars_restart_def_var
 Define ocean variables in restart file. More...
 
subroutine, public ocean_vars_restart_write
 Write ocean variables to restart file. More...
 

Variables

logical, public ocean_restart_output = .false.
 Output restart file? More...
 
character(len=h_long), public ocean_restart_in_basename = ''
 Basename of the input file. More...
 
logical, public ocean_restart_in_aggregate
 Switch to use aggregate file. More...
 
logical, public ocean_restart_in_postfix_timelabel = .false.
 Add timelabel to the basename of input file? More...
 
character(len=h_long), public ocean_restart_out_basename = ''
 Basename of the output file. More...
 
logical, public ocean_restart_out_aggregate
 Switch to use aggregate file. More...
 
logical, public ocean_restart_out_postfix_timelabel = .true.
 Add timelabel to the basename of output file? More...
 
character(len=h_mid), public ocean_restart_out_title = 'OCEAN restart'
 Title of the output file. More...
 
character(len=h_short), public ocean_restart_out_dtype = 'DEFAULT'
 REAL4 or REAL8. More...
 
real(rp), dimension(:,:,:), allocatable, public ocean_temp
 ocean temperature [K] More...
 
real(rp), dimension(:,:,:), allocatable, public ocean_salt
 ocean salinity [PSU] More...
 
real(rp), dimension(:,:,:), allocatable, public ocean_uvel
 ocean zonal velocity [m/s] More...
 
real(rp), dimension(:,:,:), allocatable, public ocean_vvel
 ocean meridional velocity [m/s] More...
 
real(rp), dimension(:,:), allocatable, public ocean_ocn_z0m
 surface roughness length for momentum, open ocean [m] More...
 
real(rp), dimension(:,:), allocatable, public ocean_ice_temp
 sea ice temperature [K] More...
 
real(rp), dimension(:,:), allocatable, public ocean_ice_mass
 sea ice mass [kg] More...
 
real(rp), dimension(:,:), allocatable, public ocean_sfc_temp
 ocean surface skin temperature [K] More...
 
real(rp), dimension(:,:,:,:), allocatable, public ocean_sfc_albedo
 ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1) More...
 
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0m
 ocean surface roughness length for momentum [m] More...
 
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0h
 ocean surface roughness length for heat [m] More...
 
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0e
 ocean surface roughness length for vapor [m] More...
 
real(rp), dimension(:,:,:), allocatable, public ocean_temp_t
 tendency of OCEAN_OCN_TEMP More...
 
real(rp), dimension(:,:,:), allocatable, public ocean_salt_t
 tendency of OCEAN_OCN_SALT More...
 
real(rp), dimension(:,:,:), allocatable, public ocean_uvel_t
 tendency of OCEAN_OCN_UVEL More...
 
real(rp), dimension(:,:,:), allocatable, public ocean_vvel_t
 tendency of OCEAN_OCN_VVEL More...
 
real(rp), dimension(:,:), allocatable, public ocean_ice_temp_t
 tendency of OCEAN_ICE_TEMP More...
 
real(rp), dimension(:,:), allocatable, public ocean_ice_mass_t
 tendency of OCEAN_ICE_MASS More...
 
real(rp), dimension(:,:), allocatable, public atmos_temp
 
real(rp), dimension(:,:), allocatable, public atmos_pres
 
real(rp), dimension(:,:), allocatable, public atmos_w
 
real(rp), dimension(:,:), allocatable, public atmos_u
 
real(rp), dimension(:,:), allocatable, public atmos_v
 
real(rp), dimension(:,:), allocatable, public atmos_dens
 
real(rp), dimension(:,:), allocatable, public atmos_qv
 
real(rp), dimension(:,:), allocatable, public atmos_pbl
 
real(rp), dimension(:,:), allocatable, public atmos_sfc_dens
 
real(rp), dimension(:,:), allocatable, public atmos_sfc_pres
 
real(rp), dimension(:,:,:,:), allocatable, public atmos_sflx_rad_dn
 
real(rp), dimension(:,:), allocatable, public atmos_cossza
 
real(rp), dimension(:,:), allocatable, public atmos_sflx_rain
 
real(rp), dimension(:,:), allocatable, public atmos_sflx_snow
 
real(rp), dimension(:,:), allocatable, public ocean_sflx_mw
 ocean surface w-momentum flux [kg/m/s2] More...
 
real(rp), dimension(:,:), allocatable, public ocean_sflx_mu
 ocean surface u-momentum flux [kg/m/s2] More...
 
real(rp), dimension(:,:), allocatable, public ocean_sflx_mv
 ocean surface v-momentum flux [kg/m/s2] More...
 
real(rp), dimension(:,:), allocatable, public ocean_sflx_sh
 ocean surface sensible heat flux [J/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public ocean_sflx_lh
 ocean surface latent heat flux [J/m2/s] More...
 
real(rp), dimension(:,:,:), allocatable, public ocean_sflx_qtrc
 ocean surface tracer flux [kg/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public ocean_u10
 ocean surface velocity u at 10m [m/s] More...
 
real(rp), dimension(:,:), allocatable, public ocean_v10
 ocean surface velocity v at 10m [m/s] More...
 
real(rp), dimension(:,:), allocatable, public ocean_t2
 ocean surface temperature at 2m [K] More...
 
real(rp), dimension(:,:), allocatable, public ocean_q2
 ocean surface water vapor at 2m [kg/kg] More...
 
real(rp), dimension(:,:), allocatable, public ocean_sflx_g
 ocean surface water heat flux [J/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public ocean_sflx_water
 ocean surface liquid water flux [kg/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public ocean_sflx_ice
 ocean surface ice water flux [kg/m2/s] More...
 
real(rp), dimension(:,:), allocatable, public ocean_ice_frac
 area fraction of sea ice [1] More...
 

Detailed Description

module OCEAN Variables

Description
Container for ocean variables
Author
Team SCALE
NAMELIST
  • PARAM_OCEAN_VARS
    nametypedefault valuecomment
    OCEAN_RESTART_IN_BASENAME character(len=H_LONG) '' Basename of the input file
    OCEAN_RESTART_IN_AGGREGATE logical Switch to use aggregate file
    OCEAN_RESTART_IN_POSTFIX_TIMELABEL logical .false. Add timelabel to the basename of input file?
    OCEAN_RESTART_IN_CHECK_COORDINATES logical .true.
    OCEAN_RESTART_OUTPUT logical .false. Output restart file?
    OCEAN_RESTART_OUT_BASENAME character(len=H_LONG) '' Basename of the output file
    OCEAN_RESTART_OUT_AGGREGATE logical Switch to use aggregate file
    OCEAN_RESTART_OUT_POSTFIX_TIMELABEL logical .true. Add timelabel to the basename of output file?
    OCEAN_RESTART_OUT_TITLE character(len=H_MID) 'OCEAN restart' Title of the output file
    OCEAN_RESTART_OUT_DTYPE character(len=H_SHORT) 'DEFAULT' REAL4 or REAL8
    OCEAN_VARS_CHECKRANGE logical .false.

History Output
namedescriptionunitvariable
OCEAN_ICE_FRAC seaice fraction 1 OCEAN_ICE_FRAC
OCEAN_ICE_MASS seaice mass kg/m2 OCEAN_ICE_MASS
OCEAN_ICE_TEMP seaice temperature K OCEAN_ICE_TEMP
OCEAN_OCN_Z0M open ocean roughness length (momentum) m OCEAN_OCN_Z0M
OCEAN_SFC_ALB_IR_dif ocean surface albedo for IR (diffuse) 1 OCEAN_SFC_albedo
OCEAN_SFC_ALB_IR_dir ocean surface albedo for IR (direct) 1 OCEAN_SFC_albedo
OCEAN_SFC_ALB_NIR_dif ocean surface albedo for NIR (diffuse) 1 OCEAN_SFC_albedo
OCEAN_SFC_ALB_NIR_dir ocean surface albedo for NIR (direct) 1 OCEAN_SFC_albedo
OCEAN_SFC_ALB_VIS_dif ocean surface albedo for VIS (diffuse) 1 OCEAN_SFC_albedo
OCEAN_SFC_ALB_VIS_dir ocean surface albedo for VIS (direct) 1 OCEAN_SFC_albedo
OCEAN_SFC_TEMP ocean surface skin temperature K OCEAN_SFC_TEMP
OCEAN_SFC_Z0E ocean surface roughness length (vapor) m OCEAN_SFC_Z0E
OCEAN_SFC_Z0H ocean surface roughness length (heat) m OCEAN_SFC_Z0H
OCEAN_SFC_Z0M ocean surface roughness length (momentum) m OCEAN_SFC_Z0M
OCEAN_SFLX_G ocean subsurface heat flux (downward) J/m2/s OCEAN_SFLX_G
OCEAN_SFLX_LH ocean surface latent heat flux (upward) J/m2/s OCEAN_SFLX_LH
OCEAN_SFLX_MU ocean surface u-momentum flux (upward) kg/m2/s OCEAN_SFLX_MU
OCEAN_SFLX_MV ocean surface v-momentum flux (upward) kg/m2/s OCEAN_SFLX_MV
OCEAN_SFLX_MW ocean surface w-momentum flux (upward) kg/m2/s OCEAN_SFLX_MW
OCEAN_SFLX_SH ocean surface sensible heat flux (upward) J/m2/s OCEAN_SFLX_SH
OCEAN_SFLX_evap ocean surface water vapor flux (upward) kg/m2/s OCEAN_SFLX_QTRC
OCEAN_SFLX_ice ocean surface ice water flux (downward) kg/m2/s OCEAN_SFLX_ice
OCEAN_SFLX_water ocean surface liquid water flux (downward) kg/m2/s OCEAN_SFLX_water
OCEAN_TEMP ocean temperature K OCEAN_TEMP

Function/Subroutine Documentation

◆ ocean_vars_setup()

subroutine, public mod_ocean_vars::ocean_vars_setup ( )

Setup.

Definition at line 284 of file mod_ocean_vars.F90.

References atmos_cossza, atmos_dens, atmos_pbl, atmos_pres, atmos_qv, atmos_sfc_dens, atmos_sfc_pres, atmos_sflx_rad_dn, atmos_sflx_rain, atmos_sflx_snow, atmos_temp, atmos_u, atmos_v, atmos_w, scale_const::const_undef, scale_io::io_fid_conf, scale_cpl_sfc_index::n_rad_dir, scale_cpl_sfc_index::n_rad_rgn, ocean_ice_frac, ocean_ice_mass, ocean_ice_mass_t, ocean_ice_temp, ocean_ice_temp_t, ocean_ocn_z0m, ocean_q2, ocean_restart_in_aggregate, ocean_restart_in_basename, ocean_restart_in_postfix_timelabel, ocean_restart_out_aggregate, ocean_restart_out_basename, ocean_restart_out_dtype, ocean_restart_out_postfix_timelabel, ocean_restart_out_title, ocean_restart_output, ocean_salt, ocean_salt_t, ocean_sfc_albedo, ocean_sfc_temp, ocean_sfc_z0e, ocean_sfc_z0h, ocean_sfc_z0m, ocean_sflx_g, ocean_sflx_ice, ocean_sflx_lh, ocean_sflx_mu, ocean_sflx_mv, ocean_sflx_mw, ocean_sflx_qtrc, ocean_sflx_sh, ocean_sflx_water, ocean_t2, ocean_temp, ocean_temp_t, ocean_u10, ocean_uvel, ocean_uvel_t, ocean_v10, ocean_vvel, ocean_vvel_t, scale_ocean_grid_cartesc_index::oia, scale_ocean_grid_cartesc_index::oja, scale_ocean_grid_cartesc_index::okmax, scale_prc::prc_abort(), and scale_tracer::qa.

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

284  use scale_prc, only: &
285  prc_abort
286  use scale_const, only: &
287  undef => const_undef
288  implicit none
289 
290  namelist / param_ocean_vars / &
291  ocean_restart_in_basename, &
292  ocean_restart_in_aggregate, &
293  ocean_restart_in_postfix_timelabel, &
294  ocean_restart_in_check_coordinates, &
295  ocean_restart_output, &
296  ocean_restart_out_basename, &
297  ocean_restart_out_aggregate, &
298  ocean_restart_out_postfix_timelabel, &
299  ocean_restart_out_title, &
300  ocean_restart_out_dtype, &
301  ocean_vars_checkrange
302 
303  integer :: ierr
304  integer :: iv
305  !---------------------------------------------------------------------------
306 
307  log_newline
308  log_info("OCEAN_vars_setup",*) 'Setup'
309 
310  allocate( ocean_temp(okmax,oia,oja) )
311  allocate( ocean_salt(okmax,oia,oja) )
312  allocate( ocean_uvel(okmax,oia,oja) )
313  allocate( ocean_vvel(okmax,oia,oja) )
314  ocean_temp(:,:,:) = undef
315  ocean_salt(:,:,:) = undef
316  ocean_uvel(:,:,:) = undef
317  ocean_vvel(:,:,:) = undef
318 
319  allocate( ocean_ocn_z0m(oia,oja) )
320  ocean_ocn_z0m(:,:) = undef
321 
322  allocate( ocean_ice_temp(oia,oja) )
323  allocate( ocean_ice_mass(oia,oja) )
324  ocean_ice_temp(:,:) = undef
325  ocean_ice_mass(:,:) = undef
326 
327  allocate( ocean_sfc_temp(oia,oja) )
328  allocate( ocean_sfc_albedo(oia,oja,n_rad_dir,n_rad_rgn) )
329  allocate( ocean_sfc_z0m(oia,oja) )
330  allocate( ocean_sfc_z0h(oia,oja) )
331  allocate( ocean_sfc_z0e(oia,oja) )
332  ocean_sfc_temp(:,:) = undef
333  ocean_sfc_albedo(:,:,:,:) = undef
334  ocean_sfc_z0m(:,:) = undef
335  ocean_sfc_z0h(:,:) = undef
336  ocean_sfc_z0e(:,:) = undef
337 
338  allocate( ocean_temp_t(okmax,oia,oja) )
339  allocate( ocean_salt_t(okmax,oia,oja) )
340  allocate( ocean_uvel_t(okmax,oia,oja) )
341  allocate( ocean_vvel_t(okmax,oia,oja) )
342  ocean_temp_t(:,:,:) = undef
343  ocean_salt_t(:,:,:) = undef
344  ocean_uvel_t(:,:,:) = undef
345  ocean_vvel_t(:,:,:) = undef
346 
347  allocate( ocean_ice_temp_t(oia,oja) )
348  allocate( ocean_ice_mass_t(oia,oja) )
349  ocean_ice_temp_t(:,:) = undef
350  ocean_ice_mass_t(:,:) = undef
351 
352  allocate( atmos_temp(oia,oja) )
353  allocate( atmos_pres(oia,oja) )
354  allocate( atmos_w(oia,oja) )
355  allocate( atmos_u(oia,oja) )
356  allocate( atmos_v(oia,oja) )
357  allocate( atmos_dens(oia,oja) )
358  allocate( atmos_qv(oia,oja) )
359  allocate( atmos_pbl(oia,oja) )
360  allocate( atmos_sfc_dens(oia,oja) )
361  allocate( atmos_sfc_pres(oia,oja) )
362  allocate( atmos_sflx_rad_dn(oia,oja,n_rad_dir,n_rad_rgn) )
363  allocate( atmos_cossza(oia,oja) )
364  allocate( atmos_sflx_rain(oia,oja) )
365  allocate( atmos_sflx_snow(oia,oja) )
366  atmos_temp(:,:) = undef
367  atmos_pres(:,:) = undef
368  atmos_w(:,:) = undef
369  atmos_u(:,:) = undef
370  atmos_v(:,:) = undef
371  atmos_dens(:,:) = undef
372  atmos_qv(:,:) = undef
373  atmos_pbl(:,:) = undef
374  atmos_sfc_dens(:,:) = undef
375  atmos_sfc_pres(:,:) = undef
376  atmos_sflx_rad_dn(:,:,:,:) = undef
377  atmos_cossza(:,:) = undef
378  atmos_sflx_rain(:,:) = undef
379  atmos_sflx_snow(:,:) = undef
380 
381  allocate( ocean_sflx_mw(oia,oja) )
382  allocate( ocean_sflx_mu(oia,oja) )
383  allocate( ocean_sflx_mv(oia,oja) )
384  allocate( ocean_sflx_sh(oia,oja) )
385  allocate( ocean_sflx_lh(oia,oja) )
386  allocate( ocean_sflx_qtrc(oia,oja,qa) )
387  allocate( ocean_u10(oia,oja) )
388  allocate( ocean_v10(oia,oja) )
389  allocate( ocean_t2(oia,oja) )
390  allocate( ocean_q2(oia,oja) )
391  ocean_sflx_mw(:,:) = undef
392  ocean_sflx_mu(:,:) = undef
393  ocean_sflx_mv(:,:) = undef
394  ocean_sflx_sh(:,:) = undef
395  ocean_sflx_lh(:,:) = undef
396  ocean_sflx_qtrc(:,:,:) = undef
397  ocean_u10(:,:) = undef
398  ocean_v10(:,:) = undef
399  ocean_t2(:,:) = undef
400  ocean_q2(:,:) = undef
401 
402  allocate( ocean_sflx_g(oia,oja) )
403  allocate( ocean_sflx_water(oia,oja) )
404  allocate( ocean_sflx_ice(oia,oja) )
405  ocean_sflx_g(:,:) = undef
406  ocean_sflx_water(:,:) = undef
407  ocean_sflx_ice(:,:) = undef
408 
409  allocate( ocean_ice_frac(oia,oja) )
410  ocean_ice_frac(:,:) = undef
411 
412  !--- read namelist
413  rewind(io_fid_conf)
414  read(io_fid_conf,nml=param_ocean_vars,iostat=ierr)
415  if( ierr < 0 ) then !--- missing
416  log_info("OCEAN_vars_setup",*) 'Not found namelist. Default used.'
417  elseif( ierr > 0 ) then !--- fatal error
418  log_error("OCEAN_vars_setup",*) 'Not appropriate names in namelist PARAM_OCEAN_VARS. Check!'
419  call prc_abort
420  endif
421  log_nml(param_ocean_vars)
422 
423  log_newline
424  log_info("OCEAN_vars_setup",*) 'List of prognostic variables (OCEAN) '
425  log_info_cont('(1x,A,A24,A,A48,A,A12,A)') &
426  ' |','VARNAME ','|','DESCRIPTION ','[','UNIT ',']'
427  do iv = 1, vmax
428  log_info_cont('(1x,A,I3,A,A24,A,A48,A,A12,A)') &
429  'NO.',iv,'|',var_name(iv),'|',var_desc(iv),'[',var_unit(iv),']'
430  enddo
431 
432  log_newline
433  if ( ocean_restart_in_basename /= '' ) then
434  log_info("OCEAN_vars_setup",*) 'Restart input? : YES, file = ', trim(ocean_restart_in_basename)
435  log_info_cont(*) 'Add timelabel? : ', ocean_restart_in_postfix_timelabel
436  else
437  log_info("OCEAN_vars_setup",*) 'Restart input? : NO'
438  endif
439  if ( ocean_restart_output &
440  .AND. ocean_restart_out_basename /= '' ) then
441  log_info("OCEAN_vars_setup",*) 'Restart output? : YES, file = ', trim(ocean_restart_out_basename)
442  log_info_cont(*) 'Add timelabel? : ', ocean_restart_out_postfix_timelabel
443  else
444  log_info("OCEAN_vars_setup",*) 'Restart output? : NO'
445  ocean_restart_output = .false.
446  endif
447 
448  return
real(rp), dimension(:,:), allocatable, public ocean_sflx_mu
ocean surface u-momentum flux [kg/m/s2]
real(rp), dimension(:,:), allocatable, public ocean_sflx_mw
ocean surface w-momentum flux [kg/m/s2]
real(rp), dimension(:,:), allocatable, public ocean_sfc_temp
ocean surface skin temperature [K]
integer, public io_fid_conf
Config file ID.
Definition: scale_io.F90:55
real(rp), dimension(:,:), allocatable, public ocean_u10
ocean surface velocity u at 10m [m/s]
real(rp), dimension(:,:), allocatable, public ocean_sflx_g
ocean surface water heat flux [J/m2/s]
real(rp), public const_undef
Definition: scale_const.F90:41
real(rp), dimension(:,:,:), allocatable, public ocean_sflx_qtrc
ocean surface tracer flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public ocean_sflx_lh
ocean surface latent heat flux [J/m2/s]
real(rp), dimension(:,:), allocatable, public ocean_t2
ocean surface temperature at 2m [K]
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0h
ocean surface roughness length for heat [m]
module PROCESS
Definition: scale_prc.F90:11
real(rp), dimension(:,:), allocatable, public ocean_q2
ocean surface water vapor at 2m [kg/kg]
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:338
module CONSTANT
Definition: scale_const.F90:11
real(rp), dimension(:,:), allocatable, public ocean_v10
ocean surface velocity v at 10m [m/s]
real(rp), dimension(:,:), allocatable, public ocean_sflx_mv
ocean surface v-momentum flux [kg/m/s2]
real(rp), dimension(:,:,:,:), allocatable, public ocean_sfc_albedo
ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0m
ocean surface roughness length for momentum [m]
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0e
ocean surface roughness length for vapor [m]
real(rp), dimension(:,:), allocatable, public ocean_sflx_sh
ocean surface sensible heat flux [J/m2/s]
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_vars_restart_open()

subroutine, public mod_ocean_vars::ocean_vars_restart_open ( )

Open ocean restart file for read.

Definition at line 454 of file mod_ocean_vars.F90.

References scale_file_cartesc::file_cartesc_open(), mod_ocean_admin::ocean_do, ocean_restart_in_aggregate, ocean_restart_in_basename, ocean_restart_in_postfix_timelabel, and scale_time::time_gettimelabel().

Referenced by mod_admin_restart::admin_restart_read().

454  use scale_time, only: &
456  use scale_file_cartesc, only: &
458  file_cartesc_check_coordinates
459  use mod_ocean_admin, only: &
460  ocean_do
461  implicit none
462 
463  character(len=19) :: timelabel
464  character(len=H_LONG) :: basename
465  !---------------------------------------------------------------------------
466 
467  log_newline
468  log_info("OCEAN_vars_restart_open",*) 'Open restart file (OCEAN) '
469 
470  if ( ocean_do .and. ocean_restart_in_basename /= '' ) then
471 
472  if ( ocean_restart_in_postfix_timelabel ) then
473  call time_gettimelabel( timelabel )
474  basename = trim(ocean_restart_in_basename)//'_'//trim(timelabel)
475  else
476  basename = trim(ocean_restart_in_basename)
477  endif
478  log_info_cont(*) 'basename: ', trim(basename)
479 
480  call file_cartesc_open( basename, restart_fid, aggregate=ocean_restart_in_aggregate )
481 
482  if( ocean_restart_in_check_coordinates ) call file_cartesc_check_coordinates( restart_fid )
483 
484  else
485  log_info_cont(*) 'restart file for ocean is not specified.'
486  endif
487 
488  return
logical, public ocean_do
subroutine, public time_gettimelabel(timelabel)
generate time label
Definition: scale_time.F90:94
module TIME
Definition: scale_time.F90:16
module Ocean admin
module file / cartesianC
subroutine, public file_cartesc_open(basename, fid, aggregate)
open a netCDF file for read
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_vars_restart_read()

subroutine, public mod_ocean_vars::ocean_vars_restart_read ( )

Read ocean restart.

Definition at line 494 of file mod_ocean_vars.F90.

References scale_file_cartesc::file_cartesc_flush(), scale_file::file_get_aggregate(), scale_cpl_sfc_index::i_r_diffuse, scale_cpl_sfc_index::i_r_direct, scale_cpl_sfc_index::i_r_ir, scale_cpl_sfc_index::i_r_nir, scale_cpl_sfc_index::i_r_vis, ocean_ice_frac, ocean_ice_mass, ocean_ice_temp, mod_ocean_admin::ocean_ice_type, ocean_ocn_z0m, scale_ocean_phy_ice_simple::ocean_phy_ice_fraction(), scale_ocean_phy_ice_simple::ocean_phy_ice_freezetemp, ocean_sfc_albedo, ocean_sfc_temp, ocean_sfc_z0e, ocean_sfc_z0h, ocean_sfc_z0m, ocean_temp, ocean_vars_total(), scale_ocean_grid_cartesc_index::oia, scale_ocean_grid_cartesc_index::oie, scale_ocean_grid_cartesc_index::ois, scale_ocean_grid_cartesc_index::oja, scale_ocean_grid_cartesc_index::oje, scale_ocean_grid_cartesc_index::ojs, and scale_prc::prc_abort().

Referenced by mod_admin_restart::admin_restart_read().

494  use scale_prc, only: &
495  prc_abort
496  use scale_file, only: &
498  use scale_file_cartesc, only: &
499  file_cartesc_read, &
501  use scale_ocean_phy_ice_simple, only: &
504  use mod_ocean_admin, only: &
506  implicit none
507  !---------------------------------------------------------------------------
508 
509  if ( restart_fid /= -1 ) then
510  log_newline
511  log_info("OCEAN_vars_restart_read",*) 'Read from restart file (OCEAN) '
512 
513  call file_cartesc_read( restart_fid, var_name(i_temp), 'OXY', & ! [IN]
514  ocean_temp(:,:,:) ) ! [OUT]
515 ! call FILE_CARTESC_read( restart_fid, VAR_NAME(I_SALT), 'OXY', & ! [IN]
516 ! OCEAN_SALT(:,:,:) ) ! [OUT]
517 ! call FILE_CARTESC_read( restart_fid, VAR_NAME(I_UVEL), 'OXY', & ! [IN]
518 ! OCEAN_UVEL(:,:,:) ) ! [OUT]
519 ! call FILE_CARTESC_read( restart_fid, VAR_NAME(I_VVEL), 'OXY', & ! [IN]
520 ! OCEAN_VVEL(:,:,:) ) ! [OUT]
521  call file_cartesc_read( restart_fid, var_name(i_ocn_z0m), 'XY', & ! [IN]
522  ocean_ocn_z0m(:,:) ) ! [OUT]
523  call file_cartesc_read( restart_fid, var_name(i_ice_temp), 'XY', & ! [IN]
524  ocean_ice_temp(:,:) ) ! [OUT]
525  call file_cartesc_read( restart_fid, var_name(i_ice_mass), 'XY', & ! [IN]
526  ocean_ice_mass(:,:) ) ! [OUT]
527  call file_cartesc_read( restart_fid, var_name(i_sfc_temp), 'XY', & ! [IN]
528  ocean_sfc_temp(:,:) ) ! [OUT]
529  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dir), 'XY', & ! [IN]
530  ocean_sfc_albedo(:,:,i_r_direct ,i_r_ir ) ) ! [OUT]
531  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_ir_dif), 'XY', & ! [IN]
532  ocean_sfc_albedo(:,:,i_r_diffuse,i_r_ir ) ) ! [OUT]
533  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dir), 'XY', & ! [IN]
534  ocean_sfc_albedo(:,:,i_r_direct ,i_r_nir) ) ! [OUT]
535  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_nir_dif), 'XY', & ! [IN]
536  ocean_sfc_albedo(:,:,i_r_diffuse,i_r_nir) ) ! [OUT]
537  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dir), 'XY', & ! [IN]
538  ocean_sfc_albedo(:,:,i_r_direct ,i_r_vis) ) ! [OUT]
539  call file_cartesc_read( restart_fid, var_name(i_sfc_alb_vis_dif), 'XY', & ! [IN]
540  ocean_sfc_albedo(:,:,i_r_diffuse,i_r_vis) ) ! [OUT]
541  call file_cartesc_read( restart_fid, var_name(i_sfc_z0m), 'XY', & ! [IN]
542  ocean_sfc_z0m(:,:) ) ! [OUT]
543  call file_cartesc_read( restart_fid, var_name(i_sfc_z0h), 'XY', & ! [IN]
544  ocean_sfc_z0h(:,:) ) ! [OUT]
545  call file_cartesc_read( restart_fid, var_name(i_sfc_z0e), 'XY', & ! [IN]
546  ocean_sfc_z0e(:,:) ) ! [OUT]
547 
548  if( file_get_aggregate(restart_fid) ) call file_cartesc_flush( restart_fid ) ! commit all pending read requests
549 
550 
551  if ( ocean_ice_type == 'NONE' ) then
552  ocean_ice_temp(:,:) = ocean_phy_ice_freezetemp
553  ocean_ice_frac(:,:) = 0.0_rp
554  else
555  ocean_ice_temp(:,:) = min( ocean_ice_temp(:,:), ocean_phy_ice_freezetemp )
556  call ocean_phy_ice_fraction( oia, ois, oie, & ! [IN]
557  oja, ojs, oje, & ! [IN]
558  ocean_ice_mass(:,:), & ! [IN]
559  ocean_ice_frac(:,:) ) ! [OUT]
560  endif
561 
562  call ocean_vars_total
563  else
564  log_error("OCEAN_vars_restart_read",*) 'invalid restart file ID for ocean.'
565  call prc_abort
566  endif
567 
568  return
real(rp), dimension(:,:), allocatable, public ocean_sfc_temp
ocean surface skin temperature [K]
module file
Definition: scale_file.F90:15
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0h
ocean surface roughness length for heat [m]
module PROCESS
Definition: scale_prc.F90:11
character(len=h_short), public ocean_ice_type
module Ocean admin
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:338
logical function, public file_get_aggregate(fid)
subroutine, public ocean_phy_ice_fraction(OIA, OIS, OIE, OJA, OJS, OJE, ICE_MASS, ICE_FRAC)
module ocean / physics / ice / simple
module file / cartesianC
subroutine, public file_cartesc_flush(fid)
Flush all pending requests to a netCDF file (PnetCDF only)
real(rp), dimension(:,:,:,:), allocatable, public ocean_sfc_albedo
ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0m
ocean surface roughness length for momentum [m]
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0e
ocean surface roughness length for vapor [m]
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_vars_history()

subroutine, public mod_ocean_vars::ocean_vars_history ( )

History output set for ocean variables.

Definition at line 574 of file mod_ocean_vars.F90.

References 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_nir, scale_cpl_sfc_index::i_r_vis, ocean_ice_frac, ocean_ice_mass, ocean_ice_temp, ocean_ocn_z0m, ocean_sfc_albedo, ocean_sfc_temp, ocean_sfc_z0e, ocean_sfc_z0h, ocean_sfc_z0m, ocean_sflx_g, ocean_sflx_ice, ocean_sflx_lh, ocean_sflx_mu, ocean_sflx_mv, ocean_sflx_mw, ocean_sflx_qtrc, ocean_sflx_sh, ocean_sflx_water, ocean_temp, scale_ocean_grid_cartesc_index::oie, scale_ocean_grid_cartesc_index::ois, scale_ocean_grid_cartesc_index::oje, scale_ocean_grid_cartesc_index::ojs, scale_ocean_grid_cartesc_index::oke, scale_ocean_grid_cartesc_index::oks, scale_prof::prof_rapend(), and scale_prof::prof_rapstart().

Referenced by mod_ocean_driver::ocean_driver_update(), and mod_rm_driver::restart_read().

574  use scale_file_history, only: &
575  file_history_in
576  use scale_atmos_hydrometeor, only: &
577  i_qv
578  implicit none
579  !---------------------------------------------------------------------------
580 
581  call prof_rapstart('OCN_History', 1)
582 
583  if ( ocean_vars_checkrange ) then
584  call valcheck( ocean_temp(oks:oke,ois:oie,ojs:oje), 0.0_rp, 1000.0_rp, &
585  var_name(i_temp), __file__, __line__ )
586 ! call VALCHECK( OCEAN_SALT (OKS:OKE,OIS:OIE,OJS:OJE), 0.0_RP, 1000.0_RP, &
587 ! VAR_NAME(I_SALT), __FILE__, __LINE__ )
588 ! call VALCHECK( OCEAN_UVEL (OKS:OKE,OIS:OIE,OJS:OJE), 0.0_RP, 1000.0_RP, &
589 ! VAR_NAME(I_UVEL), __FILE__, __LINE__ )
590 ! call VALCHECK( OCEAN_VVEL (OKS:OKE,OIS:OIE,OJS:OJE), 0.0_RP, 1000.0_RP, &
591 ! VAR_NAME(I_VVEL), __FILE__, __LINE__ )
592 
593  call valcheck( ocean_ocn_z0m(ois:oie,ojs:oje), 0.0_rp, 1000.0_rp, &
594  var_name(i_ocn_z0m), __file__, __line__ )
595  call valcheck( ocean_ice_temp(ois:oie,ojs:oje), 0.0_rp, 1000.0_rp, &
596  var_name(i_ice_temp), __file__, __line__ )
597  call valcheck( ocean_ice_mass(ois:oie,ojs:oje), 0.0_rp, 5e+5_rp, &
598  var_name(i_ice_mass), __file__, __line__ )
599  call valcheck( ocean_sfc_temp(ois:oie,ojs:oje), 0.0_rp, 1000.0_rp, &
600  var_name(i_sfc_temp), __file__, __line__ )
601 
602  call valcheck( ocean_sfc_albedo(ois:oie,ojs:oje,i_r_direct ,i_r_ir ), 0.0_rp, 2.0_rp, &
603  var_name(i_sfc_alb_ir_dir ), __file__, __line__ )
604  call valcheck( ocean_sfc_albedo(ois:oie,ojs:oje,i_r_diffuse,i_r_ir ), 0.0_rp, 2.0_rp, &
605  var_name(i_sfc_alb_ir_dif ), __file__, __line__ )
606  call valcheck( ocean_sfc_albedo(ois:oie,ojs:oje,i_r_direct ,i_r_nir), 0.0_rp, 2.0_rp, &
607  var_name(i_sfc_alb_nir_dir), __file__, __line__ )
608  call valcheck( ocean_sfc_albedo(ois:oie,ojs:oje,i_r_diffuse,i_r_nir), 0.0_rp, 2.0_rp, &
609  var_name(i_sfc_alb_nir_dif), __file__, __line__ )
610  call valcheck( ocean_sfc_albedo(ois:oie,ojs:oje,i_r_direct ,i_r_vis), 0.0_rp, 2.0_rp, &
611  var_name(i_sfc_alb_vis_dir), __file__, __line__ )
612  call valcheck( ocean_sfc_albedo(ois:oie,ojs:oje,i_r_diffuse,i_r_vis), 0.0_rp, 2.0_rp, &
613  var_name(i_sfc_alb_vis_dif), __file__, __line__ )
614  call valcheck( ocean_sfc_z0m(ois:oie,ojs:oje), 0.0_rp, 1000.0_rp, &
615  var_name(i_sfc_z0m), __file__, __line__ )
616  call valcheck( ocean_sfc_z0h(ois:oie,ojs:oje), 0.0_rp, 1000.0_rp, &
617  var_name(i_sfc_z0h), __file__, __line__ )
618  call valcheck( ocean_sfc_z0e(ois:oie,ojs:oje), 0.0_rp, 1000.0_rp, &
619  var_name(i_sfc_z0e), __file__, __line__ )
620  endif
621 
622  call file_history_in( ocean_temp(:,:,:), &
623  var_name(i_temp), var_desc(i_temp), &
624  var_unit(i_temp), standard_name=var_stdn(i_temp), &
625  dim_type="OXY" )
626 ! call FILE_HISTORY_in( OCEAN_SALT (:,:,:), &
627 ! VAR_NAME(I_SALT), VAR_DESC(I_SALT), &
628 ! VAR_UNIT(I_SALT), standard_name=VAR_STDN(I_SALT), &
629 ! dim_type="OXY" )
630 ! call FILE_HISTORY_in( OCEAN_UVEL (:,:,:), &
631 ! VAR_NAME(I_UVEL), VAR_DESC(I_UVEL), &
632 ! VAR_UNIT(I_UVEL), standard_name=VAR_STDN(I_UVEL), &
633 ! dim_type="OXY" )
634 ! call FILE_HISTORY_in( OCEAN_VVEL (:,:,:), &
635 ! VAR_NAME(I_VVEL), VAR_DESC(I_VVEL), &
636 ! VAR_UNIT(I_VVEL), standard_name=VAR_STDN(I_VVEL), &
637 ! dim_type="OXY" )
638 
639  call file_history_in( ocean_ocn_z0m(:,:), &
640  var_name(i_ocn_z0m), var_desc(i_ocn_z0m), &
641  var_unit(i_ocn_z0m), standard_name=var_stdn(i_ocn_z0m) )
642  call file_history_in( ocean_ice_temp(:,:), &
643  var_name(i_ice_temp), var_desc(i_ice_temp), &
644  var_unit(i_ice_temp), standard_name=var_stdn(i_ice_temp) )
645  call file_history_in( ocean_ice_mass(:,:), &
646  var_name(i_ice_mass), var_desc(i_ice_mass), &
647  var_unit(i_ice_mass), standard_name=var_stdn(i_ice_mass) )
648 
649  call file_history_in( ocean_sfc_temp(:,:), &
650  var_name(i_sfc_temp), var_desc(i_sfc_temp), &
651  var_unit(i_sfc_temp), standard_name=var_stdn(i_sfc_temp) )
652  call file_history_in( ocean_sfc_albedo(:,:,i_r_direct ,i_r_ir ), &
653  var_name(i_sfc_alb_ir_dir), var_desc(i_sfc_alb_ir_dir), &
654  var_unit(i_sfc_alb_ir_dir), standard_name=var_stdn(i_sfc_alb_ir_dir) )
655  call file_history_in( ocean_sfc_albedo(:,:,i_r_diffuse,i_r_ir ), &
656  var_name(i_sfc_alb_ir_dif), var_desc(i_sfc_alb_ir_dif), &
657  var_unit(i_sfc_alb_ir_dif), standard_name=var_stdn(i_sfc_alb_ir_dif) )
658  call file_history_in( ocean_sfc_albedo(:,:,i_r_direct ,i_r_nir), &
659  var_name(i_sfc_alb_nir_dir), var_desc(i_sfc_alb_nir_dir), &
660  var_unit(i_sfc_alb_nir_dir), standard_name=var_stdn(i_sfc_alb_nir_dir) )
661  call file_history_in( ocean_sfc_albedo(:,:,i_r_diffuse,i_r_nir), &
662  var_name(i_sfc_alb_nir_dif), var_desc(i_sfc_alb_nir_dif), &
663  var_unit(i_sfc_alb_nir_dif), standard_name=var_stdn(i_sfc_alb_nir_dif) )
664  call file_history_in( ocean_sfc_albedo(:,:,i_r_direct ,i_r_vis), &
665  var_name(i_sfc_alb_vis_dir), var_desc(i_sfc_alb_vis_dir), &
666  var_unit(i_sfc_alb_vis_dir), standard_name=var_stdn(i_sfc_alb_vis_dir) )
667  call file_history_in( ocean_sfc_albedo(:,:,i_r_diffuse,i_r_vis), &
668  var_name(i_sfc_alb_vis_dif), var_desc(i_sfc_alb_vis_dif), &
669  var_unit(i_sfc_alb_vis_dif), standard_name=var_stdn(i_sfc_alb_vis_dif) )
670  call file_history_in( ocean_sfc_z0m(:,:), &
671  var_name(i_sfc_z0m), var_desc(i_sfc_z0m), &
672  var_unit(i_sfc_z0m), standard_name=var_stdn(i_sfc_z0m) )
673  call file_history_in( ocean_sfc_z0h(:,:), &
674  var_name(i_sfc_z0h), var_desc(i_sfc_z0h), &
675  var_unit(i_sfc_z0h), standard_name=var_stdn(i_sfc_z0h) )
676  call file_history_in( ocean_sfc_z0e(:,:), &
677  var_name(i_sfc_z0e), var_desc(i_sfc_z0e), &
678  var_unit(i_sfc_z0e), standard_name=var_stdn(i_sfc_z0h) )
679 
680  call file_history_in( ocean_sflx_mw(:,:), &
681  var_name(i_sflx_mw), var_desc(i_sflx_mw), &
682  var_unit(i_sflx_mw), standard_name=var_stdn(i_sflx_mw) )
683  call file_history_in( ocean_sflx_mu(:,:), &
684  var_name(i_sflx_mu), var_desc(i_sflx_mu), &
685  var_unit(i_sflx_mu), standard_name=var_stdn(i_sflx_mu) )
686  call file_history_in( ocean_sflx_mv(:,:), &
687  var_name(i_sflx_mv), var_desc(i_sflx_mv), &
688  var_unit(i_sflx_mv), standard_name=var_stdn(i_sflx_mv) )
689  call file_history_in( ocean_sflx_sh(:,:), &
690  var_name(i_sflx_sh), var_desc(i_sflx_sh), &
691  var_unit(i_sflx_sh), standard_name=var_stdn(i_sflx_sh) )
692  call file_history_in( ocean_sflx_lh(:,:), &
693  var_name(i_sflx_lh), var_desc(i_sflx_lh), &
694  var_unit(i_sflx_lh), standard_name=var_stdn(i_sflx_lh) )
695  if ( i_qv > 0 ) then
696  call file_history_in( ocean_sflx_qtrc(:,:,i_qv), &
697  var_name(i_sflx_evap), var_desc(i_sflx_evap), &
698  var_unit(i_sflx_evap), standard_name=var_stdn(i_sflx_evap) )
699  endif
700  call file_history_in( ocean_sflx_g(:,:), &
701  var_name(i_sflx_g), var_desc(i_sflx_g), &
702  var_unit(i_sflx_g), standard_name=var_stdn(i_sflx_g) )
703  call file_history_in( ocean_sflx_water(:,:), &
704  var_name(i_sflx_water), var_desc(i_sflx_water), &
705  var_unit(i_sflx_water), standard_name=var_stdn(i_sflx_water) )
706  call file_history_in( ocean_sflx_ice(:,:), &
707  var_name(i_sflx_ice), var_desc(i_sflx_ice), &
708  var_unit(i_sflx_ice), standard_name=var_stdn(i_sflx_ice) )
709  call file_history_in( ocean_ice_frac(:,:), &
710  var_name(i_ice_frac), var_desc(i_ice_frac), &
711  var_unit(i_ice_frac), standard_name=var_stdn(i_ice_frac) )
712 
713  call prof_rapend ('OCN_History', 1)
714 
715  return
real(rp), dimension(:,:), allocatable, public ocean_sflx_mu
ocean surface u-momentum flux [kg/m/s2]
real(rp), dimension(:,:), allocatable, public ocean_sflx_mw
ocean surface w-momentum flux [kg/m/s2]
real(rp), dimension(:,:), allocatable, public ocean_sfc_temp
ocean surface skin temperature [K]
real(rp), dimension(:,:), allocatable, public ocean_sflx_g
ocean surface water heat flux [J/m2/s]
real(rp), dimension(:,:,:), allocatable, public ocean_sflx_qtrc
ocean surface tracer flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public ocean_sflx_lh
ocean surface latent heat flux [J/m2/s]
module atmosphere / hydrometeor
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0h
ocean surface roughness length for heat [m]
real(rp), dimension(:,:), allocatable, public ocean_sflx_mv
ocean surface v-momentum flux [kg/m/s2]
real(rp), dimension(:,:,:,:), allocatable, public ocean_sfc_albedo
ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0m
ocean surface roughness length for momentum [m]
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0e
ocean surface roughness length for vapor [m]
module file_history
real(rp), dimension(:,:), allocatable, public ocean_sflx_sh
ocean surface sensible heat flux [J/m2/s]
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_vars_total()

subroutine, public mod_ocean_vars::ocean_vars_total ( )

Budget monitor for ocean.

Definition at line 721 of file mod_ocean_vars.F90.

References 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_nir, scale_cpl_sfc_index::i_r_vis, scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_area, scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_totarea, scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_totvol, scale_ocean_grid_cartesc_real::ocean_grid_cartesc_real_vol, ocean_ice_frac, ocean_ice_mass, ocean_ice_temp, ocean_ocn_z0m, ocean_sfc_albedo, ocean_sfc_temp, ocean_sfc_z0e, ocean_sfc_z0h, ocean_sfc_z0m, ocean_sflx_g, ocean_sflx_ice, ocean_sflx_lh, ocean_sflx_mu, ocean_sflx_mv, ocean_sflx_mw, ocean_sflx_qtrc, ocean_sflx_sh, ocean_sflx_water, ocean_temp, scale_ocean_grid_cartesc_index::oia, scale_ocean_grid_cartesc_index::oie, scale_ocean_grid_cartesc_index::ois, scale_ocean_grid_cartesc_index::oja, scale_ocean_grid_cartesc_index::oje, scale_ocean_grid_cartesc_index::ojs, scale_ocean_grid_cartesc_index::oka, scale_ocean_grid_cartesc_index::oke, scale_ocean_grid_cartesc_index::oks, and scale_statistics::statistics_checktotal.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), ocean_vars_restart_read(), and ocean_vars_restart_write().

721  use scale_statistics, only: &
723  statistics_total
724  use scale_atmos_hydrometeor, only: &
725  i_qv
726  use scale_ocean_grid_cartesc_real, only: &
731  implicit none
732  !---------------------------------------------------------------------------
733 
734  if ( statistics_checktotal ) then
735 
736  call statistics_total( oka, oks, oke, oia, ois, oie, oja, ojs, oje, & ! [IN]
737  ocean_temp(:,:,:), var_name(i_temp), & ! [IN]
738  ocean_grid_cartesc_real_vol(:,:,:), & ! [IN]
740 ! call STATISTICS_total( OKA, OKS, OKE, OIA, OIS, OIE, OJA, OJS, OJE, & ! [IN]
741 ! OCEAN_SALT(:,:,:), VAR_NAME(I_SALT), & ! [IN]
742 ! OCEAN_GRID_CARTESC_REAL_VOL(:,:,:), & ! [IN]
743 ! OCEAN_GRID_CARTESC_REAL_TOTVOL ) ! [IN]
744 ! call STATISTICS_total( OKA, OKS, OKE, OIA, OIS, OIE, OJA, OJS, OJE, & ! [IN]
745 ! OCEAN_UVEL(:,:,:), VAR_NAME(I_UVEL), & ! [IN]
746 ! OCEAN_GRID_CARTESC_REAL_VOL(:,:,:), & ! [IN]
747 ! OCEAN_GRID_CARTESC_REAL_TOTVOL ) ! [IN]
748 ! call STATISTICS_total( OKA, OKS, OKE, OIA, OIS, OIE, OJA, OJS, OJE, & ! [IN]
749 ! OCEAN_VVEL(:,:,:), VAR_NAME(I_VVEL), & ! [IN]
750 ! OCEAN_GRID_CARTESC_REAL_VOL(:,:,:), & ! [IN]
751 ! OCEAN_GRID_CARTESC_REAL_TOTVOL ) ! [IN]
752 
753  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
754  ocean_ocn_z0m(:,:), var_name(i_ocn_z0m), & ! [IN]
755  ocean_grid_cartesc_real_area(:,:), & ! [IN]
757  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
758  ocean_ice_temp(:,:), var_name(i_ice_temp), & ! [IN]
759  ocean_grid_cartesc_real_area(:,:), & ! [IN]
761  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
762  ocean_ice_mass(:,:), var_name(i_ice_mass), & ! [IN]
763  ocean_grid_cartesc_real_area(:,:), & ! [IN]
765 
766  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
767  ocean_sfc_temp(:,:), var_name(i_sfc_temp), & ! [IN]
768  ocean_grid_cartesc_real_area(:,:), & ! [IN]
770  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
771  ocean_sfc_albedo(:,:,i_r_direct ,i_r_ir ), var_name(i_sfc_alb_ir_dir), & ! [IN]
772  ocean_grid_cartesc_real_area(:,:), & ! [IN]
774  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
775  ocean_sfc_albedo(:,:,i_r_diffuse,i_r_ir ), var_name(i_sfc_alb_ir_dif), & ! [IN]
776  ocean_grid_cartesc_real_area(:,:), & ! [IN]
778  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
779  ocean_sfc_albedo(:,:,i_r_direct ,i_r_nir), var_name(i_sfc_alb_nir_dir), & ! [IN]
780  ocean_grid_cartesc_real_area(:,:), & ! [IN]
782  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
783  ocean_sfc_albedo(:,:,i_r_diffuse,i_r_nir), var_name(i_sfc_alb_nir_dif), & ! [IN]
784  ocean_grid_cartesc_real_area(:,:), & ! [IN]
786  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
787  ocean_sfc_albedo(:,:,i_r_direct ,i_r_vis), var_name(i_sfc_alb_vis_dir), & ! [IN]
788  ocean_grid_cartesc_real_area(:,:), & ! [IN]
790  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
791  ocean_sfc_albedo(:,:,i_r_diffuse,i_r_vis), var_name(i_sfc_alb_vis_dif), & ! [IN]
792  ocean_grid_cartesc_real_area(:,:), & ! [IN]
794  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
795  ocean_sfc_z0m(:,:), var_name(i_sfc_z0m), & ! [IN]
796  ocean_grid_cartesc_real_area(:,:), & ! [IN]
798  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
799  ocean_sfc_z0h(:,:), var_name(i_sfc_z0h), & ! [IN]
800  ocean_grid_cartesc_real_area(:,:), & ! [IN]
802  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
803  ocean_sfc_z0e(:,:), var_name(i_sfc_z0e), & ! [IN]
804  ocean_grid_cartesc_real_area(:,:), & ! [IN]
806 
807  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
808  ocean_sflx_mw(:,:), var_name(i_sflx_mw), & ! [IN]
809  ocean_grid_cartesc_real_area(:,:), & ! [IN]
811  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
812  ocean_sflx_mu(:,:), var_name(i_sflx_mu), & ! [IN]
813  ocean_grid_cartesc_real_area(:,:), & ! [IN]
815  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
816  ocean_sflx_mv(:,:), var_name(i_sflx_mv), & ! [IN]
817  ocean_grid_cartesc_real_area(:,:), & ! [IN]
819  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
820  ocean_sflx_sh(:,:), var_name(i_sflx_sh), & ! [IN]
821  ocean_grid_cartesc_real_area(:,:), & ! [IN]
823  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
824  ocean_sflx_lh(:,:), var_name(i_sflx_lh), & ! [IN]
825  ocean_grid_cartesc_real_area(:,:), & ! [IN]
827  if ( i_qv > 0 ) then
828  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
829  ocean_sflx_qtrc(:,:,i_qv), var_name(i_sflx_evap), & ! [IN]
830  ocean_grid_cartesc_real_area(:,:), & ! [IN]
832  endif
833  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
834  ocean_sflx_g(:,:), var_name(i_sflx_g), & ! [IN]
835  ocean_grid_cartesc_real_area(:,:), & ! [IN]
837  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
838  ocean_sflx_water(:,:), var_name(i_sflx_water), & ! [IN]
839  ocean_grid_cartesc_real_area(:,:), & ! [IN]
841  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
842  ocean_sflx_ice(:,:), var_name(i_sflx_ice), & ! [IN]
843  ocean_grid_cartesc_real_area(:,:), & ! [IN]
845 
846  call statistics_total( oia, ois, oie, oja, ojs, oje, & ! [IN]
847  ocean_ice_frac(:,:), var_name(i_ice_frac), & ! [IN]
848  ocean_grid_cartesc_real_area(:,:), & ! [IN]
850  endif
851 
852  return
real(rp), dimension(:,:), allocatable, public ocean_sflx_mu
ocean surface u-momentum flux [kg/m/s2]
real(rp), dimension(:,:,:), allocatable, public ocean_grid_cartesc_real_vol
volume of grid cell
real(rp), dimension(:,:), allocatable, public ocean_sflx_mw
ocean surface w-momentum flux [kg/m/s2]
real(rp), dimension(:,:), allocatable, public ocean_sfc_temp
ocean surface skin temperature [K]
real(rp), dimension(:,:), allocatable, public ocean_grid_cartesc_real_area
area of grid cell
real(rp), public ocean_grid_cartesc_real_totarea
total area
logical, public statistics_checktotal
calc&report variable totals to logfile?
real(rp), dimension(:,:), allocatable, public ocean_sflx_g
ocean surface water heat flux [J/m2/s]
real(rp), dimension(:,:,:), allocatable, public ocean_sflx_qtrc
ocean surface tracer flux [kg/m2/s]
real(rp), dimension(:,:), allocatable, public ocean_sflx_lh
ocean surface latent heat flux [J/m2/s]
module atmosphere / hydrometeor
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0h
ocean surface roughness length for heat [m]
module ocean / grid / cartesianC / real
real(rp), public ocean_grid_cartesc_real_totvol
total volume
real(rp), dimension(:,:), allocatable, public ocean_sflx_mv
ocean surface v-momentum flux [kg/m/s2]
module Statistics
real(rp), dimension(:,:,:,:), allocatable, public ocean_sfc_albedo
ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0m
ocean surface roughness length for momentum [m]
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0e
ocean surface roughness length for vapor [m]
real(rp), dimension(:,:), allocatable, public ocean_sflx_sh
ocean surface sensible heat flux [J/m2/s]
Here is the caller graph for this function:

◆ ocean_vars_restart_create()

subroutine, public mod_ocean_vars::ocean_vars_restart_create ( )

Create ocean restart file.

Definition at line 858 of file mod_ocean_vars.F90.

References scale_file_cartesc::file_cartesc_create(), mod_ocean_admin::ocean_do, ocean_restart_out_aggregate, ocean_restart_out_basename, ocean_restart_out_dtype, ocean_restart_out_postfix_timelabel, ocean_restart_out_title, and scale_time::time_gettimelabel().

Referenced by mod_admin_restart::admin_restart_write().

858  use scale_time, only: &
860  use scale_file_cartesc, only: &
862  use mod_ocean_admin, only: &
863  ocean_do
864  implicit none
865 
866  character(len=19) :: timelabel
867  character(len=H_LONG) :: basename
868  !---------------------------------------------------------------------------
869 
870  if ( ocean_do .and. ocean_restart_out_basename /= '' ) then
871  log_newline
872  log_info("OCEAN_vars_restart_create",*) 'Create restart file (OCEAN) '
873 
874  if ( ocean_restart_out_postfix_timelabel ) then
875  call time_gettimelabel( timelabel )
876  basename = trim(ocean_restart_out_basename)//'_'//trim(timelabel)
877  else
878  basename = trim(ocean_restart_out_basename)
879  endif
880  log_info_cont(*) 'basename: ', trim(basename)
881 
882  call file_cartesc_create( basename, & ! [IN]
883  ocean_restart_out_title, & ! [IN]
884  ocean_restart_out_dtype, & ! [IN]
885  restart_fid, & ! [OUT]
886  aggregate = ocean_restart_out_aggregate ) ! [IN]
887  endif
888 
889  return
logical, public ocean_do
subroutine, public file_cartesc_create(basename, title, datatype, fid, date, subsec, haszcoord, append, aggregate, single)
Create/open a netCDF file.
subroutine, public time_gettimelabel(timelabel)
generate time label
Definition: scale_time.F90:94
module TIME
Definition: scale_time.F90:16
module Ocean admin
module file / cartesianC
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_vars_restart_enddef()

subroutine, public mod_ocean_vars::ocean_vars_restart_enddef ( )

Exit netCDF define mode.

Definition at line 895 of file mod_ocean_vars.F90.

References scale_file_cartesc::file_cartesc_enddef().

Referenced by mod_admin_restart::admin_restart_write().

895  use scale_file_cartesc, only: &
897  implicit none
898  !---------------------------------------------------------------------------
899 
900  if ( restart_fid /= -1 ) then
901  call file_cartesc_enddef( restart_fid ) ! [IN]
902  endif
903 
904  return
subroutine, public file_cartesc_enddef(fid)
Exit netCDF file define mode.
module file / cartesianC
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_vars_restart_close()

subroutine, public mod_ocean_vars::ocean_vars_restart_close ( )

Close restart file.

Definition at line 910 of file mod_ocean_vars.F90.

References scale_file_cartesc::file_cartesc_close().

Referenced by mod_admin_restart::admin_restart_read(), and mod_admin_restart::admin_restart_write().

910  use scale_file_cartesc, only: &
912  implicit none
913  !---------------------------------------------------------------------------
914 
915  if ( restart_fid /= -1 ) then
916  log_newline
917  log_info("OCEAN_vars_restart_close",*) 'Close restart file (OCEAN) '
918 
919  call file_cartesc_close( restart_fid ) ! [IN]
920 
921  restart_fid = -1
922  endif
923 
924  return
module file / cartesianC
subroutine, public file_cartesc_close(fid)
Close a netCDF file.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_vars_restart_def_var()

subroutine, public mod_ocean_vars::ocean_vars_restart_def_var ( )

Define ocean variables in restart file.

Definition at line 930 of file mod_ocean_vars.F90.

References scale_file_cartesc::file_cartesc_def_var(), and ocean_restart_out_dtype.

Referenced by mod_admin_restart::admin_restart_write().

930  use scale_file_cartesc, only: &
932  implicit none
933 
934  integer :: i
935  !---------------------------------------------------------------------------
936 
937  if ( restart_fid /= -1 ) then
938  do i = i_temp, i_temp
939  call file_cartesc_def_var( restart_fid, & ! [IN]
940  var_name(i), var_desc(i), var_unit(i), & ! [IN]
941  'OXY', ocean_restart_out_dtype, & ! [IN]
942  var_id(i), & ! [OUT]
943  standard_name=var_stdn(i) ) ! [IN]
944  enddo
945 
946  do i = i_ocn_z0m, i_sfc_z0e
947  call file_cartesc_def_var( restart_fid, & ! [IN]
948  var_name(i), var_desc(i), var_unit(i), & ! [IN]
949  'XY', ocean_restart_out_dtype, & ! [IN]
950  var_id(i), & ! [OUT]
951  standard_name=var_stdn(i) ) ! [IN]
952  enddo
953  endif
954 
955  return
subroutine, public file_cartesc_def_var(fid, varname, desc, unit, dim_type, datatype, vid, standard_name, timeintv, nsteps, cell_measures)
Define a variable to file.
module file / cartesianC
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_vars_restart_write()

subroutine, public mod_ocean_vars::ocean_vars_restart_write ( )

Write ocean variables to restart file.

Definition at line 961 of file mod_ocean_vars.F90.

References scale_cpl_sfc_index::i_r_diffuse, scale_cpl_sfc_index::i_r_direct, scale_cpl_sfc_index::i_r_ir, scale_cpl_sfc_index::i_r_nir, scale_cpl_sfc_index::i_r_vis, ocean_ice_mass, ocean_ice_temp, ocean_ocn_z0m, ocean_sfc_albedo, ocean_sfc_temp, ocean_sfc_z0e, ocean_sfc_z0h, ocean_sfc_z0m, ocean_temp, and ocean_vars_total().

Referenced by mod_admin_restart::admin_restart_write().

961  use scale_file_cartesc, only: &
962  file_cartesc_write_var
963  implicit none
964  !---------------------------------------------------------------------------
965 
966  if ( restart_fid /= -1 ) then
967  call ocean_vars_total
968 
969  call file_cartesc_write_var( restart_fid, var_id(i_temp), & ! [IN]
970  ocean_temp(:,:,:), & ! [IN]
971  var_name(i_temp), 'OXY', fill_halo=.true. ) ! [IN]
972 ! call FILE_CARTESC_write_var( restart_fid, VAR_ID(I_SALT), & ! [IN]
973 ! OCEAN_SALT(:,:,:), & ! [IN]
974 ! VAR_NAME(I_SALT), 'OXY', fill_halo=.true. ) ! [IN]
975 ! call FILE_CARTESC_write_var( restart_fid, VAR_ID(I_UVEL), & ! [IN]
976 ! OCEAN_UVEL(:,:,:), & ! [IN]
977 ! VAR_NAME(I_UVEL), 'OXY', fill_halo=.true. ) ! [IN]
978 ! call FILE_CARTESC_write_var( restart_fid, VAR_ID(I_VVEL), & ! [IN]
979 ! OCEAN_VVEL(:,:,:), & ! [IN]
980 ! VAR_NAME(I_VVEL), 'OXY', fill_halo=.true. ) ! [IN]
981 
982  call file_cartesc_write_var( restart_fid, var_id(i_ocn_z0m), & ! [IN]
983  ocean_ocn_z0m(:,:), & ! [IN]
984  var_name(i_ocn_z0m), 'XY', fill_halo=.true. ) ! [IN]
985  call file_cartesc_write_var( restart_fid, var_id(i_ice_temp), & ! [IN]
986  ocean_ice_temp(:,:), & ! [IN]
987  var_name(i_ice_temp), 'XY', fill_halo=.true. ) ! [IN]
988  call file_cartesc_write_var( restart_fid, var_id(i_ice_mass), & ! [IN]
989  ocean_ice_mass(:,:), & ! [IN]
990  var_name(i_ice_mass), 'XY', fill_halo=.true. ) ! [IN]
991  call file_cartesc_write_var( restart_fid, var_id(i_sfc_temp), & ! [IN]
992  ocean_sfc_temp(:,:), & ! [IN]
993  var_name(i_sfc_temp), 'XY', fill_halo=.true. ) ! [IN]
994  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dir), & ! [IN]
995  ocean_sfc_albedo(:,:,i_r_direct ,i_r_ir ), & ! [IN]
996  var_name(i_sfc_alb_ir_dir), 'XY', fill_halo=.true. ) ! [IN]
997  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_ir_dif), & ! [IN]
998  ocean_sfc_albedo(:,:,i_r_diffuse,i_r_ir ), & ! [IN]
999  var_name(i_sfc_alb_ir_dif), 'XY', fill_halo=.true. ) ! [IN]
1000  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dir), & ! [IN]
1001  ocean_sfc_albedo(:,:,i_r_direct ,i_r_nir), & ! [IN]
1002  var_name(i_sfc_alb_nir_dir), 'XY', fill_halo=.true. ) ! [IN]
1003  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_nir_dif), & ! [IN]
1004  ocean_sfc_albedo(:,:,i_r_diffuse,i_r_nir), & ! [IN]
1005  var_name(i_sfc_alb_nir_dif), 'XY', fill_halo=.true. ) ! [IN]
1006  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dir), & ! [IN]
1007  ocean_sfc_albedo(:,:,i_r_direct ,i_r_vis), & ! [IN]
1008  var_name(i_sfc_alb_vis_dir), 'XY', fill_halo=.true. ) ! [IN]
1009  call file_cartesc_write_var( restart_fid, var_id(i_sfc_alb_vis_dif), & ! [IN]
1010  ocean_sfc_albedo(:,:,i_r_diffuse,i_r_vis), & ! [IN]
1011  var_name(i_sfc_alb_vis_dif), 'XY', fill_halo=.true. ) ! [IN]
1012  call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0m), & ! [IN]
1013  ocean_sfc_z0m(:,:), & ! [IN]
1014  var_name(i_sfc_z0m), 'XY', fill_halo=.true. ) ! [IN]
1015  call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0h), & ! [IN]
1016  ocean_sfc_z0h(:,:), & ! [IN]
1017  var_name(i_sfc_z0h), 'XY', fill_halo=.true. ) ! [IN]
1018  call file_cartesc_write_var( restart_fid, var_id(i_sfc_z0e), & ! [IN]
1019  ocean_sfc_z0e(:,:), & ! [IN]
1020  var_name(i_sfc_z0e), 'XY', fill_halo=.true. ) ! [IN]
1021  endif
1022 
1023  return
real(rp), dimension(:,:), allocatable, public ocean_sfc_temp
ocean surface skin temperature [K]
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0h
ocean surface roughness length for heat [m]
module file / cartesianC
real(rp), dimension(:,:,:,:), allocatable, public ocean_sfc_albedo
ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0m
ocean surface roughness length for momentum [m]
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0e
ocean surface roughness length for vapor [m]
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ ocean_restart_output

logical, public mod_ocean_vars::ocean_restart_output = .false.

Output restart file?

Definition at line 47 of file mod_ocean_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), mod_admin_restart::admin_restart_write(), and ocean_vars_setup().

47  logical, public :: ocean_restart_output = .false.

◆ ocean_restart_in_basename

character(len=h_long), public mod_ocean_vars::ocean_restart_in_basename = ''

Basename of the input file.

Definition at line 49 of file mod_ocean_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), ocean_vars_restart_open(), and ocean_vars_setup().

49  character(len=H_LONG), public :: ocean_restart_in_basename = ''

◆ ocean_restart_in_aggregate

logical, public mod_ocean_vars::ocean_restart_in_aggregate

Switch to use aggregate file.

Definition at line 50 of file mod_ocean_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), ocean_vars_restart_open(), and ocean_vars_setup().

50  logical, public :: ocean_restart_in_aggregate

◆ ocean_restart_in_postfix_timelabel

logical, public mod_ocean_vars::ocean_restart_in_postfix_timelabel = .false.

Add timelabel to the basename of input file?

Definition at line 51 of file mod_ocean_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), ocean_vars_restart_open(), and ocean_vars_setup().

51  logical, public :: ocean_restart_in_postfix_timelabel = .false.

◆ ocean_restart_out_basename

character(len=h_long), public mod_ocean_vars::ocean_restart_out_basename = ''

Basename of the output file.

Definition at line 52 of file mod_ocean_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), ocean_vars_restart_create(), and ocean_vars_setup().

52  character(len=H_LONG), public :: ocean_restart_out_basename = ''

◆ ocean_restart_out_aggregate

logical, public mod_ocean_vars::ocean_restart_out_aggregate

Switch to use aggregate file.

Definition at line 53 of file mod_ocean_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), ocean_vars_restart_create(), and ocean_vars_setup().

53  logical, public :: ocean_restart_out_aggregate

◆ ocean_restart_out_postfix_timelabel

logical, public mod_ocean_vars::ocean_restart_out_postfix_timelabel = .true.

Add timelabel to the basename of output file?

Definition at line 54 of file mod_ocean_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), ocean_vars_restart_create(), and ocean_vars_setup().

54  logical, public :: ocean_restart_out_postfix_timelabel = .true.

◆ ocean_restart_out_title

character(len=h_mid), public mod_ocean_vars::ocean_restart_out_title = 'OCEAN restart'

Title of the output file.

Definition at line 55 of file mod_ocean_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), ocean_vars_restart_create(), and ocean_vars_setup().

55  character(len=H_MID), public :: ocean_restart_out_title = 'OCEAN restart'

◆ ocean_restart_out_dtype

character(len=h_short), public mod_ocean_vars::ocean_restart_out_dtype = 'DEFAULT'

REAL4 or REAL8.

Definition at line 56 of file mod_ocean_vars.F90.

Referenced by mod_admin_restart::admin_restart_setup(), ocean_vars_restart_create(), ocean_vars_restart_def_var(), and ocean_vars_setup().

56  character(len=H_SHORT), public :: ocean_restart_out_dtype = 'DEFAULT'

◆ ocean_temp

real(rp), dimension (:,:,:), allocatable, public mod_ocean_vars::ocean_temp

◆ ocean_salt

real(rp), dimension (:,:,:), allocatable, public mod_ocean_vars::ocean_salt

ocean salinity [PSU]

Definition at line 60 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_update(), mod_mkinit::ocean_setup(), ocean_vars_setup(), and mod_realinput::realinput_surface().

60  real(RP), public, allocatable :: ocean_salt (:,:,:)

◆ ocean_uvel

real(rp), dimension (:,:,:), allocatable, public mod_ocean_vars::ocean_uvel

ocean zonal velocity [m/s]

Definition at line 61 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_update(), mod_mkinit::ocean_setup(), ocean_vars_setup(), and mod_realinput::realinput_surface().

61  real(RP), public, allocatable :: ocean_uvel (:,:,:)

◆ ocean_vvel

real(rp), dimension (:,:,:), allocatable, public mod_ocean_vars::ocean_vvel

ocean meridional velocity [m/s]

Definition at line 62 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_update(), mod_mkinit::ocean_setup(), ocean_vars_setup(), and mod_realinput::realinput_surface().

62  real(RP), public, allocatable :: ocean_vvel (:,:,:)

◆ ocean_ocn_z0m

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_ocn_z0m

surface roughness length for momentum, open ocean [m]

Definition at line 64 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_mkinit::ocean_setup(), ocean_vars_history(), ocean_vars_restart_read(), ocean_vars_restart_write(), ocean_vars_setup(), ocean_vars_total(), and mod_realinput::realinput_surface().

64  real(RP), public, allocatable :: ocean_ocn_z0m (:,:)

◆ ocean_ice_temp

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_ice_temp

◆ ocean_ice_mass

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_ice_mass

◆ ocean_sfc_temp

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sfc_temp

ocean surface skin temperature [K]

Definition at line 69 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_mkinit::ocean_setup(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_restart_read(), ocean_vars_restart_write(), ocean_vars_setup(), ocean_vars_total(), and mod_realinput::realinput_surface().

69  real(RP), public, allocatable :: ocean_sfc_temp (:,:)
real(rp), dimension(:,:), allocatable, public ocean_sfc_temp
ocean surface skin temperature [K]

◆ ocean_sfc_albedo

real(rp), dimension (:,:,:,:), allocatable, public mod_ocean_vars::ocean_sfc_albedo

ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)

Definition at line 70 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_mkinit::ocean_setup(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_restart_read(), ocean_vars_restart_write(), ocean_vars_setup(), ocean_vars_total(), and mod_realinput::realinput_surface().

70  real(RP), public, allocatable :: ocean_sfc_albedo (:,:,:,:)
real(rp), dimension(:,:,:,:), allocatable, public ocean_sfc_albedo
ocean surface albedo (direct/diffuse,IR/near-IR/VIS) (0-1)

◆ ocean_sfc_z0m

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sfc_z0m

ocean surface roughness length for momentum [m]

Definition at line 71 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_mkinit::ocean_setup(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_restart_read(), ocean_vars_restart_write(), ocean_vars_setup(), ocean_vars_total(), and mod_realinput::realinput_surface().

71  real(RP), public, allocatable :: ocean_sfc_z0m (:,:)
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0m
ocean surface roughness length for momentum [m]

◆ ocean_sfc_z0h

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sfc_z0h

ocean surface roughness length for heat [m]

Definition at line 72 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_mkinit::ocean_setup(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_restart_read(), ocean_vars_restart_write(), ocean_vars_setup(), ocean_vars_total(), and mod_realinput::realinput_surface().

72  real(RP), public, allocatable :: ocean_sfc_z0h (:,:)
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0h
ocean surface roughness length for heat [m]

◆ ocean_sfc_z0e

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sfc_z0e

ocean surface roughness length for vapor [m]

Definition at line 73 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_mkinit::ocean_setup(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_restart_read(), ocean_vars_restart_write(), ocean_vars_setup(), ocean_vars_total(), and mod_realinput::realinput_surface().

73  real(RP), public, allocatable :: ocean_sfc_z0e (:,:)
real(rp), dimension(:,:), allocatable, public ocean_sfc_z0e
ocean surface roughness length for vapor [m]

◆ ocean_temp_t

real(rp), dimension (:,:,:), allocatable, public mod_ocean_vars::ocean_temp_t

tendency of OCEAN_OCN_TEMP

Definition at line 76 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), and ocean_vars_setup().

76  real(RP), public, allocatable :: ocean_temp_t (:,:,:)

◆ ocean_salt_t

real(rp), dimension (:,:,:), allocatable, public mod_ocean_vars::ocean_salt_t

tendency of OCEAN_OCN_SALT

Definition at line 77 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), and ocean_vars_setup().

77  real(RP), public, allocatable :: ocean_salt_t (:,:,:)

◆ ocean_uvel_t

real(rp), dimension (:,:,:), allocatable, public mod_ocean_vars::ocean_uvel_t

tendency of OCEAN_OCN_UVEL

Definition at line 78 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), and ocean_vars_setup().

78  real(RP), public, allocatable :: ocean_uvel_t (:,:,:)

◆ ocean_vvel_t

real(rp), dimension (:,:,:), allocatable, public mod_ocean_vars::ocean_vvel_t

tendency of OCEAN_OCN_VVEL

Definition at line 79 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), and ocean_vars_setup().

79  real(RP), public, allocatable :: ocean_vvel_t (:,:,:)

◆ ocean_ice_temp_t

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_ice_temp_t

tendency of OCEAN_ICE_TEMP

Definition at line 81 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), and ocean_vars_setup().

81  real(RP), public, allocatable :: ocean_ice_temp_t (:,:)

◆ ocean_ice_mass_t

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_ice_mass_t

tendency of OCEAN_ICE_MASS

Definition at line 82 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), and ocean_vars_setup().

82  real(RP), public, allocatable :: ocean_ice_mass_t (:,:)

◆ atmos_temp

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_temp

Definition at line 85 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

85  real(RP), public, allocatable :: atmos_temp (:,:)

◆ atmos_pres

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_pres

Definition at line 86 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

86  real(RP), public, allocatable :: atmos_pres (:,:)

◆ atmos_w

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_w

Definition at line 87 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

87  real(RP), public, allocatable :: atmos_w (:,:)

◆ atmos_u

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_u

Definition at line 88 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

88  real(RP), public, allocatable :: atmos_u (:,:)

◆ atmos_v

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_v

Definition at line 89 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

89  real(RP), public, allocatable :: atmos_v (:,:)

◆ atmos_dens

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_dens

Definition at line 90 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

90  real(RP), public, allocatable :: atmos_dens (:,:)

◆ atmos_qv

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_qv

Definition at line 91 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

91  real(RP), public, allocatable :: atmos_qv (:,:)

◆ atmos_pbl

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_pbl

Definition at line 92 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

92  real(RP), public, allocatable :: atmos_pbl (:,:)

◆ atmos_sfc_dens

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_sfc_dens

Definition at line 93 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

93  real(RP), public, allocatable :: atmos_sfc_dens (:,:)

◆ atmos_sfc_pres

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_sfc_pres

Definition at line 94 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

94  real(RP), public, allocatable :: atmos_sfc_pres (:,:)

◆ atmos_sflx_rad_dn

real(rp), dimension(:,:,:,:), allocatable, public mod_ocean_vars::atmos_sflx_rad_dn

Definition at line 95 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

95  real(RP), public, allocatable :: atmos_sflx_rad_dn(:,:,:,:)

◆ atmos_cossza

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_cossza

Definition at line 96 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

96  real(RP), public, allocatable :: atmos_cossza (:,:)

◆ atmos_sflx_rain

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_sflx_rain

Definition at line 97 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

97  real(RP), public, allocatable :: atmos_sflx_rain (:,:)

◆ atmos_sflx_snow

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::atmos_sflx_snow

Definition at line 98 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_get(), and ocean_vars_setup().

98  real(RP), public, allocatable :: atmos_sflx_snow (:,:)

◆ ocean_sflx_mw

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sflx_mw

ocean surface w-momentum flux [kg/m/s2]

Definition at line 101 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_setup(), and ocean_vars_total().

101  real(RP), public, allocatable :: ocean_sflx_mw (:,:)
real(rp), dimension(:,:), allocatable, public ocean_sflx_mw
ocean surface w-momentum flux [kg/m/s2]

◆ ocean_sflx_mu

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sflx_mu

ocean surface u-momentum flux [kg/m/s2]

Definition at line 102 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_setup(), and ocean_vars_total().

102  real(RP), public, allocatable :: ocean_sflx_mu (:,:)
real(rp), dimension(:,:), allocatable, public ocean_sflx_mu
ocean surface u-momentum flux [kg/m/s2]

◆ ocean_sflx_mv

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sflx_mv

ocean surface v-momentum flux [kg/m/s2]

Definition at line 103 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_setup(), and ocean_vars_total().

103  real(RP), public, allocatable :: ocean_sflx_mv (:,:)
real(rp), dimension(:,:), allocatable, public ocean_sflx_mv
ocean surface v-momentum flux [kg/m/s2]

◆ ocean_sflx_sh

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sflx_sh

ocean surface sensible heat flux [J/m2/s]

Definition at line 104 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_setup(), and ocean_vars_total().

104  real(RP), public, allocatable :: ocean_sflx_sh (:,:)
real(rp), dimension(:,:), allocatable, public ocean_sflx_sh
ocean surface sensible heat flux [J/m2/s]

◆ ocean_sflx_lh

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sflx_lh

ocean surface latent heat flux [J/m2/s]

Definition at line 105 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_setup(), and ocean_vars_total().

105  real(RP), public, allocatable :: ocean_sflx_lh (:,:)
real(rp), dimension(:,:), allocatable, public ocean_sflx_lh
ocean surface latent heat flux [J/m2/s]

◆ ocean_sflx_qtrc

real(rp), dimension (:,:,:), allocatable, public mod_ocean_vars::ocean_sflx_qtrc

ocean surface tracer flux [kg/m2/s]

Definition at line 106 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_setup(), and ocean_vars_total().

106  real(RP), public, allocatable :: ocean_sflx_qtrc (:,:,:)
real(rp), dimension(:,:,:), allocatable, public ocean_sflx_qtrc
ocean surface tracer flux [kg/m2/s]

◆ ocean_u10

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_u10

ocean surface velocity u at 10m [m/s]

Definition at line 107 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), and ocean_vars_setup().

107  real(RP), public, allocatable :: ocean_u10 (:,:)
real(rp), dimension(:,:), allocatable, public ocean_u10
ocean surface velocity u at 10m [m/s]

◆ ocean_v10

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_v10

ocean surface velocity v at 10m [m/s]

Definition at line 108 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), and ocean_vars_setup().

108  real(RP), public, allocatable :: ocean_v10 (:,:)
real(rp), dimension(:,:), allocatable, public ocean_v10
ocean surface velocity v at 10m [m/s]

◆ ocean_t2

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_t2

ocean surface temperature at 2m [K]

Definition at line 109 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), and ocean_vars_setup().

109  real(RP), public, allocatable :: ocean_t2 (:,:)
real(rp), dimension(:,:), allocatable, public ocean_t2
ocean surface temperature at 2m [K]

◆ ocean_q2

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_q2

ocean surface water vapor at 2m [kg/kg]

Definition at line 110 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_surface_set(), and ocean_vars_setup().

110  real(RP), public, allocatable :: ocean_q2 (:,:)
real(rp), dimension(:,:), allocatable, public ocean_q2
ocean surface water vapor at 2m [kg/kg]

◆ ocean_sflx_g

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sflx_g

ocean surface water heat flux [J/m2/s]

Definition at line 113 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), mod_ocean_driver::ocean_surface_set(), ocean_vars_history(), ocean_vars_setup(), and ocean_vars_total().

113  real(RP), public, allocatable :: ocean_sflx_g (:,:)
real(rp), dimension(:,:), allocatable, public ocean_sflx_g
ocean surface water heat flux [J/m2/s]

◆ ocean_sflx_water

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sflx_water

ocean surface liquid water flux [kg/m2/s]

Definition at line 114 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), ocean_vars_history(), ocean_vars_setup(), and ocean_vars_total().

114  real(RP), public, allocatable :: ocean_sflx_water (:,:)

◆ ocean_sflx_ice

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_sflx_ice

ocean surface ice water flux [kg/m2/s]

Definition at line 115 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), ocean_vars_history(), ocean_vars_setup(), and ocean_vars_total().

115  real(RP), public, allocatable :: ocean_sflx_ice (:,:)

◆ ocean_ice_frac

real(rp), dimension (:,:), allocatable, public mod_ocean_vars::ocean_ice_frac

area fraction of sea ice [1]

Definition at line 118 of file mod_ocean_vars.F90.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency(), mod_ocean_driver::ocean_driver_update(), ocean_vars_history(), ocean_vars_restart_read(), ocean_vars_setup(), and ocean_vars_total().

118  real(RP), public, allocatable :: ocean_ice_frac (:,:)