31 | | Adjustments for parallel NetCDF output for lccrayh/lccrayb (Cray XC30 systems). \\\\ |
32 | | Environmental variables are set (.mrun.config.hlrnIII). \\ |
33 | | To increase the performance of the parallel NetCDF output, the following is done: |
34 | | - The time dimensions are limited (check_parameters, data_output_2d, data_output_3d, header, netcdf, modules, read_var_list, write_var_list), |
35 | | - Update time axis by PE0 only (data_output_2d, data_output_3d), |
36 | | - Cross sections are first stored on a local array and are outputted collective (data_output_2d, netcdf), |
37 | | - Values for axis data are only written by PE0 (netcdf) and |
38 | | - No fill is set (netcdf). |
| 31 | Adjustments for parallel NetCDF output on Cray XC30 systems (lccrayh/lccrayb). \\\\ |
| 32 | |
| 33 | Changes to increase the performance of the parallel netCDF output: |
| 34 | - Environmental variables, e.g. for disc striping, are set. (.mrun.config.hlrnIII) |
| 35 | - The time dimensions are set to ''limited'' instead of ''unlimited''. (check_parameters, data_output_2d, data_output_3d, header, netcdf, modules, read_var_list, write_var_list) |
| 36 | - Output of axis data and update of time axis is done by PE0 only. (data_output_2d, data_output_3d, netcdf) |
| 37 | - Cross sections are first stored on a local array, collected by MPI_ALLREDUCE, and then output collectively. (data_output_2d, netcdf) |
| 38 | - The "no fill"-attribute is set for all variables using {{{NF90_DEF_VAR_FILL}}}. This prevents netCDF from initializing the complete file (writing zero-values) at the beginning, which turned out to be extremely time consuming. (netcdf) |