| subroutine | release | (mode,ldat,leading,trailing,length,idata, maxsize,iwork,nfactors,factors,error ) |
| mode | (i) | - |
should be a variable, MUST BE SET TO 0 IN INITIAL CALL, should not be
modified in the calling program/subroutine thereafter; e.g.:
do i = 1,n
call squeeze(mode_variable,...) call process_field(ldat,...) |
| leading | (i) | - | no. of leading entries in 'idata()' which have not been compressed |
| length | (i) | - | dimension of 'idata()' (suggested value: leading+nx*ny+trailing); left unchanged by "release" |
| idata | (I2) | - | leading entries, compressed field, trailing entries |
| maxsize | (i) | - | dimension of 'iwork()' (suggested value: nx*ny) |
| nfactors | (i) | - | dimension of 'factors()'; min. dimension: 17 |
| factors | (I) | - | vector for storage of factors (time-saving); used if 'mode'<>0 and unchanged 'algorithm' since previous call |
| mode | (i) | - | output value: 1 |
| ldat | (i) | - | length of the decompressed 'idata()' vector |
| trailing | (i) | - | no. of uncompressed trailing entries in 'idata()' on input and output |
| idata | (I2) | - | leading entries, decompressed field, trailing entries |
| factors | (I) | - | vector for storage of factors (time-saving) |
| error | (i) | - |
will be set to:
1 if value of 'leading' is inconsistent 2 if non-implemented 'algorithm' is selected |
| iwork | (I2) | - | work space vector, temporary storage; minimum size: 'maxsize' + 'trailing' |