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 userconfiguration 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 Selfconsistent Hierarchical Highresolution 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 ArakawaC 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
19700101 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\)],
 landsea mask on TUVF grid points [01],
 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 ArakawaC 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
19700101 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\)],
 landsea mask on TUVF grid points [01],
 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 ArakawaC 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 nonsolar Qns radiation,
 the water flows exchanged with the atmosphere (EP) (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
19700101 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 longwave radiation [\(W m^{2}\)],
 Incoming shortwave 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
19700101 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
19700101 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 landsea 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
19700101 00:00:00";
float LSM(time,lat,lon);
LSM: units = "01";
}
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\)],
 landsea mask on TUVF grid points [01],
 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);
}
TGrid Ocean File¶
The output TGrid file (SURF_1h_YYYYMMDD0_YYYYMMDD1_grid_T) contains hourly fields defined on the ArakawaT 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
19700101 00:00:00";
float temperature (t, z, y, x);
temperature : units = " degC ";
}
UGrid Ocean File¶
The output UGrid file (SURF_1h_YYYYMMDD0_YYYYMMDD1_grid_U) contains hourly fields defined on the ArakawaU grid within the chid nested domain.
 Zonal Current [\(m/s\)],
 Wind Stress along zonalaxis [\(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
19700101 00:00:00";
float temperature (t, z, y, x);
temperature : units = " degC ";
}
VGrid Ocean File¶
The output VGrid file (SURF_1h_YYYYMMDD0_YYYYMMDD1_grid_V) contains hourly fields defined on the ArakawaV grid within the chid nested domain.
Meridional Current [\(m/s\)],
Wind Stress along meridionalaxis [\(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
19700101 00:00:00";
float temperature(t,z,y,x);
temperature: units = "degC";
}
WGrid Ocean File¶
The output WGrid file (SURF_1h_YYYYMMDD0_YYYYMMDD1_grid_W) contains hourly fields defined on the ArakawaW 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
19700101 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) ;
}