Input/Output Model Datasets¶
Input Datasets¶
setParFree.json
in order to specify the values of path/filename, dimensions/variables
name and characteristics of data.
Bathymetry Dataset¶
set_dataDownlBat
of the configuration file.
The data are distributed on a curvilinear spherical grid (regular or not) within a region containing the nested domain. An example of CDL text representation of this file is shown in Listing 5.1.
netcdf bathymetry_filename {
dimensions:
x = 300;
y = 200;
variables: \\
float lon(y,x);
lon: units = "degrees_east";
float lat(y,x);
lat: units = "degrees_north";
float elevation(y,x);
elevation: units = "m";
}
set_dataDownlBat_fileName
of the user-configuration file:
-
fileBat_lcompression
if the file to download is compressed (.gzip) or not, -
fileBat_llonFlip
if the longitude coordinate is defined in the rage [0:360] or [-180:+180], -
fileBat_llatInv
if the dataset contains latitude decreasing through the pole, -
fileBat_ldepthIncr
if the dataset contains seafloor elevation (positive) increases with increasing water depth, -
fileBat_lkeepSrcFull
if the original downloaded file needs to be deleted after cutted in the nested domain.
Coastline Dataset¶
set_dataDownlCoast
of the configuration file. The available input coastline datasets inside the surf packages is the Global Self-consistent Hierarchical High-resolution Geography (GSHHG) dataset produced by the National Oceanic and Atmospheric Association (NOAA). The datasets include 20 shapefiles which provides a consistent set of hierarchically arranged closed polygons from which the shorelines are constructed. The GSHHS data are split into separate shapefiles at five different resolutions:
- the highest resolution is designated 'f' (full) with a resolution of xx m,
- the next highest appears as 'h' (high) with a resolution of xx m,
- the (intermediate) 'i' with a resolution of xx m,
- the (low) 'l' with a resolution of xx m,
- the (coarse) 'c' with a resolution of xx m.
Initial Condition Datasets¶
set_dataDownlOceIC
of the configuration file.
The data can be distributed on a curvilinear spherical grid (regular or not) with unstaggered or staggered Arakawa-C grid arrangement within a region containing the nested domain.
The model assumes that all the input ocean variables are defined on the same grid. - Potential Temperature [\(C\)],
- Salinity [\(PSU\)],
- Sea surface height [\(m\)],
- Zonal velocity [\(ms^{-1}\)],
- Meridional Velocity [\(ms^{-1}\)].
netcdf fields_filename {
dimensions:
x = 40 ;
y = 35 ;
z = 72 ;
time = UNLIMITED ; // (1 currently)
variables:
float lont(y, x) ;
lont:units = "degrees_east" ;
float latt(y, x) ;
latt:units = "degrees_north" ;
float deptht(z) ;
deptht:units = "m" ;
double time(time) ;
time_counter:units = "seconds since
1970-01-01 00:00:00" ;
float temperature(time, z, y, x) ;
temperature:units = "degC" ;
}
set_dataDownlOceICMesh
of the configuration file. - longitude on TUVF grid points [\(degree\)],
- latitude on TUVF grid points [\(degree\)],
- depth on TUVF grid points [\(m\)],
- land-sea mask on TUVF grid points [0-1],
- scalefactor on TUVF grid points [\(m\)],
- scalefactor on TUVF grid points [\(m\)],
- scalefactor on TUVF grid points [\(m\)].
netcdf meshmask_filename {
dimensions :
x = 677;
y = 253;
z = 72;
t = UNLIMITED; // (7 currently)
variables : \\
float lon(y,x);
float lat(y,x);
float lev(z);
double time(t);
byte tmask(t,z,y,x);
byte umask(t,z,y,x);
byte vmask(t,z,y,x);
byte fmask(t,z,y,x);
float glamt(t,y,x);
float glamu(t,y,x);
float glamv(t,y,x);
float glamf(t,y,x);
float gphit(t,y,x);
float gphiu(t,y,x);
float gphiv(t,y,x);
float gphif(t,y,x);
double e1t(t,y,x);
double e1u(t,y,x);
double e1v(t,y,x);
double e1f(t,y,x);
double e2t(t,y,x);
double e2u(t,y,x);
double e2v(t,y,x);
double e2f(t,y,x);
double e3t(t,z,y,x);
double e3u(t,z,y,x);
double e3v(t,z,y,x);
double e3w(t,z,y,x);
}
Lateral Open Boundary Condition Datasets¶
set_dataDownlOceBC_preSpinup
and set_dataDownlOceBC_postSpinup
of the configuration file.
The data can be distributed on a curvilinear spherical grid (regular or not) with unstaggered or staggered Arakawa-C grid arrangement within a region containing the nested domain.
The model assumes that all the input ocean variables in pre- and post- spinup period are defined on the same grid. - Potential Temperature [\(C\)],
- Salinity [\(PSU\)],
- Sea surface height [\(m\)],
- Zonal velocity [\(ms^{-1}\)],
- Meridional Velocity [\(ms^{-1}\)].
An example of CDL text representation of this file is shown in Listing 5.4.
netcdf fields_filename {
dimensions :
x = 677;
y = 253;
z = 72;
t = UNLIMITED; // (7 currently)
variables : \\
float lont(x);
lont: units = "degrees_east";
float latt(y);
latt: units = "degrees_north";
float deptht(z);
deptht: units = "m";
double time(t);
time: units = "seconds since
1970-01-01 00:00:00";
float temperature(t,z,y,x);
temperature: units = "degC";
}
set_dataDownlOceBCMesh
of the configuration file. - longitude on TUVF grid points [\(degree\)],
- latitude on TUVF grid points [\(degree\)],
- depth on TUVF grid points [\(m\)],
- land-sea mask on TUVF grid points [0-1],
- scalefactor on TUVF grid points [\(m\)],
- scalefactor on TUVF grid points [\(m\)],
- scalefactor on TUVF grid points [\(m\)].
An example of CDL text representation of this file is shown in Listing 5.5.
netcdf meshmask_filename {
dimensions :
x = 677;
y = 253;
z = 72;
t = UNLIMITED; // (7 currently)
variables : \\
float lon(y,x);
float lat(y,x);
float lev(z);
double time(t);
byte tmask(t,z,y,x);
byte umask(t,z,y,x);
byte vmask(t,z,y,x);
byte fmask(t,z,y,x);
float glamt(t,y,x);
float glamu(t,y,x);
float glamv(t,y,x);
float glamf(t,y,x);
float gphit(t,y,x);
float gphiu(t,y,x);
float gphiv(t,y,x);
float gphif(t,y,x);
double e1t(t,y,x);
double e1u(t,y,x);
double e1v(t,y,x);
double e1f(t,y,x);
double e2t(t,y,x);
double e2u(t,y,x);
double e2v(t,y,x);
double e2f(t,y,x);
double e3t(t,z,y,x);
double e3u(t,z,y,x);
double e3v(t,z,y,x);
double e3w(t,z,y,x);
}
Tidal Datasets for the open boundaries¶
set_dataDownlTide
of the configuration file.
The data are distributed on a regular curvilinear spherical grid with unstaggered or staggered Arakawa-C grid arrangement within a region containing the nested domain.
The model assumes that all the input tidal harmonic variables are defined on the same grid. - Tidal elevation complex amplitude, Real and Imaginary part [\(mm\)],
- Tidal WE transport complex amplitude, Real and Imaginary part [\(cm^2/s\)],
- Tidal SN transport complex amplitude, Real and Imaginary part [\(cm^2/s\)],
An example of CDL text representation of this file is shown in Listing 5.6.
netcdf uv.k1_tpxo8_atlas_30c_v1 {
dimensions:
nx = 10800 ;
ny = 5401 ;
variables:
double lon_u(nx) ;
lon_u:units = "degree_east" ;
double lat_u(ny) ;
lat_u:units = "degree_north" ;
double lon_v(nx) ;
lon_v:units = "degree_east" ;
double lat_v(ny) ;
lat_v:units = "degree_north" ;
int uRe(nx, ny) ;
uRe:units = "centimeter^2/sec" ;
int uIm(nx, ny) ;
uIm:units = "centimeter^2/sec" ;
int vRe(nx, ny) ;
vRe:units = "centimeter^2/sec" ;
int vIm(nx, ny) ;
vIm:units = "centimeter^2/sec" ;
}
set_dataDownlTideMesh
of the configuration file. - longitude on TUV grid points [\(degree\)],
- latitude on TUV grid points [\(degree\)],
- Bathymetry at TUV grid points [\(m\)].
An example of CDL text representation of this file is shown in Listing 5.7.
netcdf grid_tpxo8atlas_30_v1 {
dimensions:
nx = 10800 ;
ny = 5401 ;
variables:
double lon_z(nx) ;
lon_z:units = "degree_east" ;
double lat_z(ny) ;
lat_z:units = "degree_north" ;
double lon_u(nx) ;
lon_u:units = "degree_east" ;
double lat_u(ny) ;
lat_u:units = "degree_north" ;
double lon_v(nx) ;
lon_v:units = "degree_east" ;
double lat_v(ny) ;
lat_v:units = "degree_north" ;
float hz(nx, ny) ;
hz:units = "meter" ;
float hu(nx, ny) ;
hu:units = "meter" ;
float hv(nx, ny) ;
hv:units = "meter" ;
}
Atmospheric Forcing Datasets¶
- the zonal components of the surface ocean stress,
- the meridional components of the surface ocean stress,
- the heat fluxes from solar Qsr,
- the heat fluxes from non-solar Qns radiation,
- the water flows exchanged with the atmosphere (E-P) (the evaporation minus precipitation budget).
- the atmospheric pressure at the ocean surface (pa).
sbc_iformulat
in the user configuration file:
sbc_iformulat=0
for the MFS bulk formulae,sbc_iformulat=1
for the the Flux formulation,sbc_iformulat=2
for the CORE bulk formula.
set_dataDownlAtm_preSpinup
and set_dataDownlAtm_postSpinup
of the configuration file.
MFS bulk formulae¶
sbc_iformulat=0
in the user configuration file. - 10 m zonal wind component [\(ms^{-1}\)],
- 10 m meridional wind component [\(ms^{-1}\)],
- 2m Air Temperature [\(K\)],
- 2m Dew Point Temperature [\(K\)],
- Mean Sea Level Pressure [\(Pa\)],
- Total Cloud Cover [%].
- Total Precipitation [\( m \)].
netcdf atmFields_filename {
dimensions :
lon = 245;
lat = 73;
time = UNLIMITED; // (8 currently)
variables : \\
float lon(lon);
lon: units = "degrees_east";
float lat(lat);
lat: units = "degrees_north";
float time(time);
time: units = "seconds since
1970-01-01 00:00:00";
float T2M(time,lat,lon);
T2M: units = "K";
}
Core bulk formulae¶
sbc_iformulat=2
in the user configuration file. - 10 m zonal wind component [\(ms^{-1}\)],
- 10 m meridional wind component [\(ms^{-1}\)],
- 2m Temperature [\(K\)],
- 2m Specific humidity [\(\%\)],
- Incoming long-wave radiation [\(W m^{-2}\)],
- Incoming short-wave radiation [\(W m^{-2}\)],
- Total precipitation (liquid+solid) [\(Kg m^{-2} s^{-1}\)],
- Solid precipitation [\(Kg m^{-2} s^{-1}\)].
netcdf atmFields_filename {
dimensions :
lon = 245;
lat = 73;
time = UNLIMITED; // (8 currently)
variables : \\
float lon(lon);
lon: units = "degrees_east";
float lat(lat);
lat: units = "degrees_north";
float time(time);
time: units = "seconds since
1970-01-01 00:00:00";
float T2M(time,lat,lon);
T2M: units = "K";
}
Flux formulation¶
sbc_iformulat=1
in the user configuration file. Zonal wind stress [0 - 1],
Meridional Wind stress [0 - 1],
Total heat flux [0 - 1],
Solar Radiation Penetration [0 - 1],
Mass flux exchanged [0 - 1],
Surface Temperature [0 - 1],
Surface Salinity [0 - 1].
netcdf atmFields_filename {
dimensions :
lon = 245;
lat = 73;
time = UNLIMITED; // (8 currently)
variables : \\
float lon(lon);
lon: units = "degrees_east";
float lat(lat);
lat: units = "degrees_north";
float time(time);
time: units = "seconds since
1970-01-01 00:00:00";
float T2M(time,lat,lon);
T2M: units = "K";
}
set_dataDownlAtmMesh
of the configuration file. An example of CDL text representation of the atmospheric land-sea mask is shown in Listing 5.11. The time dimension and coordinate variable can also be omitted.
netcdf atmFields_filename {
dimensions :
lon = 245;
lat = 73;
time = UNLIMITED; // (1 currently)
variables : \\
float lon(lon);
lon: units = "degrees_east";
float lat(lat);
lat: units = "degrees_north";
float time(time);
time: units = "seconds since
1970-01-01 00:00:00";
float LSM(time,lat,lon);
LSM: units = "0-1";
}
Ocean Output Datasets¶
The output model datasets are provided in the NetCDF format, which includes the meshmask file, the output files for the T, U, V, and W grids, as well as the restart file.
Meshmask File¶
The meshmask file (mesh_mask.nc) contains all the information of the child model grids.
- longitude on TUVF grid points [\(degree\)],
- latitude on TUVF grid points [\(degree\)],
- depth on TUVF grid points [\(m\)],
- land-sea mask on TUVF grid points [0-1],
- scalefactor on TUVF grid points [\(m\)],
- scalefactor on TUVF grid points [\(m\)],
- scalefactor on TUVF grid points [\(m\)].
netcdf meshmask_filename {
dimensions :
x = 677;
y = 253;
z = 72;
t = UNLIMITED; // (7 currently)
variables : \\
float lon(y,x);
float lat(y,x);
float lev(z);
double time(t);
byte tmask(t,z,y,x);
byte umask(t,z,y,x);
byte vmask(t,z,y,x);
byte fmask(t,z,y,x);
float glamt(t,y,x);
float glamu(t,y,x);
float glamv(t,y,x);
float glamf(t,y,x);
float gphit(t,y,x);
float gphiu(t,y,x);
float gphiv(t,y,x);
float gphif(t,y,x);
double e1t(t,y,x);
double e1u(t,y,x);
double e1v(t,y,x);
double e1f(t,y,x);
double e2t(t,y,x);
double e2u(t,y,x);
double e2v(t,y,x);
double e2f(t,y,x);
double e3t(t,z,y,x);
double e3u(t,z,y,x);
double e3v(t,z,y,x);
double e3w(t,z,y,x);
}
T-Grid Ocean File¶
The output T-Grid file (SURF_1h_YYYYMMDD0_YYYYMMDD1_grid_T) contains hourly fields defined on the Arakawa-T grid within the chid nested domain.
This file contains the following variables:
- Temperature [\(C\)],
- Salinity [\(PSU\)],
- Sea Surface temperature [\(C\)],
- Sea Surface salinity [\(PSU\)],
- Sea Surface Height [\(m\)],
- Net Upward Water Flux [\(Kg=m2=s\)],
- concentration/dilution water flux [\(Kg=m2=s\)],
- Surface Salt Flux [\(Kg=m2=s\)],
- Net Downward Heat Flux [\(W=m2\)],
- Shortwave Radiation [\(W=m2\)],
- Turbocline Depth [\(m\)],
- Mixed Layer Depth 0.01 [\(W=m2\)],
- Ice fraction [\(0;1\)],
- wind speed at 10m [\(m=s\)],
- Surface Heat Flux: Damping [\(W=m2\)],
- Surface Water Flux: Damping [\(Kg=m2=s\)],
- Surface salt flux: damping [\(Kg=m2=s\)],
- Bowl Index[\(W point\)].
An example of CDL text representation of this file is shown in Listing 5.13.
netcdf fields_filename {
dimensions :
lon = 677;
lat = 253;
depth = 72;
time = UNLIMITED; // (7 currently )
variables : \\
float lont (x);
lont : units = " degrees_east ";
float latt (y);
latt : units = " degrees_north ";
float deptht (z);
deptht : units = "m";
double time (t);
time : units = " seconds since
1970-01-01 00:00:00";
float temperature (t, z, y, x);
temperature : units = " degC ";
}
U-Grid Ocean File¶
The output U-Grid file (SURF_1h_YYYYMMDD0_YYYYMMDD1_grid_U) contains hourly fields defined on the Arakawa-U grid within the chid nested domain.
- Zonal Current [\(m/s\)],
- Wind Stress along zonal-axis [\(N/m^2\)],
An example of CDL text representation of this file is shown in Listing 5.14.
netcdf fields_filename {
dimensions :
lon = 677;
lat = 253;
depth = 72;
time = UNLIMITED; // (7 currently )
variables : \\
float lont (x);
lont : units = " degrees_east ";
float latt (y);
latt : units = " degrees_north ";
float deptht (z);
deptht : units = "m";
double time (t);
time : units = " seconds since
1970-01-01 00:00:00";
float temperature (t, z, y, x);
temperature : units = " degC ";
}
V-Grid Ocean File¶
The output V-Grid file (SURF_1h_YYYYMMDD0_YYYYMMDD1_grid_V) contains hourly fields defined on the Arakawa-V grid within the chid nested domain.
Meridional Current [\(m/s\)],
Wind Stress along meridional-axis [\(N/m^2\)],
An example of CDL text representation of this file is shown in Listing 5.15.
netcdf fields_filename {
dimensions :
lon = 677;
lat = 253;
depth = 72;
time = UNLIMITED; // (7 currently)
variables : \\
float lont(x);
lont: units = "degrees_east";
float latt(y);
latt: units = "degrees_north";
float deptht(z);
deptht: units = "m";
double time(t);
time: units = "seconds since
1970-01-01 00:00:00";
float temperature(t,z,y,x);
temperature: units = "degC";
}
W-Grid Ocean File¶
The output W-Grid file (SURF_1h_YYYYMMDD0_YYYYMMDD1_grid_W) contains hourly fields defined on the Arakawa-W grid within the chid nested domain.
This file contains the following variables:
Vertical velocity [\(m/s\)],
Vertical Eddy Viscosity [\(m^2/s\)],
Vertical Eddy Diffusivity [\(m^2/s\)].
An example of CDL text representation of this file is shown in Listing 5.16.
netcdf fields_filename {
dimensions :
lon = 677;
lat = 253;
depth = 72;
time = UNLIMITED; // (7 currently)
variables : \\
float lont(x);
lont: units = "degrees_east";
float latt(y);
latt: units = "degrees_north";
float deptht(z);
deptht: units = "m";
double time(t);
time: units = "seconds since
1970-01-01 00:00:00";
float temperature(t,z,y,x);
temperature: units = "degC";
}
Restart File¶
The restart file (SURF_restart_YYYYMMDD.nc) contains the model state variables at two consecutive time step, allowing NEMO model to continue the simulation from that point onward.
- Temperature
- Salinity
- Velocity horizontal components
- Sea Surface Height
- ...
An example of CDL text representation of this file is shown in Listing 5.17
netcdf SURF_restart_20141005 {
dimensions:
x = 94 ;
y = 79 ;
z = 120 ;
t = UNLIMITED ; // (1 currently)
variables:
float nav_lon(y, x) ;
float nav_lat(y, x) ;
float nav_lev(z) ;
double time_counter(t) ;
double kt ;
double ndastp ;
double adatrj ;
double utau_b(t, y, x) ;
double vtau_b(t, y, x) ;
double qns_b(t, y, x) ;
double emp_b(t, y, x) ;
double sfx_b(t, y, x) ;
double sbc_hc_b(t, y, x) ;
double sbc_sc_b(t, y, x) ;
double qsr_hc_b(t, z, y, x) ;
double fraqsr_1lev(t, y, x) ;
double rdt ;
double rdttra1 ;
double ub(t, z, y, x) ;
double vb(t, z, y, x) ;
double tb(t, z, y, x) ;
double sb(t, z, y, x) ;
double rotb(t, z, y, x) ;
double hdivb(t, z, y, x) ;
double sshb(t, y, x) ;
double un(t, z, y, x) ;
double vn(t, z, y, x) ;
double tn(t, z, y, x) ;
double sn(t, z, y, x) ;
double rotn(t, z, y, x) ;
double hdivn(t, z, y, x) ;
double sshn(t, y, x) ;
double rhop(t, z, y, x) ;
}