|
FE-Project
|
Derived type to provide a driver of dynamical core with the atmospheric nonhydrostatic equations. More...
Public Member Functions | |
| procedure | init (this, eqs_type_name, tint_type_name, dtsec, sponge_layer_flag, modal_filter_flag, hide_mpi_comm_flag, model_mesh3d) |
| Initialize a object to provide a driver of atmospheric dynamical core. | |
| procedure | final (this) |
| Finalize a object to provide a driver of atmospheric dynamical core. | |
| procedure | update (this, prog_vars, aux_vars, phytends, dens_trc, dens0_trc, mflx_x_tavg, mflx_y_tavg, mflx_z_tavg, alph_dens_m_tavg, alph_dens_p_tavg, coriolis, element_operation, dx, dy, dz, sx, sy, sz, lift, mesh3d) |
| Update the prognostic variables for the non-hydrostatic 3D atmospheric dynamical core. | |
| procedure | is_thermvar_rhot (this) |
| Get a flag whether density-weighted potential temperature is used for a prognostic thermodynamic variable. | |
| procedure | calc_pressure (this, pres, prog_vars, aux_vars) |
| Calculate the pressure using the prognostic variables with the non-hydrostatic 3D atmospheric dynamical core. | |
| procedure | update_therm_hyd (this, aux_vars) |
| Update the hydrostatic part of thermodynamic prognostic variable (THERM_hyd) | |
| procedure | update_phyd_hgrad (this, pres_hyd, pres_hyd_ref, mesh3d, element_operation) |
| Calculate the horizontal gradient of the hydrostatic pressure. | |
Public Attributes | |
| integer | eqs_typeid |
| Type ID of equation system. | |
| logical | entot_conserve_scheme_flag |
| Flag whether total energy is a prognostic variable. | |
| logical | modalfilter_flag |
| Flag wheter modal filtering is applied. | |
| type(modalfilter) | modal_filter_3d |
| type(modalfilter) | modal_filter_v1d |
| type(modalfilter) | modal_filterh1d |
| type(modalfilter) | modal_filterv1d |
| type(atmdynspongelayer) | sponge_layer |
| logical | spongelayer_flag |
| Flag wheter sponge layer is applied. | |
| type(meshfield3d), dimension(:), allocatable | aux_dynvars3d |
| type(modelvarmanager) | auxdynvar3d_manager |
| integer | auxdynvar3d_commid |
| type(atmdynbnd) | boundary_cond |
| logical | hevi_flag |
| Flag wheter HEVI is applied. | |
| logical | hevi_use_lapack_flag |
| Flag wheter lapack is used in HEVI solver. | |
| logical | hide_mpi_comm_flag |
| Flag wheter hiding MPI communication is performed. | |
| Public Attributes inherited from scale_atm_dyn_dgm_driver_base::atmdyndgmdriver_base | |
| integer | progvar_num |
| Number of prognostic variables. | |
| type(timeint_rk), dimension(:), allocatable | tint |
| Objects with temporal scheme. | |
Static Public Attributes | |
| procedure(atm_dyn_nonhydro3d_cal_vi), pointer, nopass | cal_vi => null() |
| procedure(atm_dyn_nonhydro3d_cal_tend_ex), pointer, nopass | cal_tend_ex => null() |
| procedure(atm_dyn_nonhydro3d_final), pointer, nopass | dynsolver_final => null() |
Derived type to provide a driver of dynamical core with the atmospheric nonhydrostatic equations.
Definition at line 275 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| procedure scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::init | ( | class(atmdyndgmdriver_nonhydro3d), intent(inout) | this, |
| character(len=*), intent(in) | eqs_type_name, | ||
| character(len=*), intent(in) | tint_type_name, | ||
| real(dp), intent(in) | dtsec, | ||
| logical, intent(in) | sponge_layer_flag, | ||
| logical, intent(in) | modal_filter_flag, | ||
| logical, intent(in) | hide_mpi_comm_flag, | ||
| class(modelmesh3d), intent(inout), target | model_mesh3d ) |
Initialize a object to provide a driver of atmospheric dynamical core.
| eqs_type_name | Name of governing equation |
| tint_type_name | Name of temporal scheme |
| sponge_layer_flag | Flag whether sponge layer is applied |
| modal_filter_flag | Flag whether modal filtering is applied |
| hide_mpi_comm_flag | Flag whether hiding MPI communication is performed |
| model_mesh3D | Object managing 3D model mesh |
Definition at line 310 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| procedure scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::final | ( | class(atmdyndgmdriver_nonhydro3d), intent(inout) | this | ) |
Finalize a object to provide a driver of atmospheric dynamical core.
Definition at line 311 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| procedure scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::update | ( | class(atmdyndgmdriver_nonhydro3d), intent(inout) | this, |
| class(modelvarmanager), intent(inout) | prog_vars, | ||
| class(modelvarmanager), intent(inout) | aux_vars, | ||
| class(modelvarmanager), intent(inout) | phytends, | ||
| type(meshfield3d), intent(inout) | dens_trc, | ||
| type(meshfield3d), intent(inout) | dens0_trc, | ||
| type(meshfield3d), intent(inout) | mflx_x_tavg, | ||
| type(meshfield3d), intent(inout) | mflx_y_tavg, | ||
| type(meshfield3d), intent(inout) | mflx_z_tavg, | ||
| type(meshfield3d), intent(inout) | alph_dens_m_tavg, | ||
| type(meshfield3d), intent(inout) | alph_dens_p_tavg, | ||
| class(meshfield2d), intent(in) | coriolis, | ||
| class(elementoperationbase3d), intent(in) | element_operation, | ||
| type(sparsemat), intent(in) | dx, | ||
| type(sparsemat), intent(in) | dy, | ||
| type(sparsemat), intent(in) | dz, | ||
| type(sparsemat), intent(in) | sx, | ||
| type(sparsemat), intent(in) | sy, | ||
| type(sparsemat), intent(in) | sz, | ||
| type(sparsemat), intent(in) | lift, | ||
| class(meshbase3d), intent(in), target | mesh3d ) |
Update the prognostic variables for the non-hydrostatic 3D atmospheric dynamical core.
Definition at line 312 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| procedure scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::is_thermvar_rhot | ( | class(atmdyndgmdriver_nonhydro3d), intent(inout) | this | ) |
Get a flag whether density-weighted potential temperature is used for a prognostic thermodynamic variable.
Definition at line 313 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| procedure scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::calc_pressure | ( | class(atmdyndgmdriver_nonhydro3d), intent(in) | this, |
| class(meshfield3d), intent(inout) | pres, | ||
| class(modelvarmanager), intent(inout) | prog_vars, | ||
| class(modelvarmanager), intent(inout) | aux_vars ) |
Calculate the pressure using the prognostic variables with the non-hydrostatic 3D atmospheric dynamical core.
Definition at line 314 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| procedure scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::update_therm_hyd | ( | class(atmdyndgmdriver_nonhydro3d), intent(in) | this, |
| class(modelvarmanager), intent(inout) | aux_vars ) |
Update the hydrostatic part of thermodynamic prognostic variable (THERM_hyd)
Definition at line 315 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| procedure scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::update_phyd_hgrad | ( | class(atmdyndgmdriver_nonhydro3d), intent(inout) | this, |
| class(meshfield3d), intent(in) | pres_hyd, | ||
| class(meshfield3d), intent(in) | pres_hyd_ref, | ||
| class(meshbase3d), intent(in), target | mesh3d, | ||
| class(elementoperationbase3d), intent(in) | element_operation ) |
Calculate the horizontal gradient of the hydrostatic pressure.
Definition at line 316 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| integer scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::eqs_typeid |
Type ID of equation system.
Definition at line 276 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| logical scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::entot_conserve_scheme_flag |
Flag whether total energy is a prognostic variable.
Definition at line 277 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| logical scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::modalfilter_flag |
Flag wheter modal filtering is applied.
Definition at line 280 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| type(modalfilter) scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::modal_filter_3d |
Definition at line 281 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| type(modalfilter) scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::modal_filter_v1d |
Definition at line 282 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| type(modalfilter) scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::modal_filterh1d |
Definition at line 284 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| type(modalfilter) scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::modal_filterv1d |
Definition at line 285 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| type(atmdynspongelayer) scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::sponge_layer |
Definition at line 288 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| logical scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::spongelayer_flag |
Flag wheter sponge layer is applied.
Definition at line 289 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| type(meshfield3d), dimension(:), allocatable scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::aux_dynvars3d |
Definition at line 292 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| type(modelvarmanager) scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::auxdynvar3d_manager |
Definition at line 293 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| integer scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::auxdynvar3d_commid |
Definition at line 294 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| type(atmdynbnd) scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::boundary_cond |
Definition at line 297 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| logical scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::hevi_flag |
Flag wheter HEVI is applied.
Definition at line 300 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| logical scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::hevi_use_lapack_flag |
Flag wheter lapack is used in HEVI solver.
Definition at line 301 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
| logical scale_atm_dyn_dgm_driver_nonhydro3d::atmdyndgmdriver_nonhydro3d::hide_mpi_comm_flag |
Flag wheter hiding MPI communication is performed.
Definition at line 304 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
|
static |
Definition at line 306 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
|
static |
Definition at line 307 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.
|
static |
Definition at line 308 of file scale_atm_dyn_dgm_driver_nonhydro3d.F90.