Next: About this document ...
Minutes of the WP3a meeting
(DeBilt, January 13, 2004)
(S. Valcke - 15/01/2004)
People who attended the meeting:
From NEC-CCRL, Rene Redler, Hubert Ritzdorf; from SGI Deutschland, Reiner
Vogelsang; from NEC, Thomas Schoenemeyer; from CERFACS, Sophie Valcke.
- Philippe Bourcier will not be reemployed by IPSL for the PRISM
last year. We are now in the process of trying to establish a contract
between IPSL and CERFACS, so that Damien Declat's contract could be
extended.
- Report on the development of the PSMILe, regarding the coupling
part, was given by René and Hubert. Report on the development of
the PSMILe regarding the I/O part was given by Reiner. Report on the
development of the Driver and Transformer and SASA tools was given by
Sophie.
- Sophie will establish the list of priorities for the
developments to be done until the end of the project.
- Some details regarding the actual state of development:
- Lag concept and coupling restart not included yet.
- REAL, DOUBLE, INTEGER fields are supported in: 1- PSMILe API
routines and internal structures, 2- Transformer routines, 3- I/O.
All types of fields are not supported for PSMILe sending or receiving
actions (direct or via Transformer); this should be added for the prototype.
- Bundles and vectors are supported in 1- PSMILe API routines and
internal structures, 2- I/O. They are not supported neither in
PSMILe sending or receiving actions (direct or via Transformer),
neither in the Transformer.
- Coupling or I/O of fields after reduction is not supported
and need to be specified further.
- Regarding the prototype, the following was agreed:
- The target date for the official PRISM release is February 15th
2004.
- Support of REAL, DOUBLE, INTEGER coupling fields need to be
included in neighborhood search and PSMILe sending or receiving
actions (direct or via Transformer). Hubert.
- Interpolation of integers will be supported; whether it makes
sense or not will be left to the user. (We may change this for the
final version). Hubert, Damien.
- Unstructured grids will not be supported for coupling.
- I/O supports structured and nonstructured grids, as long as
the local partitions can be expressed with only an offset in the global
index space. For unstructured grids, this is the case if the local
partition covers one segment in a 1D global space.
- Single and multiple I/O are supported for inputs and outputs.
Single I/O means reading from or writing to one file; multiple I/O
means reading from or writing to different files (one for each process).
- Parallel non-exact neighborhood search will be included for
- 3D N nearest neighbour
- trilinear
- 2D N nearest neighbour
- bilinear
The 2D N nearest neighbour and bilinear will be used for grids having
a vertical dimension of 1 for which the user specifies, in the
SMIOC, a 2D1D interpolation with the 1D vertical interpolation being
``none'' (see SMIOC information). Hubert.
- For trilinear interpolation, 8 neighbours will be transfered
between PSMILe and Transformer. For target points near the border
of a partition, a neighbour address of 0 will mean a non valid
neighbour. Hubert.
- prism_def_partition API should be redefined so to cover later
unstructured grids. Sophie, Reiner.
- The transfer of SCC information between the Driver and PSMILe should be
rewritten to transfer only the information relevant for the application.
Wrapping routines (analoguous to SMIOC transfer routines) should be
written. Damien.
- Data format for I/O: 3 formats (NetCDF, binary, ascii) are
supported for outputs. Only NetCDF is supported for inputs.
- PSMILe-Transformer interaction needs to be completed by using
Damien's new routines: psmile_trs_finalize.F90,
psmile_trs_put_int.F90, psmile_trs_get_dble.F90,
psmile_trs_put_real.F90, psmile_trs_get_int.F90,
psmile_trs_set_src_epio3d_dble.F90,
psmile_trs_get_real.F90,
psmile_trs_set_src_epio3d_real.F90,
psmile_trs_give_neighbors3d.F90,
psmile_trs_set_tgt_epio3d_dble.F90,
psmile_trs_inform.F90,
psmile_trs_set_tgt_epio3d_real.F90,
psmile_trs_put_dble.F90,
psmile_trs_set_triple_links.F90. Hubert.
- Driver-PSMILe interaction for SMIOC info needs to be
completed. Damien will finalize the wrapping routines, i.e
PSMILe_smioc_init and PSMILe_smioc_finalize. René will include
them in prism_init_comp. Damien, René.
- Use of SMIOC information needs to be implemented in
PSMILe. René.
- Damien is currently working on the SASA routines. Depending on
the difficulty of the development, they will be or not included in the
prototype. Damien.
- Only the proleptic Gregorian calendar is supported right now and
will be in the prototype.
- Calendar routines as defined on
http://www.ccrl-nece.de/redler/PRISM/WP3A/PSMILe/ are still missing
and will not be included in the prototype.
- Connectivity between grid points is needed for treatment of
unstructured grids. PRISM community will be asked how connectivity is
expressed in their model. ESMF method, if any, will be inquired. Sophie.
- If/when additional grid information will be required in the
PSMILe/Transformer interaction (areas or angles, for example), they
should all reside in one array(epio_size, nbr_info), where nbr_info
is the number of additional information transfered (e.g. 2 for areas and
angles).
- All grid information, except the masks, (e.g. lats, lons, areas,
angles, ...) should be transfered between the PSMILe and the
Transformer with the same precision (i.e. REAL or DOUBLE for all).
The precision chosen should be the highest among the precisions used
for the transfer of information between the model and the PSMILe.
The coupling fields may have a different precision.
- For I/O, the SMIOC dtd should be revised so that a unique choice between
``single'' or ``multiple'' should be possible for elements ``fileset'' and
``threading''. Sophie.
- For I/O, the SMIOC dtd should be revised so to include an
additional element indicating that the grid information should not be
written to the file. Sophie.
- Time interpolation for I/O inputs:
- If there is no user defined time interpolation, the
I/O should take the date bounds into account.
- If there is one file timestep falling in the date
bounds it should be taken as input.
- If there is no file timestep falling in the date
bounds, the nearest neighbour in time should be taken as
input.
- If there is more than one timestep falling in the date
bounds, a weighted average of these timesteps should be taken as
input.
- If there is a user defined time interpolation (time nearest
neighbour or time linear weighted average), the input should not
consider the date bounds.
- An upgrade of mpp_IO to make use of parNetCDF (parallel NetCDF
based on MPI_IO) is planned. Reiner.
- Input dates and times are required in true dates and time
(i.e. months
12, hours
24, minutes
60 and
seconds
60 are not allowed.
- Transformer parallelisation:
- Thomas will probably visit CERFACS beginning of February to
discuss Transformer parallelisation in more details with Damien.
- The number of processes for the Transformer would be chosen by
the user.
- The load balancing of the different Transformer processes
should be automatically set at the beginning of the run by the
Transformer master process. Before sending an EPIO definition, the
PSMILe could send the number of points contained in the EPIO to the
Transformer master process, which would then attribute the EPIO
treatment to a particular Transformer process depending of the
number of EPIO points already treated by the different processes.
Next: About this document ...
Valcke Sophie
2004-01-27