SIREN  NEMO 3.6
System and Interface for oceanic RElocatable Nesting
Functions/Subroutines
create_coord.f90 File Reference

This program creates fine grid coordinate file. More...

Functions/Subroutines

program create_coord
 
integer(i4) function,
dimension(2, 2, ip_npoint) 
create_coord_get_offset (id_rho)
 This function compute offset over Arakawa grid points, given refinement factor. More...
 
subroutine create_coord_interp (td_var, id_rho, id_offset, id_iext, id_jext)
 This subroutine interpolate variable, given refinment factor. More...
 

Detailed Description

This program creates fine grid coordinate file.

method

All variables from the input coordinates coarse grid file, are extracted and interpolated to create fine grid coordinates files.

Note
interpolation method could be different for each variable.

how to

to create fine grid coordinates files:

./SIREN/bin/create_coord create_coord.nam
Note
you could find a template of the namelist in templates directory.

create_coord.nam contains 6 namelists:

logger namelist (namlog):

config namelist (namcfg):

coarse grid namelist (namcrs):

variable namelist (namvar):

nesting namelist (namnst):
you could define sub domain with coarse grid indices or with coordinates.

Note
if coordinates defined, SIREN does not take into account indices.
grid_zoom_40.png
Author
J.Paul

Function/Subroutine Documentation

program create_coord ( )
Date
November, 2013 - Initial Version
September, 2014
  • add header for user
  • compute offset considering grid point
  • add global attributes in output file
September, 2015
  • manage useless (dummy) variable, attributes, and dimension
September, 2016
  • allow to use coordinate to define subdomain
October, 2016
  • dimension to be used select from configuration file
Note
Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
integer(i4) function, dimension(2,2,ip_npoint) create_coord::create_coord_get_offset ( integer(i4), dimension(:), intent(in)  id_rho)

This function compute offset over Arakawa grid points, given refinement factor.

Author
J.Paul
Date
August, 2014 - Initial Version
Parameters
[in]id_rhoarray of refinement factor
Returns
array of offset
subroutine create_coord::create_coord_interp ( type(tvar), intent(inout)  td_var,
integer(i4), dimension(:), intent(in)  id_rho,
integer(i4), dimension(:,:), intent(in)  id_offset,
integer(i4), intent(in), optional  id_iext,
integer(i4), intent(in), optional  id_jext 
)

This subroutine interpolate variable, given refinment factor.

Optionaly, you could specify number of points to be extrapolated in i- and j-direction.
variable mask is first computed (using _FillValue) and interpolated.
variable is then extrapolated, and interpolated.
Finally interpolated mask is applied on refined variable.

Author
J.Paul
Date
November, 2013 - Initial Version
Parameters
[in,out]td_varvariable strcuture
[in]id_rhoarray of refinement factor
[in]id_offsetoffset between fine grid and coarse grid
[in]id_iextnumber of points to be extrapolated in i-direction
[in]id_jextnumber of points to be extrapolated in j-direction
Todo:
check if mask is really needed