Skip to content

Input/Output Model Datasets

In order to execute the SURF-NEMO package, the user has to provide several input datasets. These include the bathymetry datasets containing the seafloor elevation, the coastline datasets delineating borders between land and sea areas, the initial condition dataset containing the initial values of model-predicted variables and the boundary condition datasets containing the values of the variables needed to impose the boundary conditions on flows of mass, momentum and energy for the primitive equation at the surface and lateral open boundaries of the domain. In Figure 5.1 are summarized the interfaces and the external forcings acting on a typical computational domain.
../assets/img/CondContorno.png
Schematized representation of the interface and external forcing acting on a typical computational domain.

Input Datasets

The input model datasets are provided in the classic NetCDF format for bathymetry, initial and lateral boundary condition. NetCDF is a widely used file format in atmospheric and oceanic research which allows storage of different types of array based data, along with a short data description. The coastline datasets are instead provided in Shapefile format, a digital vector data format for geographic information system (GIS) software. SURF allows also to use, if needed, two different model type of input data during the execution (i.e. analysis data for the spinup time and forecast data after). The user has to set-up few parameters in the configuration file setParFree.json in order to specify the values of path/filename, dimensions/variables name and characteristics of data.

Bathymetry Dataset

The bathymetry dataset contains the sea floor elevation. This dataset is required to generate the child meshmask file. The user needs to set-up the required parameters in the sections 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.
The bathymetry file contains the elevation variable (in meters) at a certain horizontal resolution. The elevation is relative to a specific reference level and can increases (positive) or decreases (negative) with increasing water depth. The coordinate variables (latitude/longitude) can be a one- or two-dimensional array.
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";
}

Listing 5.1: Example of a netCDF file for bathymetry.

The user needs to specify the following logical parameters in section 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.
The available input bathymetry datasets inside the surf package is the General Bathymetric Chart of the Oceans (GEBCO), a publicly available bathymetry data sets with global coverage at 30 arc-second resolution.

Coastline Dataset

The coastline dataset contains borders between land and sea areas and is stored into shapefiles. The coastline is required in the child meshmask generation phase. The user needs to set-up the required parameters in the sections 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.
For each level of resolution Shorelines are organized into four levels: boundary between land and ocean (L1), boundary between lake and land (L2), boundary between island-in-lake and lake (L3), and boundary between pond-in-island and island (L4). These datasets use the geographic coordinate system WGS84 (simple latitudes and longitudes; decimal degrees.

Initial Condition Datasets

In order to start a model run, the initial values for the model prognostic variables need to be specified. These include temperature, salinity, sea surface height, zonal and meridional velocity components fields. Initial condition datasets are normally provided by coarse grid model outputs. The user needs to set-up the required parameters in the sections 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.
The coarse-resolution ocean files contain the following variables at a certain horizontal resolution.
  • 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.2.
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" ;
}

Listing 5.2: Example of a netCDF file for the Initial Condition temperature

In order to perform the extrapolation (SOL) of ocean fields (see section 2.3), the parent land-sea mask file needs to be provided as input datasets. The user needs to set-up the required parameters in the sections set_dataDownlOceICMesh of the configuration file.
This file contains all the information of the coarse-resolution ocean model grids and it includes the following variables:
  • 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.3.
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);
   }
   

Listing 5.3: Example of a netCDF file for the Initial Condition meshmask.

Lateral Open Boundary Condition Datasets

In order to integrate the primitive equations, the NEMO ocean model needs to impose appropriate boundary conditions at the ocean-ocean interface (i.e. the sides of the domain not bounded by land). Lateral Open Boundary values for the model prognostic variables need to be specified for all the simulation period. These include temperature, salinity, sea surface height, and velocity fields. The user needs to set-up the required parameters in the sections 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.
The coarse-resolution ocean files contain the following variables at a certain horizontal resolution and temporal frequency.
  • 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";
}

Listing 5.4: Example of a netCDF file for Open boundary Condition temperature.

In order to perform the extrapolation (SOL) of ocean fields (see section 2.3), the parent land-sea mask file needs to be provided as input datasets. The user needs to set-up the required parameters in the sections set_dataDownlOceBCMesh of the configuration file.
This file contains all the information of the coarse-resolution ocean model grids and it includes the following variables:
  • 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);
}

Listing 5.5: Example of a netCDF file for the Initial Condition meshmask.

Tidal Datasets for the open boundaries

For the barotropic solution, there is also the option to use tidal harmonic forcing at open boundaries in addition to other external data. These include the constituents for amplitude and phase of surface height and velocity. The user needs to set-up the required parameters in the sections 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.
The barotropic tide files contain for each harmonic constituents the following variables at a certain horizontal resolution.
  • 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" ;
}

Listing 5.6: Example of a netCDF file for the Zonal and meridional Tidal transport for the constituent K1.

The tidal model bathymetry file needs to be provided as input datasets. The user needs to set-up the required parameters in the sections set_dataDownlTideMesh of the configuration file.
This file contains all the information of the tidal model grids and depth grid and it includes the following variables:
  • 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" ;
}

Listing 5.7: Example of a netCDF file for the Initial Condition meshmask.

The available input barotropic tide datasets inside the surf packages are derived from the Topex Poseidon cross-over (TPX08-ATLAS) global inverse tide model obtained with the software package OTIS (OSU Tidal Inversion Software) implementing methods described in Egbert and Erofeeva, 2002. The TPX08 tidal model consists of a multi-resolution bathymetric grid solution, with a 1/6 solution in the global open ocean, and a 1/30 local resolution solution to improve modelling in complex shallow-water environments. It includes complex amplitudes of the tide sea-surface elevations and transports for eight primaries (M2, S2, N2, K2, K1, O1, P1, Q1), two long-period (Mf, Mm) and 3 non-linear (M4, MS4, MN4) harmonic constituents.

Atmospheric Forcing Datasets

In order to integrate the primitive equations, the NEMO ocean model needs to impose appropriate boundary conditions on flows of mass, momentum and energy at the atmosphere-ocean interface. It must be provided on the integration domain the following six fields:
  1. the zonal components of the surface ocean stress,
  2. the meridional components of the surface ocean stress,
  3. the heat fluxes from solar Qsr,
  4. the heat fluxes from non-solar Qns radiation,
  5. the water flows exchanged with the atmosphere (E-P) (the evaporation minus precipitation budget).
In addition an optional field:
  1. the atmospheric pressure at the ocean surface (pa).
The NEMO ocean model provides different ways to provide the first six fields to the ocean which are controlled by namelist variables (see NEMO Manual). The choice of the atmospheric forcing formulation in SURF platform is obtained by setting the parameter 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.
The data are distributed on a regular unstaggered grid within a region containing the nested domain. The model assumes that input atmospheric variables in pre- and post- spinup period are defined on the same mesh but allowed different mesh for different variables. The user needs to set-up the required parameters in the sections set_dataDownlAtm_preSpinup and set_dataDownlAtm_postSpinup of the configuration file.

MFS bulk formulae

The choice of MFS bulk formulae is obtained by setting the parameter sbc_iformulat=0 in the user configuration file.
The atmospheric forcing files contain the following variables at a certain horizontal resolution and temporal frequency:
  • 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 \)].
An example of CDL text representation for the atmospheric forcing file with temporal frequency of 3 hours is shown in box in Listing 5.8.
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";
}

Listing 5.8: Example of a netCDF file for the Atmospheric Forcing temperature.

Core bulk formulae

The choice of Core bulk formulae is obtained by setting the parameter sbc_iformulat=2 in the user configuration file.
The atmospheric forcing files contain the following variables at a certain horizontal resolution and temporal frequency:
  • 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}\)].
An example of CDL text representation for the atmospheric forcing file with temporal frequency of 3 hours is shown in box in Listing 5.9.
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";
}

Listing 5.9: Example of a netCDF file for the Atmospheric Forcing temperature.

Flux formulation

The choice of Flux formulation is obtained by setting the parameter sbc_iformulat=1 in the user configuration file.
The atmospheric forcing files contain the following variables at a certain horizontal resolution and temporal frequency:
  • 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].

An example of CDL text representation for the atmospheric forcing file with temporal frequency of 3 hours is shown in box in Listing 5.10.
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";
}

Listing 5.10: Example of a netCDF file for the Atmospheric Forcing temperature.

In order to perform the extrapolation (SOL) of atmospheric fields (see section 2.3), the atmospheric meshmask file needs to be provided as input datasets. The user needs to set-up the required parameters in the sections set_dataDownlAtmMesh of the configuration file.
The atmospheric meshmask file contains the land-sea mask [0-1] variable.

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";
}

Listing 5.11: Example of a netCDF file for the Atmospheric Forcing meshmask.

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.

This file includes the following variables:
  • 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.12.
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);
}

Listing 5.12: CDL example for the meshmask datasets.

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 ";
}

Listing 5.13: CDL example for the T-Grid output file.

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.

This file contains the following variables:
  • 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 ";
}

Listing 5.14: CDL example for the U-Grid output file.

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.

This file contains the following variables:
  • 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";
}

Listing 5.15: CDL example for the V-Grid output file.

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";
}

Listing 5.16: CDL example for the W-Grid output file.

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.

This file includes two consecutive time levels (referred to as 'before' and 'after') of the following variables:
  • 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) ;
}

Listing 5.17: CDL example for the restart datasets.