Coordinates of the grid and associated information#
The size of the grid (number of latitudes, longitudes and vertical levels) is chosen when compiling LMDz-SACS, so that is it embedded in the executable.
The input files are then read based on the size of the grid: there is no check on the actual values of the coordinates. Caution is then required to ensure that different grids with the same number of latitudes/longitudes/vertical levels are not used for various files, particularly for the mass fluxes in the same simulation.
vcoord.nc#
The actual longitudes and latitudes are read in vcoord.nc by subroutine dynstate1
(in dyn3d/dynstate0.F90
).
The format of vcoord.nc is as follows, with NLON the number of cells in longitude, NLAT the number of cells in latitude, NLEV the number of vertical layers e.g. for a grid defined as 96x95x39
in compile_dispersion
, NLON = 96, NLAT = 95, NLEV=39.
netcdf vcoord {
dimensions:
index = 100 ;
rlonu = NLON+1 ;
rlatu = NLAT+1 ;
rlonv = NLON+1 ;
rlatv = NLAT ;
sigs = NLEV ;
sig = NLEV+1 ;
temps = UNLIMITED ; // (1 currently)
variables:
double controle(index) ;
controle:title = "Parametres de controle" ;
double rlonu(rlonu) ;
rlonu:title = "Longitudes des points U" ;
double rlatu(rlatu) ;
rlatu:title = "Latitudes des points U" ;
double rlonv(rlonv) ;
rlonv:title = "Longitudes des points V" ;
double rlatv(rlatv) ;
rlatv:title = "Latitudes des points V" ;
double ap(sig) ;
ap:title = "Coefficient A pour hybride" ;
double bp(sig) ;
bp:title = "Coefficient B pour hybride" ;
double cu(rlatu, rlonu) ;
cu:title = "Coefficient de passage pour U" ;
double cv(rlatv, rlonv) ;
cv:title = "Coefficient de passage pour V" ;
double aire(rlatu, rlonv) ;
aire:title = "Aires de chaque maille" ;
// global attributes:
:title = "Fichier demarrage dynamique" ;
:NCO = "4.3.1" ;
:nco_openmp_thread_number = 1 ;
}
- The size of index (100) is the maximum size of the controle variable which contains various parameters relative to the grid or otherwise and used to initialize variables and/or check against other readings:
NLON
NLAT
NLEV
day_ini = ??? a un rapport avec irec lu dans la chimie = le numero du jour dans l’année? Mais pourquoi 400 alors??? XXX
year_ini: a initial year - not used in the off-line code
rad: the radius of the planet in meters, as an integer i.e. 6400000 for the Earth TO CHECK
omeg: the angular velocity of the planet i.e. 7.272205e-05 rad/s for the Earth
g: the gravitational acceleration on the planet’s surface i.e 9.8 m/s2 for the Earth
cpp: the heat capacity of the atmosphere as an ideal gas i.e. 1004.70885 J/K/kg for air for the Earth
kappa: XXXX i.e. 0.285716 for air for the Earth
daysec: the number of seconds in a solar day i.e. 86400 for the Earth
dtvr: the time step on the on-line model in s.
etot0: XX?XX not used in the off-line code
ptot0: XX?XX not used in the off-line code
ztot0: XX?XX not used in the off-line code
stot0: XX?XX not used in the off-line code
ang0: XX?XX not used in the off-line code
pa: XX?XX not used in the off-line code
preff: the standard atmosphere’s pressure at the surface i.e. 101325 Pa on the Earth
clon: rate of the zoom of the grid along the longitude. 0 for a regular grid (see routine dyn3d/inigeom.F90)
clat: rate of the zoom of the grid along the latitude. 0 for a regular grid (see routine dyn3d/inigeom.F90)
grossismx: XX? to do with the zoom?XX. 1 for a regular grid.
grossismy:XX? to do with the zoom?XX. 1 for a regular grid.
an indicator 0 for a regular grid, 1 for a grid with a zoom
dzoomx: extension of the zoom in longitude - only required if zoomed grid
dzoomy: extension of the zoom in latitude - only required if zoomed grid
an indicator for ysinus XX?XX - only required if regular grid
taux: the steepness of the transition for the zoom in longitude - only required if zoomed grid
tauy: the steepness of the transition for the zoom in longitude - only required if zoomed grid
Other variables can be found in vcoord.nc if the file is also to serve for initial conditions.