FV3 Bundle
qg_configs.F90
Go to the documentation of this file.
1 ! (C) Copyright 2009-2016 ECMWF.
2 !
3 ! This software is licensed under the terms of the Apache Licence Version 2.0
4 ! which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
5 ! In applying this licence, ECMWF does not waive the privileges and immunities
6 ! granted to it by virtue of its status as an intergovernmental organisation nor
7 ! does it submit to any jurisdiction.
8 
9 !> Structure holding configuration variables for the QG model
10 
11 module qg_configs
12 
13 use kinds
14 implicit none
15 private
16 public :: qg_config
17 public :: qg_config_registry
18 
19 !> Fortran derived type to hold configuration data for the QG model
20 type :: qg_config
21  integer :: nx !< Zonal grid dimension
22  integer :: ny !< Meridional grid dimension
23  ! dimensional parameters
24  real(kind=kind_real) :: dt0 !< dimensional time (seconds)
25  real(kind=kind_real) :: d1 !< depth of top layer (m)
26  real(kind=kind_real) :: d2 !< depth of bottom layer (m)
27  real(kind=kind_real) :: deltax0 !< zonal grid spacing (m)
28  real(kind=kind_real) :: deltay0 !< meridional grid spacing (m)
29  ! non-dimensional parameters
30  real(kind=kind_real) :: dt !< non-dimensional time
31  real(kind=kind_real) :: f1 !< Coefficient of PV operator
32  real(kind=kind_real) :: f2 !< Coefficient of PV operator
33  real(kind=kind_real) :: deltax !< non-dimensional zonal grid spacing
34  real(kind=kind_real) :: deltay !< non-dimensional meridional grid spacing
35  real(kind=kind_real) :: rsmax !< max non-dimensional height of orography
36  real(kind=kind_real), allocatable :: rs(:,:) !< non-dimensional orography
37 end type qg_config
38 
39 #define LISTED_TYPE qg_config
40 
41 !> Linked list interface - defines registry_t type
42 #include "oops/util/linkedList_i.f"
43 
44 !> Global registry
45 type(registry_t) :: qg_config_registry
46 
47 ! ------------------------------------------------------------------------------
48 contains
49 ! ------------------------------------------------------------------------------
50 !> Linked list implementation
51 #include "oops/util/linkedList_c.f"
52 
53 end module qg_configs
Fortran derived type to hold configuration data for the QG model.
Definition: qg_configs.F90:20
type(registry_t), public qg_config_registry
Linked list interface - defines registry_t type.
Definition: qg_configs.F90:45
Structure holding configuration variables for the QG model.
Definition: qg_configs.F90:11