-
Notifications
You must be signed in to change notification settings - Fork 3
Feature/doc ug #563
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Feature/doc ug #563
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
edb8d84
Improve the position of tables
ywkawai 5878e5b
Add PBL scheme documentation and configuration details
ywkawai 9e06adb
Add detailed documentation for the radiation scheme and its configura…
ywkawai 3cf507e
Add documentation for ocean model configuration and parameters
ywkawai 68316ff
Fix typos and improve clarity in PBL scheme documentation
ywkawai 1f073d9
Update the documentation of model structure
ywkawai File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| %Setting the physical process | ||
|
|
||
| \section{Planetary Boundary Layer Scheme} \label{sec:basic_usel_pbl} | ||
| %------------------------------------------------------ | ||
| The planetary boundary layer (PBL) scheme parameterizes vertical turbulent mixing in the atmospheric boundary layer. | ||
| It is intended for Reynolds-averaged Navier--Stokes (RANS) simulations. | ||
| The PBL process is configured by two namelists. | ||
| First, the PBL component is enabled by | ||
| \nmitem{ATMOS_PHY_BL_DO} in \namelist{PARAM_ATMOS}. | ||
| Then, the PBL scheme and its calling interval are specified in \namelist{PARAM_ATMOS_PHY_BL}. | ||
|
|
||
| \editboxtwo{ | ||
| \verb|&PARAM_ATMOS | & \\ | ||
| \verb|ATMOS_PHY_BL_DO = .true.,| & ; Enable planetary boundary layer parameterization \\ | ||
| \verb|/ | & \\ | ||
| } | ||
| \editboxtwo{ | ||
| \verb|&PARAM_ATMOS_PHY_BL | & \\ | ||
| \verb|BL_TYPE = "MYNN_LEVEL2",| & ; Choose from PBL schemes in Table \ref{tab:bl_scheme_list} \\ | ||
| \verb|TIME_DT = 600.D0,| & ; Time interval of PBL process \\ | ||
| \verb|TIME_DT_UNIT = "SEC",| & ; Unit for \verb|TIME_DT| \\ | ||
| \verb|/ | & \\ | ||
| } | ||
|
|
||
| The available choices of \nmitem{BL_TYPE} are listed in Table \ref{tab:bl_scheme_list}. | ||
|
|
||
| %%%%%%%%%%% | ||
| \begin{table}[htbp] | ||
| \caption{Planetary boundary layer schemes available in \scaledg.} | ||
| \label{tab:bl_scheme_list} | ||
| \begin{center} | ||
| \begin{tabularx}{150mm}{lXX} | ||
| \hline | ||
| \rowcolor[gray]{0.9} | ||
| \verb|BL_TYPE| & Description & Reference \\ | ||
| \hline | ||
| \verb|MYNN_LEVEL2| & MYNN level 2 scheme & \cite{Nakanishi2006} \\ | ||
| \hline | ||
| \end{tabularx} | ||
| \end{center} | ||
| \end{table} | ||
| %%%%%%%%%%% | ||
|
|
||
| %------------------------------------------------------ | ||
| \subsection{MYNN level 2 scheme} | ||
| \label{subsec:physics_bl_mynn} | ||
| The current implementation provides the Mellor--Yamada--Nakanishi--Niino (MYNN) level 2 turbulence closure scheme\cite{Nakanishi2006}. | ||
| The MYNN level 2 scheme diagnoses turbulent diffusion coefficients for momentum and scalars from the local stability of the atmosphere and applies vertical turbulent mixing within the planetary boundary layer. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,156 @@ | ||
| %------------------------------------------------------------------------------- | ||
| \section{Ocean model} \label{sec:basic_usel_ocean} | ||
| %------------------------------------------------------------------------------- | ||
|
|
||
| The ocean component is activated and configured in \namelist{PARAM_OCEAN}. | ||
| The computational mesh for the ocean component is selected by \nmitem{OCEAN_MESH_TYPE}, | ||
| and the ocean dynamics is enabled by \nmitem{OCEAN_DYN_DO}. | ||
|
|
||
| \editboxtwo{ | ||
| \verb|&PARAM_OCEAN | & \\ | ||
| \verb|ACTIVATE_FLAG = .true.,| & ; Enable the ocean component \\ | ||
| \verb|OCEAN_MESH_TYPE = "GLOBAL",| & ; Type of ocean mesh: REGIONAL or GLOBAL \\ | ||
| \verb|OCEAN_DYN_DO = .true.,| & ; Enable ocean dynamics \\ | ||
| \verb|TIME_DT = 3600.D0,| & ; Time step of the ocean component \\ | ||
| \verb|TIME_DT_UNIT = "SEC",| & ; Unit for \verb|TIME_DT| \\ | ||
| \verb|/ | & \\ | ||
| } | ||
|
|
||
| \nmitem{OCEAN_MESH_TYPE} can be set to \verb|"REGIONAL"| or \verb|"GLOBAL"|. | ||
|
|
||
|
|
||
| %------------------------------------------------------------------------------- | ||
| \subsection{Setting grids for ocean model} | ||
| \label{subsec:ocean_mesh} | ||
| %------------------------------------------------------------------------------- | ||
|
|
||
| The computational grid of the ocean model is configured in \namelist{PARAM_OCEAN_MESH}. | ||
| The available parameters depend on the mesh type selected by \nmitem{OCEAN_MESH_TYPE} in \namelist{PARAM_OCEAN}. | ||
|
|
||
| At present, the horizontal mesh configuration of the ocean component must be identical to that of the atmospheric component. | ||
| Therefore, the horizontal domain size, MPI decomposition, number of horizontal elements, and horizontal polynomial order should be specified consistently for both components. | ||
| This restriction arises from the present atmosphere--ocean coupling, | ||
| which exchanges two-dimensional fields without horizontal remapping. | ||
|
|
||
|
|
||
| %------------------------------------------------------------------------ | ||
| \subsubsection{Regional mesh} | ||
| %------------------------------------------------------------------------ | ||
|
|
||
| For the regional ocean model using the Cartesian coordinates, | ||
| the computational domain and DG mesh are specified in \namelist{PARAM_OCEAN_MESH}. | ||
|
|
||
| \editboxtwo{ | ||
| \verb|&PARAM_OCEAN_MESH | & \\ | ||
| \verb|NprcX = 1,| & ; Number of MPI processes in the x-direction \\ | ||
| \verb|NprcY = 1,| & ; Number of MPI processes in the y-direction \\ | ||
| \verb|NeX = 2,| & ; Number of elements in x per MPI process \\ | ||
| \verb|NeY = 2,| & ; Number of elements in y per MPI process \\ | ||
| \verb|NeZ = 1,| & ; Number of vertical elements \\ | ||
| \verb|dom_xmin = 0.D0,| & ; Minimum x-coordinate [m] \\ | ||
| \verb|dom_xmax = 100.D3,| & ; Maximum x-coordinate [m] \\ | ||
| \verb|dom_ymin = 0.D0,| & ; Minimum y-coordinate [m] \\ | ||
| \verb|dom_ymax = 100.D3,| & ; Maximum y-coordinate [m] \\ | ||
| \verb|dom_zmin = 0.D0,| & ; Minimum vertical coordinate [m] \\ | ||
| \verb|dom_zmax = 50.D0,| & ; Maximum vertical coordinate [m] \\ | ||
| \verb|PolyOrder_h = 2,| & ; Horizontal polynomial order \\ | ||
| \verb|PolyOrder_v = 1,| & ; Vertical polynomial order \\ | ||
| \verb|/ | & \\ | ||
| } | ||
|
|
||
| An arbitrary non-uniform element spacing can also be specified in the vertical direction by giving the locations of all element boundaries using \nmitem{FZ}. | ||
| \editboxtwo{ | ||
| \verb|&PARAM_OCEAN_MESH | & \\ | ||
| \verb|FZ = 0.D0, 10.D0, 50.D0,| & ; Vertical element boundaries [m] \\ | ||
| \verb|/ | & \\ | ||
| } | ||
|
|
||
| %------------------------------------------------------------------------ | ||
| \subsubsection{Global mesh} | ||
| %------------------------------------------------------------------------ | ||
|
|
||
| For the global ocean model using the cubed-sphere coordinates, | ||
| the grid is also configured in \namelist{PARAM_OCEAN_MESH}. | ||
|
|
||
| \editboxtwo{ | ||
| \verb|&PARAM_OCEAN_MESH | & \\ | ||
| \verb|Nprc = 6,| & ; Total number of MPI processes \\ | ||
| \verb|NeGX = 6,| & ; Number of elements in each cubed-sphere panel \\ | ||
| \verb|NeGY = 6,| & ; Number of elements in each cubed-sphere panel \\ | ||
| \verb|NeZ = 1,| & ; Number of vertical elements \\ | ||
| \verb|PolyOrder_h = 2,| & ; Horizontal polynomial order \\ | ||
| \verb|PolyOrder_v = 1,| & ; Vertical polynomial order \\ | ||
| \verb|dom_zmin = 0.D0,| & ; Minimum vertical coordinate [m] \\ | ||
| \verb|dom_zmax = 50.D0,| & ; Maximum vertical coordinate [m] \\ | ||
| \verb|SHALLOW_OCN_APPROX_FLAG = .true.,| & ; Apply shallow-ocean approximation \\ | ||
| \verb|/ | & \\ | ||
| } | ||
|
|
||
| %------------------------------------------------------------------------------- | ||
| \subsection{Ocean-model configurations} | ||
| \label{subsec:ocean_model_config} | ||
| %------------------------------------------------------------------------------- | ||
|
|
||
| Currently, SCALE-DG provides two ocean-model options: the slab ocean model and a fixed sea-surface temperature option. | ||
| The slab ocean model predicts the mixed-layer temperature by solving the heat budget of a prescribed mixed layer, | ||
| while the fixed-temperature option keeps the initial sea-surface temperature unchanged throughout the simulation. | ||
| These are configured in \namelist{PARAM_OCEAN_DYN}. | ||
|
|
||
| A typical configuration is | ||
| %% | ||
| \editboxtwo{ | ||
| \verb|&PARAM_OCEAN_DYN | & \\ | ||
| \verb|EQS_TYPE = "SLAB",| & ; Ocean model; SLAB or FIXED\_INIT\_TEMP \\ | ||
| \verb|TIME_DT = 3600.D0,| & ; Time interval of ocean dynamics \\ | ||
| \verb|TIME_DT_UNIT = "SEC",| & ; Unit for \verb|TIME_DT| \\ | ||
| \verb|/ | & \\ | ||
| } | ||
| When \verb|EQS_TYPE="SLAB"| is selected, the ocean temperature evolves according to the heat budget of the slab ocean. | ||
| When \verb|EQS_TYPE="FIXED_INIT_TEMP"| is selected, the initially specified ocean temperature is kept fixed. | ||
| For the slab ocean model, the temperature is advanced with a forward Euler method using \nmitem{TIME_DT}. | ||
|
|
||
|
|
||
| \subsubsection{Note} | ||
| For the slab ocean model, the ocean temperature is assumed to be vertically uniform. | ||
| Therefore, a zeroth-order polynomial would be the natural choice in the vertical direction. | ||
| However, the current mesh implementation does not support \verb|PolyOrder_v=0|. | ||
| Thus, \nmitem{PolyOrder_v} must be set to one or larger. | ||
|
|
||
| Although multiple vertical nodal values are therefore retained redundantly, | ||
| the slab-ocean temperature tendency is applied uniformly to all vertical degrees of freedom, so that the slab-ocean calculation is effectively vertically uniform. | ||
|
|
||
| %------------------------------------------------------------------------------- | ||
| \subsection{Surface fluxes and atmosphere--ocean exchange} | ||
| \label{subsec:ocean_surface_flux} | ||
| %------------------------------------------------------------------------------- | ||
|
|
||
|
|
||
| For the surface-flux calculation, the ocean component receives the near-surface atmospheric state from the atmosphere through the coupler, | ||
| including density, pressure, temperature, wind velocity, specific humidity, and the thickness of the lowest atmospheric layer. | ||
| The downward direct shortwave and downward diffuse longwave radiative fluxes are also passed from the atmospheric radiation component to the ocean component. | ||
|
|
||
|
|
||
| Using these atmospheric quantities together with the ocean surface temperature, | ||
| the ocean component calculates the surface momentum, sensible-heat, latent-heat, and water-vapor fluxes using surface-flux schemes. | ||
| The ocean surface temperature and these surface fluxes are then returned | ||
| to the atmospheric component through the coupler and used as the lower boundary condition of the atmosphere. | ||
|
|
||
|
|
||
| In the current SCALE-DG, the ocean surface fluxes are calculated using the simple bulk surface-flux scheme described in Section~\ref{subsec:physics_sf_simple}. | ||
| The same module and its parameters are shared with the atmospheric surface-flux component. | ||
| Therefore, the atmospheric surface-flux component should be enabled | ||
| and the simple bulk scheme should be selected as follows: | ||
| \editboxtwo{ | ||
| \verb|&PARAM_ATMOS | & \\ | ||
| \verb|ATMOS_PHY_SF_DO = .true.,| & ; Enable the surface-flux component \\ | ||
| \verb|/ | & \\ | ||
| } | ||
| \editboxtwo{ | ||
| \verb|&PARAM_ATMOS_PHY_SFC | & \\ | ||
| \verb|SFCFLX_TYPE = "SIMPLE",| & ; Use the simple bulk surface-flux scheme \\ | ||
| \verb|TIME_DT = 600.D0,| & ; Time interval of the atmospheric surface process \\ | ||
| \verb|TIME_DT_UNIT = "SEC",| & ; Unit for \verb|TIME_DT| \\ | ||
| \verb|/ | & \\ | ||
| } | ||
| The parameters of the simple bulk surface-flux scheme are specified in \namelist{PARAM_ATMOS_PHY_SF_SIMPLE}. | ||
| See Section~\ref{subsec:physics_sf_simple} for details. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.