IRECIP is a switch and determines whether work-arrays for the reciprocal projection operators are allocated (IRECIP=1 yes, IRECIP=0 no). If you are using real-space projection operators, which are more efficient for large systems, set IRECIP=0.
IRMAX determines the maximum number of grid-points around each atom for the calculation of the real-space projection operators. To save storage set this parameter to 1 if you use the reciprocal projection scheme. If you make IRMAX too small VASP will stop execution and prompt the user to recompile main.f with a larger IRMAX parameter (for a short explanation of real-space versus reciprocal space projection operators see also 7.34).
IRDMAX determines the maximum number of grid-points around each atom for the evaluation of the localized augmentation functions. To save storage this parameter should be 1 if conventional NCPP are used. If you make IRDMAX too small VASP will stop execution and prompt the user to recompile main.f with a larger IRMAX parameter.
Mind: How large should IRMAX and IRDMAX be: As a rule of thumb use IRMAX=1000 and IRDMAX=10000. Generally this is sufficient for a reasonable FFT-mesh. The more points the FFT-mesh NGX,Y,Z contains, the large IRMAX must be. The same connection exists between the second finer grid NG(X,Y,Z)F and the parameter IRDMAX. For large systems you should be careful about choosing IRMAX and IRDMAX. Especially a large IRMAX might increase the memory requirements of VASP considerable. VASP tells to user how large IRMAX and IRDMAX must be for the current FFT-grids. Search for the lines
Maximum index for non-local projection operator 613 (set IRMAX) Maximum index for depletion-charges 6000 (set IRDMAX)in OUTCAR. But be aware that IRMAX and IRDMAX might increase slightly if the ions move (the number of grid-points within a cut-off-sphere changes if the ions move). So add approximately to the values given in the OUTCAR file to be save against troubles during a MD-run.