RFM Memory Size
|
|
|
23MAR25
|
If the RFM fails while printing the progress messages, or particularly
when writing the output spectra, it is likely to be because it
has exceeded the computer's available memory size (or, if at the output
stage, disk space/allocation).
The easiest test for this is just to decrease the spectral output range
(*SPC section) and see if the problem
recurs.
For large spectral ranges (output spectra spanning 100 cm-1 or
more) the memory size is likely to be determined by the 2D arrays in module
fulcom_dat.f90, e.g. TRAFUL(NFUL,MTAN), where
- NFUL
- is the total number of fine grid points across the
entire spectral range (approx NFIN ×
output range in cm-1),
- MTAN
- is the total number of tangent rays, which is the product of
the number of viewing directions specified in the
*TAN section, the number of paths required
for field-of-view convolution (*FOV) and
the number of different Jacobians
(*JAC).
The following arrays are likely to determine the overall memory requirements
of the RFM.
- ABSFIN(NFIN,NCLC) etc in fincom_dat.f90
- NFIN is the number of fine grid points within a 1 cm-1
interval. The default value is 2000, but it can be altered by the
*FIN section, and much larger values may
be required to resolve Doppler widths in the microwave region.
- NCLC is the number of 'calculated paths', which is approximately
the product of
(number of absorbers) ×
(number of atmospheric layers) ×
(number of tangent paths).
- CYC(NCYC) in hitcom_dat.f90
- This is the buffer which stores all spectroscopic lines within
1 cm-1 of the current interval being calculated.
This starts with a size NCYC=1000 and
is expanded as required (in increments of 50%), with messages in the
rfm.log file
W-REACYC: NCYC being increased to NCYC=...
But for certain molecules with very dense line spectra this can get rather
large.