Content
Model1 reads from multiple files a handful of coarsely resolved variables. One file contains permanent model parameters, the other ones model output. Seven variables are actually submitted to downscaling under the header comment ‘! Send variables to be downscaled
’, the others serve only as additional predictors in a Schomburg rule under the heading ‘! Send coarse resolution auxiliary information
’. Of the 7, 4 undergo processing in model1.
Settings
As the test data and the complete data have different formats, specifically grib and NetCDF, model1 can read either. It has a switch in the header. User may switch there, or make use of a pre-processor. The variable ‘CPPKEYGRIB
’ in job_script.sh activates the Grib setting in both model1 and model2 in case it is set to ‘GRIB
’, or default to the demo bench mark test case otherwise.
In addition to switching, users will have to amend the source code to point to their input data and unfortunately also its fields’ size -including the number of time steps. Both instances are flagged with, ‘!!Dear user,
’
The latter can easily be found just below the header in model1.F90, the former in the dedicated function cosmopath.F90.
In this process, users may be tempted to also alter the parameters ‘dx
’ and ‘dy
’ to their grid strides, but these are Dummy coordinates, and must never change in any setting.
Parallel programming
Model1 is a parallel program and has run on an even number of processors.
Partitioning
After each node has determined its rank, they find their partition of the fields on this basis in
!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
! Step 4: Define the partition
!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
All nodes get all longitudes. Latitudes are split equally in terms of integers. If their number is not divisible by the number of nodes, the last node gets the remainder. The variable ‘vshape’ carries this information to read_grib1 and read_cosmo1, and each node allocates only space for its partition.