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.