123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- !#################################################################
- !
- ! Grids. This file is automaticaly generated with the PYCASSO script, and put
- ! here as an example. It is for a no-zoom, 6x4 simulation.
- !
- !### macro's #####################################################
- !
- #include "tm5.inc"
- !
- !#################################################################
- module dims_grid
- implicit none
-
- ! --- in/out ------------------------------
-
- public
-
-
- ! --- const -------------------------------
-
-
- ! Basic model definition: resolution etc. including some routines
- ! to fill the data structure.
- ! basic (coarsest) resolution in degrees for x and y (dz default 1.0)
- real, parameter :: dx = 6.0
- real, parameter :: dy = 4.0
- real, parameter :: dz = 1.0
- ! Maximum number of zoom regions,
- ! including the basic (coarsest grid) region;
- ! arrays are allocated for each of these regions:
- integer, parameter :: nregions_max = 1
-
- ! extra grid:
- integer, parameter :: nregions_all = nregions_max + 1
- integer, parameter :: iglbsfc = nregions_max + 1
- ! Actual number of zoom regions,
- ! during testing this could be set to 1 to quickly run the model.
- integer, parameter :: nregions = nregions_max
- ! region_name is used to recognise the METEO files
- ! region_name is also used in the HDF output file name
- ! region 1 should always be the global domain
- integer, parameter :: len_region_name = 10
- character(len=len_region_name), parameter :: region_name(0:nregions_all) = &
- (/ 'globe ', 'glb600x400', 'glb100x100'/)
- ! coordinates (in degrees) for each region:
- ! xcyc = 1 if the region has cyclic x-boundary conditions
- ! touch_np = 1 if region touches the north pole
- ! touch_sp = 1 if region touches the south pole
- ! xbeg : the westmost border of the region
- ! xend : the eastmost border of the region
- ! ybeg : the southmost border of the region
- ! yend : the northmost border of the region
- integer, parameter :: xcyc (0:nregions_all) = (/ 1, 1, 1 /)
- integer, parameter :: touch_np(0:nregions_all) = (/ 1, 1, 1 /)
- integer, parameter :: touch_sp(0:nregions_all) = (/ 1, 1, 1 /)
- integer, parameter :: xbeg (0:nregions_all) = (/ -180, -180, -180 /)
- integer, parameter :: xend (0:nregions_all) = (/ 180, 180, 180 /)
- integer, parameter :: ybeg (0:nregions_all) = (/ -90, -90, -90 /)
- integer, parameter :: yend (0:nregions_all) = (/ 90, 90, 90 /)
- integer, parameter :: im (0:nregions_all) = (/ 1, 60, 360 /)
- integer, parameter :: jm (0:nregions_all) = (/ 1, 45, 180 /)
- ! maximum refinement factor (can be arbitrary in principle):
- integer, parameter :: maxref = 10
- ! refinement factors for each region (<= maxref)
- ! tref may differ from xref/yref. In the current
- ! implementation it should be 1,2,4,6,...
- integer, parameter :: xref(0:nregions_max) = (/ 1, 1 /)
- integer, parameter :: yref(0:nregions_max) = (/ 1, 1 /)
- integer, parameter :: zref(0:nregions_max) = (/ 1, 1 /)
- integer, parameter :: tref(0:nregions_max) = (/ 1, 1 /)
- ! Define the parent of each region.
- ! Global region 1 should have parent 0 (globe single cell);
- ! global surface region should have parent 1 (global region).
- integer, parameter :: parent(1:nregions_all) = (/ 0, 1 /)
- end module dims_grid
|